局域网设计/中继器和网桥
中继器和集线器[1]是物理层互连的网络设备,它只接收和传播比特序列。互连的物理层通道也可以具有不同的技术(例如,双绞线到光纤),但所有上层必须相等(例如,仅以太网,仅 FDDI)。
中继器还执行信号衰减恢复功能:它与方波信号同步,并重新生成它以对其进行清理。帧前面的前导码用于同步,即信号识别,因此每当信号穿过中继器时,该前导码的一部分就会“被吃掉”→在级联中连接超过 4 个中继器是不可能的。
冲突域是竞争访问相同传输介质的一组节点→同时传输会导致冲突。互连两个网络段会创建一个冲突域:中继器无法识别被传播到所有端口的冲突→这是物理域大小的限制。
网桥和交换机是数据链路层互连的网络设备,它们存储(存储转发模式)然后重新生成帧。互连的数据链路层域也可以具有不同的技术(例如,以太网到 FDDI)。
- 最大帧大小问题
在实践中,由于最大帧大小相关的问题,互连两种不同的数据链路层技术通常是不可能的:例如,在以太网为基础的网络中,MTU = 1518 字节与以令牌环为基础的网络互连,MTU = 4 KB,如果来自令牌环网络的帧大于 1518 字节会发生什么?此外,数据链路层不存在分片。
网桥将广播域与冲突域解耦
- 它“拆分”了冲突域:它实现 CSMA/CD 协议来检测冲突,避免将其传播到其他端口;
- 它扩展了广播域:以广播发送的帧会传播到所有端口。
在两个节点之间的数据链路层上的点对点链路(例如,主机和网桥)可以通过两种方式执行
- 半双工模式:两个节点通过一根双向线连接→每个节点不能同时传输和接收,因为会发生冲突;
- 全双工模式:两个节点通过两根独立的单向线连接→每个节点可以同时传输和接收,这要归功于冲突域的拆分。
- 全双工模式的优点
- 更高带宽:两个节点之间的吞吐量加倍;
- 没有冲突
- CSMA/CD 协议不再需要启用;
- 对最小以太网帧大小的限制不再需要;
- 对冲突域最大直径的限制不再存在(唯一距离限制是通道的物理距离)。
路由以透明方式执行:网桥尝试通过填充名为过滤数据库的转发表来学习连接到它的节点的位置,该表的条目具有以下格式
其中目标端口是网桥的端口,由学习算法学习,用于使帧退出并朝关联的目标 MAC 地址前进。
- 学习算法
- 帧转发:学习基于目标 MAC 地址:当到达一个目标不在过滤数据库中的帧时,网桥会在除输入端口外的所有端口上以广播方式发送该帧(泛洪),并等待目的地很可能发回的回复,反向学习算法将对此进行处理;
- 反向学习:学习基于源 MAC 地址:当帧到达某个端口时,网桥会检查过滤数据库中是否已存在与该端口关联的源,如果需要,则更新它。
智能转发过程增加了网络总带宽:帧不再始终以广播方式传播到所有端口,而仅转发到目标端口,使其他链路同时传输其他流量。
老化时间允许保持过滤数据库更新:它在条目由反向学习算法创建或更新时设置为 0,并随着时间的推移而增加,直到超过过期时间,然后删除该条目。这样,过滤数据库仅包含有关实际上位于网络中的站点的的信息,从而摆脱有关旧站点的的信息。
数据链路层网络原生支持移动性:如果站点移动,仍然在同一个 LAN 内,因此可以通过另一个端口访问,则网桥必须通过发送任何广播帧(例如,ARP 请求)来“通知”移动,以便反向学习算法可以修复过滤数据库。Windows 系统往往比 UNIX 系统更“健谈”。
可以移动的站点示例
- 手机;
- 数据中心中的虚拟机:白天,它们可以分布在多个 Web 服务器上以分发工作负载,晚上,它们可以集中在同一个 Web 服务器上,因为流量较低,可以节省电力;
- 通过两个链路连接到网络的站点,一个主链路在正常情况下使用,一个备用链路是容错的:当主链路断开时,主机可以通过备用链路发送广播帧来恢复连接。
'交换机'是赋予具有高级功能的网桥的商业名称,以强调其更高的性能
- 交换机是多端口网桥:交换机具有更多端口,通常都处于全双工模式,比网桥多;
- 智能转发过程不再是软件组件,而是实现到硬件芯片中(生成树算法仍然在软件中实现,因为更复杂);
- 在过滤数据库中查找与给定 MAC 地址关联的端口更快,这要归功于使用内容可寻址存储器 (CAM),但 CAM 的成本更高,能耗也更高;
- 交换机支持直通转发技术,比存储转发模式更快:在接收目标 MAC 地址后,帧可以立即转发到目标端口(除非该端口已被占用)。
网桥存在可扩展性问题,因为它们无法组织流量,因此不适合复杂网络(例如广域网)
- 没有对广播流量的过滤→在拥有大量主机的广域网中,广播帧可能会堵塞网络;
- 生成树算法使一些会创建拓扑结构中的环路的链路完全未使用,从而不利于负载均衡: 局域网设计/生成树协议#可扩展性.
对过滤数据库的一些攻击是可能的。
- MAC地址泛洪攻击
攻击者会生成带有随机源MAC地址的帧→ 过滤数据库会被不存在的设备的MAC地址填满,而存在的设备的MAC地址会被丢弃→ 网桥会将来自存在设备的几乎所有帧进行泛洪(因为网桥无法识别目标MAC地址了)→ 网络速度下降,且攻击者几乎可以接收网络中的所有流量。[2]
- 数据包风暴
攻击者会生成带有随机目标MAC地址的帧→ 网桥会将来自攻击者的所有帧进行泛洪(因为网桥无法识别目标MAC地址)→ 网络速度下降。