计算机网络——网桥

引言:为什么需要在数据链路层进行网络互连?

在我们开始之前,先想一个问题:为什么我们需要网桥、交换机这些设备?

想象一下,一个最简单的局域网就是用一根很长的电缆(比如同轴电缆)把所有电脑连起来。这样做有几个很明显的问题:

物理距离有限: 一根电缆不可能无限长。
设备数量有限: 连接的设备越多,信号质量越差。
性能问题: 所有设备共享一根“马路”,任何时候只能有一台设备“说话”(发送数据),否则就会“撞车”(冲突)。设备越多,冲突越严重,网络效率越低。
广播问题: 任何一台设备发送一个广播(比如找另一台设备),网络里所有的设备都会收到,非常浪费资源。

为了解决这些问题,我们就需要在数据链路层(也就是第二层)上,使用一些聪明的设备把一个大的、低效的网络,分割成多个小的、高效的网络段,同时还能让它们之间互相通信。这就是“数据链路层网络互连”的核心目的。

我们将要学习的设备主要有两个:网桥(Bridge)二层交换机(Switch)


第一站:网桥 (Bridge) – 智能的交通警察

网桥是早期用来扩展局域网的设备。你可以把它想象成连接两条马路(两个网络段)的智能交通警察。它工作在数据链路层,能看懂数据帧里的“车牌号”——也就是MAC地址

网桥的核心工作原理

网桥连接着两个或多个网络段,它有几个接口,每个接口连接一个网段。它的工作非常智能,遵循以下原则:

接收与检查: 网桥从一个接口接收到一个数据帧,首先会查看帧里的目的MAC地址
做出决策(转发或过滤):

过滤 (Filter): 网桥会查看自己的“地址记录本”(我们称之为MAC地址表转发表)。如果发现这个目的MAC地址就在刚刚接收帧的那个网段上,就说明这是“内部通话”,没必要把这个帧转发到其他网段去。于是,网桥会把这个帧丢弃,不让它占用其他网段的带宽。这极大地减少了不必要的网络流量。
转发 (Forward): 如果网桥在地址记录本里查到,目的MAC地址位于另一个网段,它就会把这个帧从连接那个网段的接口转发出去。
扩散/广播 (Flood): 如果网桥在地址记录本里查不到这个目的MAC地址(说明它还不认识这个设备),或者这个帧本身就是一个广播帧(目的MAC地址是 FF-FF-FF-FF-FF-FF),它就会把这个帧转发到除了来源接口之外的所有其他接口,确保目标设备能收到。

网桥如何学习?—— 透明网桥与逆向学习法

你可能会问,网桥的那个“地址记录本”(MAC地址表)是怎么来的?总不能让网络管理员一个个手动输入吧?

当然不用!现代的网桥(特别是透明网桥)非常聪明,它会自动学习。这个学习过程被称为逆向学习算法 (Backward Learning Algorithm)

学习过程: 网桥会偷听每个经过它的数据帧。当一个帧从接口1进来时,网桥会查看这个帧的源MAC地址。它心里就会想:“哦,原来MAC地址为 XXXX 的这台设备是连接在接口1这个网段上的!” 于是,它就在自己的MAC地址表里记下:MAC地址XXXX -> 接口1
举例说明:

初始状态,网桥B1的地址表是空的。
主机A发送一个帧给主机B。网桥B1从接口1收到这个帧。
B1查看源地址是A,于是在表中记下 {A, 1}
B1查看目的地址是B,但在表中查不到B。于是,它将这个帧从接口2转发出去(扩散)。
过了一会,主机B回复一个帧给主机A。网桥B1从接口2收到。
B1查看源地址是B,于是在表中记下 {B, 2}
B1查看目的地址是A,查表发现A在接口1,于是将帧从接口1转发出去。

老化机制: 为了应对网络拓扑的变化(比如一台电脑换了位置),地址表中的条目都有一个“保质期”(计时器)。如果一个地址很久没有“音讯”(即没有来自该地址的帧),网桥就会把它从表中删除,以保证表的准确性。

网桥的优缺点

优点:

过滤通信量: 隔离了网段间的流量,提高了网络整体性能。
扩大了物理范围: 可以连接更多的设备,组成更大的网络。
隔离冲突域: 这是考试重点!网桥的每个接口所连接的网段都是一个独立的冲突域。这意味着网段A内的设备冲突不会影响到网段B,反之亦然。这大大提高了网络效率。
连接不同类型的网络: 可以连接不同物理层或MAC子层的局域网,例如连接一个以太网和一个令牌环网。

缺点:

增加了时延: 因为需要存储和检查帧,会带来一定的处理延迟。
无法隔离广播域: 网桥对广播帧(和未知的单播帧)是直接转发的。所以,通过网桥连接的所有网段仍然属于同一个广播域。如果网络中广播信息过多(称为“广播风暴”),网桥也无能为力,整个网络的性能还是会下降。
不适合大型网络: 对于用户数多、通信量大的网络,网桥会成为性能瓶颈。


第二站:处理环路 – 生成树协议 (Spanning Tree Protocol, STP)

为了提高网络的可靠性,管理员有时会故意在网桥之间设置冗余链路,形成一个环路。这样,当一条路断了,数据可以走另一条路。但这对简单的透明网桥来说,简直是一场灾难

环路的问题

