Appearance
题目
现有一 10BaseT 以太网,甲乙处于同一个冲突域,连续发生 11 次冲突,甲再次发送的最大时间间隔为( )。
错因
A
把 10BaseT 的时间槽(slot time)单位记错了——错以为是 0.512 ms(实际是 51.2 μs,差 10 倍)。10BaseT 的时间槽 = 512 bit / 10 Mbps = 51.2 μs,对应 IEEE 802.3 规定的"以太网最小帧 64 字节 = 512 bit"在 10 Mbps 下的传输时间。选 A 的人可能把"512 bit / 10 Mbps"算出 51.2 μs 后又错把 μs 写成 ms。
B
误把"11 次冲突"等同于"退避 11 个时间槽"——直接算 μs ms。这是没用上二进制指数退避(BEB)算法的常见错法。BEB 的退避区间是 ,,其中 是冲突次数;选 B 的人可能完全跳过了这个指数关系。
D
对了一半但漏掉了 BEB 的"指数封顶"规则——按 算最大退避 μs ms。但 IEEE 802.3 明确规定:当冲突次数 时, 不再继续翻倍,钳制在 。选 D 的人忽略了这个工程上的封顶(防止单次退避无限放大)。记忆要点:i 第 10 次开始 不再变大;i 第 16 次后还冲突就放弃这帧。
总解析
第一步:明确 10BaseT 的时间槽
10BaseT 是 10 Mbps 以太网,时间槽 (亦称"争用期")= 最小帧时间:
第二步:套用二进制指数退避算法(BEB)
发生第 次冲突后,发送方在区间 中等概率随机抽一个整数 ,退避时间 ,其中:
封顶在 10 是 IEEE 802.3 标准规定的——超过 10 次冲突后 不再增长,区间稳定在 ,避免退避时间无限膨胀。第 16 次仍冲突则放弃帧。
第三步:代入第 11 次冲突
,退避区间为 。
题问"最大时间间隔" → 取 最大值 :
最终答案是 C(52.3776 ms)。
编者注(生僻术语):"时间槽"在 802.3 体系里有一个工程化定义——不是物理时钟周期,而是端到端往返冲突检测最坏时间:发送方发出最早一比特,传到最远点(约 2.5 km),万一对端那时也开始发会立刻撞,撞后告知本端最迟 后才感知到。这个 就是时间槽,10BaseT 标定为 51.2 μs,对应 512 bit 的传输时间——也即"最小帧 64 字节"的来历(保证发送方在帧发完前能检到冲突)。