📖 3.4.2 (2) 共享式以太网的争用期、最小帧长和最大帧长
🎯 课程摘要:本节课推导共享式以太网争用期 2τ 的概念与数值,阐明最小帧长 64 字节和最大帧长 1518 字节的由来及其工程意义。争用期是 CSMA/CD 协议的核心参数,最小帧长的推导是本节重点。
📝 详细笔记
1. 争用期(碰撞窗口)
- 概念定义:共享总线以太网的端到端往返时间 2τ(τ 为单程端到端传播时延)被称为争用期或碰撞窗口,是一个非常重要的参数。
- 核心问题:某个站点从发送帧开始,最长要经过多长时间才能检测出自己发送的帧与其他站点发送的帧产生了碰撞?
最坏情况分析(考虑位于总线两端的站点 A 和 D):
设 A 与 D 之间的单程端到端传播时延为 τ,δ 为趋近于 0 的微小时间:
- 结论:站点从发送帧开始,最多经过时长 2τ(δ 趋近于 0)就可检测出所发送的帧是否遭遇碰撞
- 站点经过争用期 2τ 这段时间还没有检测到碰撞,就可以肯定这次发送不会产生碰撞
2. 争用期的数值规定
对于 10 Mbps 共享总线以太网:
| 参数 | 数值 | 计算过程 |
|---|---|---|
| 争用期 2τ | 512 比特发送时间 = 51.2 μs | 规定值 |
| 单程传播时延 τ | 25.6 μs | 2τ / 2 |
| 信号传播速率 | 2×10⁸ m/s | 已知 |
| 理论总线长度 | 5120 m | 2×10⁸ × 25.6×10⁻⁶ |
- ⚠️ 重点/考点:争用期 2τ 规定为 512 比特发送时间,除考虑信号传播时延外,还考虑了:
- 网络中可能存在转发器带来的时延
- 产生碰撞时继续发送 32 或 48 比特人为干扰信号所持续的时间
- 因此实际单程传播时延 τ 会小于计算值 25.6 μs
- 以太网规定总线长度不超过 2500 m
- 总线长度越长、站点数量越多 → 传播时延越大、碰撞概率越大
3. 最小帧长(重点推导)
问题引出:若站点 A 给 B 发送一个很短的帧,帧很快就发送完毕,站点 A 不再检测碰撞。若此时其他站点也发送帧产生碰撞,站点 A 无法感知,不会重发该帧,导致接收方无法正确收到。
解决思路:为确保每个站点在发送完一个完整帧之前能够检测出是否产生碰撞,帧的发送时延不能少于争用期 2τ。
推导过程:
最小帧长 = 数据传输速率 × 争用期 2τ
= 10×10⁶ bit/s × 51.2×10⁻⁶ s
= 512 bit
= 64 字节
- ⚠️ 重点/考点:最小帧长 = 64 字节 = 512 比特
- 如果帧的前 64 字节没有遭遇碰撞,那么帧的后续部分也不会遭遇碰撞
- 如果遭遇碰撞,就一定是在帧的前 64 字节之内
- 发送站点一旦检测到碰撞就立即终止发送,此时已发送的数据量一定小于 64 字节
- 接收站点收到长度小于 64 字节的帧 → 判定为遭遇碰撞而异常终止的无效帧,丢弃
4. 最大帧长
为什么不限制最大长度会有问题:
- 发送站点长时间占用总线,其他站点迟迟无法获得总线使用权
- 可能导致接收方缓冲区溢出
以太网版本 2(DIX v2)的 MAC 帧长度规定:
| 参数 | 数值 |
|---|---|
| 数据载荷最大长度 | 1500 字节 |
| 数据载荷最小长度 | 46 字节 |
| 帧首部 + 尾部 | 18 字节(目的 MAC 6 + 源 MAC 6 + 类型 2 + FCS 4) |
| 最大帧长 | 1518 字节(1500 + 18) |
| 最小帧长 | 64 字节(46 + 18) |
- 数据载荷最小长度规定为 46 字节,是为了满足最小帧长 64 字节的要求(46 + 18 = 64)
5. 408 考研真题解析
真题一(争用期相关):
主机甲和乙均检测到冲突,求从开始发送数据到两台主机均检测到冲突所需的最短和最长时间。
- 最短时间:两主机同时发送数据,信号在中间碰撞并传回 → 所需时长 = 单程传播时延 τ
- 最长时间:一主机发送数据,信号传播到无限接近另一主机时,对方也开始发送 → 碰撞信号传回 → 所需时长 ≈ 往返传播时延 2τ
真题二(最小帧长相关):
若将最小帧长减少 800 比特,最远两个站点之间的距离至少需要减少多少?
- 答案:D(至少减少 80 米)
- 解析:
- 最小帧长 = 数据传输速率 × 2τ = 数据传输速率 × 2d / 传播速率(d 为最远两站点距离)
- ΔL = 数据传输速率 × 2Δd / 传播速率
- 若最小帧长减少 800 比特 → 最远两站点距离至少减少 80 米
助教补充:最小帧长公式 L = R × 2d / v(R 为数据传输速率,d 为最远距离,v 为信号传播速率),此公式揭示了帧长、总线长度与传输速率之间的定量关系,是 408 高频考点。
💡 核心总结
- 争用期 2τ = 端到端往返传播时延 = 51.2 μs(512 比特发送时间),是最重要的参数
- 站点从发送帧开始最多经过 2τ 即可检测出是否遭遇碰撞
- 最小帧长 = 数据传输速率 × 2τ = 512 比特 = 64 字节(确保发送期间能检测到碰撞)
- 接收方收到 <64 字节的帧判定为碰撞导致的无效帧
- 最大帧长 = 1518 字节(数据载荷最大 1500 字节 + 首尾部 18 字节)
- 数据载荷最小 46 字节(满足 64 字节最小帧长要求)
- 公式:L = R × 2d / v,减小最小帧长需减小最远两站点距离
❓ 课后思考 / 经典考题
- 争用期 2τ 为什么规定为 512 比特发送时间(51.2 μs)?除了信号传播时延还考虑了哪些因素?
- 详细推导最小帧长为什么是 64 字节。
- 为什么以太网规定总线长度不超过 2500 m?总线过长会带来什么问题?
- 以太网 V2 的 MAC 帧最大长度为 1518 字节,请分解其各字段长度。
- (408 真题)若最小帧长减少 800 比特,最远两站点之间的距离至少需要减少多少米?写出推导过程。