← Back to Learning Notes

3 题型 - CSMA CD相关信息计算

Chinese-language Computer Science 408 note: 3 题型 - CSMA CD相关信息计算. Original source available where applicable.

On this page

This note is currently available in Chinese. The original wording, formulas and diagrams are preserved to avoid an unverified technical translation.

描述:CSMA/CD 要求发送站在最坏情况下仍能在发完一帧前检测到远端冲突,因此最小帧发送时延不得小于冲突域的往返传播时延。常考量包括最小帧长、最大站间距离、Hub 延迟、争用期和二进制指数退避。

3.1 冲突检测与最小帧长

设冲突域内最远两站的单向传播时延为 $\tau$,链路传输速率为 $R$。最坏情况下,发送站要等信号传播到远端并让冲突信号返回,才能检测到碰撞:

$$t_{frame}\ge2\tau$$

因此:

$$L_{min}=2\tau R$$

若介质中的信号传播速度为 $v$、最远站间距离为 $d$:

$$\tau=\frac{d}{v},\qquad d_{max}=\frac{L_{min}v}{2R}$$

若路径中存在 Hub/中继器等设备延迟,往返延迟也必须计入:

$$t_{frame}\ge2(t_{prop}+t_{device})$$

3.2 经典以太网参数

  • 传统以太网争用期/时隙为 512 bit time。
  • 10 Mb/s 以太网的时隙长度为:

$$\frac{512,bit}{10,Mb/s}=51.2,\mu s$$

  • 以太网最小 MAC 帧为 64 B,即 512 bit;其中目的地址 6 B、源地址 6 B、类型/长度 2 B、FCS 4 B,数据和填充至少 46 B。
  • Hub 扩展同一个冲突域;交换机的不同端口隔离冲突域。全双工交换式以太网不使用 CSMA/CD。

3.3 历年真题

3.3.1 2009 年:最小帧长变化与距离变化

条件:$R=1,Gb/s$,电缆中的传播速度 $v=200000,km/s=2\times10^8,m/s$。最小帧长减少 $800,bit$。

由 $L_{min}=2dR/v$,最大距离的变化量为:

$$ \begin{aligned} \Delta d&=\frac{\Delta L\cdot v}{2R}\ &=\frac{800\times2\times10^8}{2\times10^9}\ &=80,m \end{aligned} $$

最小帧长变短会缩小允许的最大冲突域,所以距离应减少 80 m。

答案:D,减少 $80,m$。

3.3.2 2016 年:Hub 再生延迟

条件:Switch 和 Hub 均为 100Base-T 设备;Hub 再生比特流会产生 $1.535,\mu s$ 延迟,信号传播速度为 $200,m/\mu s$,求同一 Hub 冲突域内 H3 与 H4 的最远距离。忽略前导码。

100Base-T 仍使用 64 B 的最小 MAC 帧:

$$t_{frame}=\frac{64\times8}{100,Mb/s}=5.12,\mu s$$

最坏冲突检测时间等于往返时间,因此单向总预算为:

$$\frac{5.12}{2}=2.56,\mu s$$

单向路径中 Hub 占用 $1.535,\mu s$,留给电缆传播的时间为:

$$t_{prop}=2.56-1.535=1.025,\mu s$$

最大距离:

$$d=1.025,\mu s\times200,m/\mu s=205,m$$

答案:B,$205,m$。

3.3.3 2019 年:最小帧长求单向传播时延

条件:$R=100,Mb/s$,最小帧长 $128,B=1024,bit$。

$$\tau_{max}=\frac{L_{min}}{2R}=\frac{1024}{2\times100\times10^6}=5.12,\mu s$$

答案:B,$5.12,\mu s$。

3.3.4 2023 年:二进制指数退避

10Base-T 的争用时间片为 $51.2,\mu s$。二进制指数退避在第 $i$ 次碰撞后取:

$$k=\min(i,10)$$

再从离散整数集合中等概率选择:

$$r\in{0,1,\ldots,2^k-1}$$

退避时间为:

$$T_{backoff}=r\times51.2,\mu s$$

连续发生 4 次碰撞后,$k=4$,最大 $r=2^4-1=15$:

$$T_{max}=15\times51.2,\mu s=768,\mu s$$

答案:C,$768,\mu s$。

3.4 二进制指数退避补充

  • 第 1 次碰撞后从 ${0,1}$ 中选,等待 0 或 1 个时隙。
  • 第 2 次碰撞后从 ${0,1,2,3}$ 中选。
  • 当碰撞次数达到 10 后,$k$ 固定为 10,不再扩大取值上限。
  • 以太网连续碰撞 16 次后放弃发送,并向上层报告失败。
  • 题目问“最长等待时间”取 $r=2^k-1$;问平均等待时间则使用该均匀离散集合的均值。

3.5 易错点

  • 最小帧发送时延对应的是往返传播时延 $2\tau$,求单向时延时必须再除以 2。
  • 站间距离缩短会减小传播时延,因此允许使用更短的最小帧;两者同向变化。
  • Hub 的处理/再生延迟属于冲突检测往返延迟,不能只计算电缆传播。
  • 交换机隔离冲突域,图中只有同一 Hub 下的站点共享 CSMA/CD 冲突域。
  • 连续 4 次碰撞后的退避集合是 $0-15$,不是 $0-16$;最大等待为 15 个时隙。
  • 64 B 是以太网 MAC 帧最小长度,不包含前导码和帧开始定界符。

相关知识

3.6 本节复盘

  • CSMA/CD 的基本约束是 $L_{min}/R\ge2\tau$,故 $L_{min}=2\tau R$。
  • 最大距离由 $d_{max}=L_{min}v/(2R)$ 求得;设备延迟也要占用往返时间预算。
  • 传统以太网争用期为 512 bit time,10 Mb/s 下等于 $51.2,\mu s$。
  • 2016 年题在 $2.56,\mu s$ 单向预算中扣除 Hub 的 $1.535,\mu s$,得到最远 $205,m$。
  • 二进制指数退避第 4 次碰撞后从 $0-15$ 个时隙中选,最长等待 $768,\mu s$。