想象一下,一个广播帧进入到一个有环路网络中。网桥A会把它转发给网桥B,网桥B又会把它发回来给网桥A,这个帧就会像个幽灵一样在环路里无限循环,并且被不断复制,最终导致“广播风暴”,网络彻底瘫痪。

STP的解决方案

为了解决这个问题,IEEE 802.1D标准定义了生成树协议(STP)。它的核心思想非常巧妙:

在物理上保留环路以作为备份,但在逻辑上 “剪掉” 一些链路,将网络拓扑修剪成一棵没有环路的“树”。当主路径出现故障时,再自动激活被“剪掉”的备份链路,恢复网络通信。

STP是如何工作的?(考试要点)

STP通过网桥之间交换一种叫做BPDU (Bridge Protocol Data Unit) 的特殊信息帧来完成工作。整个过程可以简化为以下几步:

选举一个“总指挥”——根网桥 (Root Bridge):

网络中所有的网桥会比较各自的ID(通常是优先级+MAC地址),ID最小的那个网桥成为根网桥。它是整个生成树的“树根”。

每个非根网桥选择一个“最佳上报路径”——根端口 (Root Port):

每个非根网桥上,会计算自己到根网桥的“路费”(路径开销)。“路费”最低的那个端口,就是根端口。它负责接收来自根网桥方向的数据。

每个网段选择一个“指定负责人”——指定端口 (Designated Port):

在每一个网络段(LAN)上,会选出一个离根网桥“路费”最低的网桥作为这个网段的指定网桥,这个网桥连接此网段的端口就是指定端口。它负责向这个网段转发数据。

阻塞其余端口:

所有既不是根端口也不是指定端口的端口,都会被置为阻塞状态。这些端口不转发数据帧(但会监听BPDU),从而在逻辑上打破了环路。

通过这个过程,一个有环路的物理网络就被变成了一个无环路的逻辑树状网络,完美解决了帧循环问题。


第三站:现代化的网桥 – 二层交换机 (Layer 2 Switch)

随着技术的发展,网桥逐渐被二层交换机所取代。你可以简单地理解为:

二层交换机就是一个拥有非常多端口、并且用高速硬件(ASIC芯片)来实现转发的超级网桥

交换机的特性与优势

多端口: 交换机有几十甚至上百个端口,每个端口都可以连接一台主机或另一台交换机。
并行工作: 交换机内部有一个高速的“交换矩阵”,可以同时建立多对端口之间的连接。比如,端口1和端口5在通信时,端口2和端口8也可以同时通信,互不干扰,大大提高了网络的总吞吐量。
即插即用: 和透明网桥一样,交换机也使用逆向学习算法来自动建立和维护MAC地址表,使用非常方便。
隔离冲突域: 这是交换机相比于早期集线器(Hub)的最大优势,也是考试必考点。交换机的每个端口都是一个独立的冲突域。这意味着连接在不同端口的设备之间通信不会发生冲突,它们都可以独享端口的带宽。

重要对比:交换机 vs. 集线器

集线器 (Hub): 工作在物理层,像一个多路插座,把信号简单地复制到所有端口。所有端口共享总带宽,且都在同一个冲突域同一个广播域中。
交换机 (Switch): 工作在数据链路层,能识别MAC地址。每个端口是一个独立的冲突域,但默认情况下所有端口仍在同一个广播域中。

交换机转发模式

交换机转发帧有几种方式,了解它们的优缺点即可:

存储转发 (Store and Forward): 交换机接收整个数据帧,进行CRC错误校验,确认无误后再转发。优点是可靠,能防止错误帧扩散,并支持不同速率端口间的转换。缺点是延迟较大。
直通式 (Cut Through): 交换机只接收帧的前几个字节(包含目的MAC地址),不等帧完全接收就立刻开始转发。优点是延迟极小,速度快。缺点是无法检测错误,可能会转发坏帧。
无碎片模式 (Fragment Free): 这是前两者的折中。交换机接收帧的前64字节(以太网最小帧长),确认不是冲突产生的碎片后再转发。它比直通式可靠,比存储转发式快。


备考总结与要点回顾

好了,数据链路层网络互连的主要内容就是这些。为了让你更好地应对考试,我们来做一个最后的梳理:

特性/设备 集线器 (Hub) 网桥 (Bridge) 二层交换机 (Switch)
工作层次 物理层 (L1) 数据链路层 (L2) 数据链路层 (L2)
转发依据 无(信号复制) MAC地址 MAC地址
学习能力 有(逆向学习) 有(逆向学习)
冲突域 整个设备是一个冲突域 每个接口是一个冲突域 每个端口是一个冲突域
广播域 整个设备是一个广播域 整个设备是一个广播域 默认整个设备是一个广播域(可用VLAN划分)

考试核心考点:

网桥/交换机的工作原理: 一定要掌握它们如何根据目的MAC地址进行过滤、转发和扩散,以及如何根据源MAC地址进行学习
冲突域 vs. 广播域: 这是必考概念!要能清楚地说出集线器、网桥、交换机和路由器(三层设备)分别隔离了什么。

集线器: 不隔离任何东西。
网桥/交换机: 隔离冲突域,不隔离广播域。
路由器/三层交换机: 隔离广播域(也隔离冲突域)。

STP的目的和基本思想: 知道STP是为了防止二层环路,其方法是逻辑上阻塞冗余端口形成一棵无环树。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容