Appearance
题目
对于 100 Mbps 的以太网交换机,当输出端口无排队,以直通交换(cut-through switching)方式转发一个以太网帧(不包括前导码)时,引入的转发延迟至少是( )。
错因
A
误以为直通交换"零延迟"——直通确实快,但**仍需读完目的 MAC(前 6 字节)**才能查表决定转发到哪个端口,这 6 字节的接收时间是必须的。错的根源:把"几乎零延迟"等同于"零延迟"。
C
把直通交换错算成存储转发的最小帧延迟:64 字节最小帧 / 100 Mbps = 5.12 μs。存储转发要收完整帧(含 FCS)再转发,本题用直通交换不需要等整帧。错的根源:混淆直通和存储转发两种方式。
D
把直通交换错算成最大帧的存储转发延迟:1518 字节最大帧 / 100 Mbps = 121.44 μs。同 C 一样混淆方式。错的根源:直通的特点就是不读完整帧,远小于存储转发。
总解析
第一步:理清两种交换方式
| 方式 | 何时开始转发 | 等待 |
|---|---|---|
| 直通(cut-through) | 读完目的 MAC(前 6 字节)即开始转发 | 仅 6 字节 |
| 存储转发(store-and-forward) | 收完整个帧 + 校验 FCS | 整帧 |
直通交换的"延迟"= 收下目的 MAC 这 6 字节的时间。
第二步:以太网帧结构(不含前导码)
| 字段 | 字节数 |
|---|---|
| 目的 MAC | 6 |
| 源 MAC | 6 |
| 类型 / 长度 | 2 |
| 数据 | 46 ~ 1500 |
| FCS | 4 |
直通交换只需读完目的 MAC 这 6 字节就能查表,立刻把后面收到的字节边收边转发出去。
第三步:算 6 字节在 100 Mbps 下的传输时间
第四步:核对
| 选项 | 时间 | 含义 |
|---|---|---|
| A | 0 μs | 假设零延迟(错) |
| B | 0.48 μs | 6 字节 / 100 Mbps(正确) |
| C | 5.12 μs | 64 字节最小帧 / 100 Mbps(存储转发) |
| D | 121.44 μs | 1518 字节最大帧 / 100 Mbps(存储转发) |
最终答案是 B(0.48 μs)。
编者注(生僻术语):以太网交换机的三种转发方式(按速度递减):
- 直通(cut-through):读 6 字节即转发,最快但不能检错(坏帧也会被转发)
- 无碎片直通(fragment-free):读 64 字节(最小帧长)后转发,能过滤碰撞产生的"碎片帧"
- 存储转发(store-and-forward):读完整帧 + FCS 校验,最稳但延迟最大;现代交换机默认这种方式
本题考的是直通方式的理论最小延迟。注意题面"前导码不包括"——前导码 8 字节(7 字节 preamble + 1 字节 SFD)是物理层同步用,不属于数据链路层帧的内容,所以不计入转发延迟。