网桥与以太网交换机
第 3 章的收尾节,也是本章错题最集中的一节。交换机的题几乎全部围绕一句话出:交换机隔离冲突域,但不隔离广播域。 冲突域和广播域的个数、每个用户能分到多少带宽、交换机该放在哪个网里、一个帧从物理层上能被谁收到——都是这句话换着角度问。
另一个稳定考点是自学习(2014、2016、2021 年考过过程)和直通交换的转发时延(2013)。
机制
*网桥:在数据链路层扩展以太网
用集线器在物理层扩展以太网,会形成更大的冲突域——集线器只是把比特转发到所有其他接口,连在上面的所有站仍在争用同一条信道。为了避免这个问题,可以使用网桥在数据链路层扩展以太网,原来的每个以太网称为一个网段。
用网桥扩展时,不会把原本独立的两个冲突域合并成一个更大的冲突域。原因在于网桥能识别帧和转发帧:它根据帧首部中的目的 MAC 地址和网桥的帧转发表来转发或丢弃所收到的帧,起到过滤通信量的作用。各网段相对独立,一个网段的故障不影响另一个网段的运行。
具体地说,网络 1 和网络 2 通过网桥连接后,网桥收到网络 1 发来的帧,检查帧中的地址:若是网络 2 的地址,就转发给网络 2;若是网络 1 的地址,就丢弃——源站和目的站处于同一网段,目的站能直接收到这个帧,不需要网桥转发。
网桥是早期的数据链路层设备,现已被以太网交换机取代,最新大纲已将其删除(教材标 *)。它的价值在于引出交换机:交换机就是一个多接口的网桥。
以太网交换机:多接口网桥
以太网交换机也称二层交换机,“二层”指它工作在数据链路层。它实质上是一个多接口的网桥,能将网络分成小的冲突域,为每个用户提供更大的带宽。
带宽的差别是交换机最大的优点。对于使用集线器的共享式 10Mb/s 以太网,若共有
交换机的特点(2015 年考过):
- 接口直接与主机或其他交换机连接时,通常都工作在全双工方式。
- 具有并行性,能同时连通多对接口,使每对相互通信的主机都能像独占通信介质那样无冲突地传输数据,这样就不需要使用 CSMA/CD 协议。
- 接口连接集线器时,只能使用 CSMA/CD 协议且只能工作在半双工方式。当前的交换机和网卡都能自动识别这两种情况。
- 是一种即插即用设备,内部的帧转发表是通过自学习算法,基于网络中各主机间的通信自动逐渐建立的。
- 使用专用的交换结构芯片,交换速率较高。
直通交换与存储转发交换
以太网交换机主要采用两种交换模式(2013 年考过直通交换的转发时延):
直通交换:接收到帧的同时,立即按帧的目的 MAC 地址决定转发接口。转发时延非常小,缺点是不检查差错就直接转发,可能把一些无效帧转发给其他站。直通交换不适用于需要速率匹配、协议转换或差错检测的线路。
存储转发交换:先把接收到的帧缓存起来,检查帧是否正确(可能还要进行速率匹配或协议转换),确认无误后再根据目的 MAC 地址决定转发接口;若帧出错则丢弃。优点是可靠性高,且支持不同速率接口之间的转换,缺点是时延较大。交换机一般都有多种速率的接口,如 10Mb/s、100Mb/s 的接口以及多速率自适应接口。
两种方式的时延差别可以直接算出来:直通交换至少要读完决定转发接口所需的信息,也就是帧首部最前面的 6 字节目的 MAC 地址;存储转发至少要读完整个帧。见下面的计算模板。
自学习:交换表是怎么长出来的
决定一个帧是转发到某个接口还是丢弃,称为过滤;决定一个帧应被移至哪个接口,称为转发。交换机的过滤和转发借助交换表完成,交换表的一个表项至少包含:①一个 MAC 地址;②连通该 MAC 地址的接口。交换机转发决策使用的是目的 MAC 地址(2009 年考过”转发决策时使用的 PDU 地址”)。
设交换机有 4 个接口,各连一台计算机,MAC 地址分别为 A、B、C、D,交换表初始为空:
sequenceDiagram participant A as A(接口 1) participant SW as 交换机 participant B as B(接口 3) participant CD as C、D(接口 2、4) A->>SW: 帧:A → B Note over SW: 查表找不到 B<br/>记下(A,1) SW->>B: 从除接口 1 外的所有接口广播 SW->>CD: 同上 Note over CD: 目的地址不匹配,丢弃 B->>SW: 帧:B → A Note over SW: 查到(A,1)<br/>记下(B,3) SW->>A: 只从接口 1 转发,不再广播
A 先向 B 发送一帧,从接口 1 进入交换机。交换机查找交换表,找不到 MAC 地址为 B 的表项,于是把该帧的源地址 A 和接口 1 写入交换表,并向除接口 1 外的所有接口广播这个帧(该帧从接口 1 进入,就不该再从接口 1 转发出去)。C 和 D 因目的地址不匹配而丢弃该帧,只有 B 收下。写入(A,1)之后,从任何接口收到目的地址为 A 的帧,都应从接口 1 转发出去——既然 A 发出的帧从接口 1 进入交换机,那么从接口 1 转发出去的帧也应能到达 A。
接下来 B 通过接口 3 向 A 发送一帧,交换机查到表项(A,1),将该帧从接口 1 转发给 A,不必再广播;同时写入(B,3)。经过一段时间,只要 C 和 D 也向其他主机发送帧,交换表就会补全。
学习用源地址,转发用目的地址,这是自学习的全部要义。由于交换机所连的主机会随时变化,交换表的每个表项都设有一定的有效时间,过期表项自动删除,这保证了交换表中的数据符合当前网络的实际状况。这种自学习算法使交换机能够即插即用,不必手工配置。
共享式以太网与交换式以太网
设交换机已通过自学习建立了完整的转发表,比较使用集线器的共享式以太网与全部使用交换机的交换式以太网(2016 年考过集线器与交换机连接的网段的区别):
| 情形 | 集线器(共享式) | 交换机(交换式) |
|---|---|---|
| 主机发普通帧 | 转发到其他所有接口,各主机网卡按目的 MAC 决定接收或丢弃 | 按目的 MAC 和交换表明确地转发给目的主机 |
| 主机发广播帧 | 转发到其他所有接口,各主机检测到广播地址就接收 | 从其他所有接口转发,各主机收到后接收 |
| 多对主机同时通信 | 必然产生冲突 | 多对接口高速并行交换,不会冲突 |
广播帧那一行值得停一下:两种情况的效果相同,但原理不同。集线器转发所有帧,广播帧也不例外;交换机只对广播帧(以及查不到的目的地址)才向所有接口转发。于是得到本节的核心结论(2020、2022 年考过):
冲突域与广播域的完整定义,以及路由器”两者都隔离”,见 4.7.1 冲突域和广播域。
计算模板
冲突域与广播域的个数
- 广播域:只有路由器(以及 VLAN)能切开广播域。数一数被路由器接口隔开的区域,没有路由器、没有 VLAN 就是 1 个。
- 冲突域:交换机(网桥)的每个接口是一个冲突域;集线器下挂的所有站合起来算一个。
| 设备(16 个接口) | 冲突域 | 广播域 |
|---|---|---|
| 集线器 | 1 | 1 |
| 交换机 | 16 | 1 |
| 路由器 | 16 | 16 |
错题复盘:16 口集线器是 1 个冲突域、1 个广播域;16 口交换机是 16 个冲突域、1 个广播域
王道 3.8.3 第 8 题:一个 16 接口的集线器的冲突域和广播域的个数分别是(A. 16,1 B. 16,16 C. 1,1 D. 1,16)。答案 C。
王道 3.8.3 第 9 题:一个 16 个接口的以太网交换机,冲突域和广播域的个数分别是(A. 1,1 B. 16,16 C. 1,16 D. 16,1)。答案 D。
物理层设备(中继器和集线器)既不能分割冲突域,也不能分割广播域,所以集线器无论多少个接口都是 1 和 1。以太网交换机的各接口之间都是冲突域的终止点,但交换机不隔离广播,所以是 16 和 1。
两题并排放是有意的:接口数只影响交换机的冲突域个数,对集线器的两个数、交换机的广播域个数都没有影响。
直通交换的转发时延
注意帧”不包括前导码”:前导码由物理层处理,不属于帧,也不参与转发决策。
错题复盘:直通交换至少要读完 6 字节的目的 MAC 地址才能转发
2013 年统考真题(王道 3.8.3 第 18 题):对于 100Mb/s 的以太网交换机,当输出端口无排队、以直通交换方式转发一个以太网帧(不包括前导码)时,引入的转发时延至少是(A. 0μs B. 0.48μs C. 5.12μs D. 121.44μs)。答案 B。
直通交换的输入接口接收到一个帧时,只检查帧的目的 MAC 地址就决定输出接口,所以引入的转发时延至少为读取目的 MAC 地址所需的时间:
。 其余选项各有来路:A 把直通交换当成零时延;C 是 64 字节最短帧的发送时间(
),对应的是存储转发一个最短帧;D 是 1518 字节最长帧的发送时间,对应存储转发一个最长帧。看清题目问的是哪种交换方式、“至少”读多少。
自学习过程的追踪
- 帧进入交换机:先用源地址学习,把(源 MAC,进入接口)写入交换表。
- 再用目的地址转发:表中有,就只从对应接口转发(若对应接口就是进入接口,则丢弃);表中没有,就从除进入接口外的所有接口转发(洪泛)。
- 集线器下挂的站点:交换机只看到”那个接口”,集线器会把帧转发给它下面的所有站。
例(2014 真题,王道 3.8.3 第 19 题):交换机转发表初始只有(…23-b1,2)。主机 …23-a1(接口 1)向 …23-c1(接口 3)发数据帧,c1 收到后向 a1 发确认帧。第一帧:学习(a1,1),查不到 c1,从接口 2、3 转发;第二帧:查到(a1,1),只从接口 1 转发。答案 {2,3} 和 {1},选 B。
例(2016 真题,王道 3.8.3 第 21 题):H1、H2 和路由器接在交换机上,交换机另一个接口接集线器,集线器下挂 H3、H4。H2 向 H4 发送数据帧后,H4 立即向 H2 发送确认帧,从物理层上能收到这个确认帧的主机(除 H4 外)有哪些?H2 发帧时交换机已学到(H2,H2 所在接口);确认帧先到集线器,集线器向除输入接口外的所有接口转发,H3 在物理层上收到;再到交换机,交换机查表只转发给 H2。答案仅 H2、H3,选 D。
边界
交换机的每个接口带宽是独占的,与用户数无关。
错题复盘:交换式 10Mb/s 以太网中每个用户独占 10Mb/s
王道 3.8.3 第 10 题:对于由交换机连接的 10Mb/s 以太网,若有 10 个用户,则每个用户能占有的带宽为(A. 1Mb/s B. 2Mb/s C. 10Mb/s D. 100Mb/s)。答案 C。
对于集线器连接的 10Mb/s 共享式以太网,
个用户每人平均只有 。采用交换机连接时,虽然每个接口到主机的带宽还是 10Mb/s,但一个用户通信时独占带宽,而不是和其他用户共享,所以每个用户仍可得到 10Mb/s。 A 是把交换机当成集线器算出来的。
只属于共享式以太网。
交换机该放在哪里,看的是本地通信量。 交换机的好处在于把网段间的通信隔开、让多对主机并行通信;如果绝大部分通信都要出局域网,瓶颈在出口而不在局域网内部。
错题复盘:本地通信量占大头的局域网才该用交换机
王道 3.8.3 第 12 题:以太网 A 中 80% 的通信量在本局域网内进行,其余 20% 在本局域网与因特网之间进行,以太网 B 正好相反。两个局域网一个用集线器、一个用交换机,交换机应放置的局域网是(A. 以太网 A B. 以太网 B C. 任意以太网 D. 都不合适)。答案 A。
交换机能将网络分成较小的冲突域,而集线器连接的设备属于同一个冲突域。当局域网中 80% 的通信量在本网内进行时,若使用集线器,会增加冲突和延迟、降低整个网络的效率;使用交换机把不同网段的通信隔开,才能提高网络性能。以太网 B 的 80% 通信量要走向因特网,都挤在同一个出口上,局域网内部并行的好处发挥不出来。
交换机按 MAC 地址转发,不隔离广播域,多个接口可以并行。
错题复盘:交换机的多个接口可以并行传输,但交换机不隔离广播域,也不按 LLC 地址转发
王道 3.8.3 第 13 题:在使用以太网交换机的局域网中,正确的是(A. 局域网中只包含一个冲突域 B. 交换机的多个接口可以并行传输 C. 交换机可以隔离广播域 D. 交换机根据 LLC 目的地址转发)。答案 B。
交换机可以隔离冲突域,它的每个接口所连接的网段都属于不同的冲突域,A 错。交换机在同一时段内能支持多个接口之间的并行通信而不相互干扰,因为它内部有一条高带宽的背部总线和一个内部交换矩阵,可以根据帧的目的 MAC 地址快速地把帧转发到相应接口,B 对。交换机不能隔离广播域,C 错。LLC 是逻辑链路控制,位于 MAC 层之上,用于向网络层提供接口、隐藏各种 802 网络之间的差异,交换机是按 MAC 地址转发的,D 错(LLC 见 3.6.1)。
VLAN 同时隔离冲突域和广播域。 交换机本身不隔离广播域,但借助交换机实现的 VLAN 可以——这两句话放在一起最容易看串。
错题复盘:VLAN 不仅能隔离冲突域,还能隔离广播域
王道 3.8.3 第 2 题:关于数据链路层设备,错误的是(A. 交换机将网络划分成多个网段,一个网段的故障不会影响到另一个网段的运行 B. 交换机可互连不同的物理层、不同的 MAC 子层及不同速率的以太网 C. 交换机的每个接口节点所占用的带宽不会因为接口节点数量的增加而减少,且整个交换机的总带宽会随着接口节点的增加而增加 D. 利用交换机可以实现 VLAN,VLAN 可以隔离冲突域,但不能隔离广播域)。答案 D。
C 描述的正是交换机的最大优点(每接口独占带宽、总容量为
倍)。D 的前半句”利用交换机可以实现虚拟局域网”是对的,错在后半句:每个 VLAN 就是一个较小的广播域,VLAN 不仅可以隔离冲突域,还可以隔离广播域。 这道题的陷阱在于借用了”交换机不隔离广播域”这句正确的话。交换机不隔离,不等于用交换机做出来的 VLAN 也不隔离。VLAN 的机制见 3.6.4。
交换机不能互连采用不同网络层协议的网络。 交换机工作在数据链路层,能互连不同物理层、不同 MAC 子层和不同速率的以太网(上题 B 正确),但不同网络层协议的网络互连要靠路由器(2015 年真题,王道 3.8.3 第 20 题)。
口径差异:交换表的有效时间与交换机环路
教材口径:交换表每个表项设有一定的有效时间,过期自动删除;交换机即插即用,不必手工配置。
工程口径:交换机的 MAC 地址表老化时间常见默认值为 300 秒。多台交换机若连成环路,广播帧会在环上无限循环形成广播风暴,实际网络用生成树协议(STP)阻断冗余链路——这部分已不在 408 大纲内,但它解释了”即插即用”在真实网络里的前提。
对照速查
| 设备 | 层次 | 隔离冲突域 | 隔离广播域 |
|---|---|---|---|
| 中继器、集线器 | 物理层 | ❌ | ❌ |
| 网桥、交换机 | 数据链路层 | ✅ | ❌ |
| 路由器 | 网络层 | ✅ | ✅ |
| 直通交换 | 存储转发交换 | |
|---|---|---|
| 何时决定转发 | 读到目的 MAC 地址后立即 | 收完整帧并检查无误后 |
| 检查差错 | ❌ | ✅ |
| 速率匹配、协议转换 | ❌ | ✅ |
| 最小转发时延 | 6B 目的地址的读取时间 | 整帧的读取时间 |
| 说法 | 对错 |
|---|---|
| 交换机实质上是一个多接口的网桥 | ✅(2015) |
| 交换机转发决策使用目的 MAC 地址 | ✅(2009) |
| 交换机自学习记录的是目的 MAC 地址与接口 | ❌(记录源 MAC 与进入接口) |
| 交换表中查不到目的地址时丢弃该帧 | ❌(从除进入接口外的所有接口转发) |
| 通过交换机连接的一组工作站组成一个冲突域 | ❌(组成一个广播域,不是一个冲突域) |
| 交换机接口连接集线器时可以工作在全双工 | ❌(只能半双工,使用 CSMA/CD) |
考点
- 交换机 = 多接口网桥,工作在数据链路层;隔离冲突域、不隔离广播域(2020、2022)
- 16 口集线器 1,1;16 口交换机 16,1
- 共享式每用户
,交换式每用户独占; 口交换机总容量 单口速率 - 直通交换至少读 6B 目的 MAC(2013:0.48μs);存储转发至少读整帧
- 自学习:源地址学习、目的地址转发、查不到就洪泛(2014、2016、2021);转发决策用目的 MAC(2009)
- 交换机特点(2015):全双工、并行、接集线器时半双工 + CSMA/CD、即插即用、专用芯片
链接
- 🏠 返回总览:计算机网络第 3 章:数据链路层总览
- ⬅️ 上一节:3.7 广域网与点对点协议
- 🔗 3.6.4 VLAN(借助交换机隔离广播域)
- 🔗 4.7.1 冲突域和广播域(路由器两者都隔离)
- 📖 名词库:第 3 章名词库