引言:为什么需要在数据链路层进行网络互连?
在我们开始之前,先想一个问题:为什么我们需要网桥、交换机这些设备?
想象一下,一个最简单的局域网就是用一根很长的电缆(比如同轴电缆)把所有电脑连起来。这样做有几个很明显的问题:
物理距离有限: 一根电缆不可能无限长。
设备数量有限: 连接的设备越多,信号质量越差。
性能问题: 所有设备共享一根“马路”,任何时候只能有一台设备“说话”(发送数据),否则就会“撞车”(冲突)。设备越多,冲突越严重,网络效率越低。
广播问题: 任何一台设备发送一个广播(比如找另一台设备),网络里所有的设备都会收到,非常浪费资源。
为了解决这些问题,我们就需要在数据链路层(也就是第二层)上,使用一些聪明的设备把一个大的、低效的网络,分割成多个小的、高效的网络段,同时还能让它们之间互相通信。这就是“数据链路层网络互连”的核心目的。
我们将要学习的设备主要有两个:网桥(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是为了防止二层环路,其方法是逻辑上阻塞冗余端口形成一棵无环树。
















暂无评论内容