Skip to content

2011年 408 计算机网络 第 36 题

计算机网络2011年选择题2分

题目

下列选项中,对正确接收到的数据帧进行确认的 MAC 协议是( )。

错因

A

CSMA(基础载波侦听)只做"听信道空闲再发",不发 ACK 也不重传——不可靠。错的根源:把"侦听信道"误当成"确认接收",但 CSMA 的"听"是发送前听,不是收到后回。

B

CDMA 是物理层多路复用技术——靠正交码片让多站同时占用信道不互扰,与 MAC 层确认无关。CDMA 自身不定义"确认"机制,依赖上层(如 802.11 MAC、3G/4G 物理层之上的层)。错的根源:把多路复用和 MAC 协议混淆。

C

CSMA/CD(有线以太网,IEEE 802.3)发现冲突后回退重发——但不在 MAC 层做正确接收的 ACK。以太网 MAC 帧没有 ACK 字段、收方收到后不回复确认(依赖上层 TCP 重传)。错的根源:把"冲突检测"误当成"接收确认"——CD 检测的是发送时的冲突,不是接收的成功。

总解析

MAC 协议是否做接收确认对照

协议应用场景是否做 MAC 层确认
CSMA(基础)早期 ALOHA 等
CDMA3G、卫星❌(物理层多路复用,无 MAC 确认)
CSMA/CD(有线 IEEE 802.3)早期共享以太网❌(无 MAC 层 ACK,依赖上层)
CSMA/CA(无线 IEEE 802.11)Wi-Fi✅(每数据帧都要 ACK 确认)

为什么 CSMA/CA 必须做 ACK

无线信道根本性不可靠——多径衰落、隐藏终端、干扰、距离衰减都让数据帧极易丢失。如果不做 MAC 层 ACK,丢帧只能等上层 TCP 超时重传(往往要 1 秒以上),延迟大、效率低。

所以 802.11 设计了 ACK 机制

发送方:DIFS → RTS → SIFS → CTS → SIFS → 数据帧 → SIFS → ACK

                                                  接收方收完数据帧后
                                                  立即回 ACK 确认

数据帧后必须 SIFS(短帧间间隔)→ ACK,是 802.11 的标准动作。这也是为什么 CSMA/CA 能在不可靠的无线信道上工作——MAC 层级的快速重传补救了物理层的丢包。

对比有线 CSMA/CD

有线信道相对可靠,CSMA/CD 的策略是"边发边检冲突,撞了重发",正常发完不回 ACK——以太网 MAC 帧没 ACK 字段,依赖 TCP 重传处理偶发错误。

最终答案是 D(CSMA/CA)

编者注(生僻术语):"MAC 层确认"和"传输层确认"的层级差异——

  • MAC 层 ACK(CSMA/CA):极快(μs 级),单帧粒度
  • 传输层 ACK(TCP):慢(ms 级),按字节累计

802.11 双层确认实际同时存在:每个数据帧 MAC 层先 ACK 一次(保证链路层收到),TCP 段层面再 ACK 一次(保证端到端正确)。两层各司其职。

最后更新:

⚠️ 这道题暂未配可视化,欢迎在 CodeBrick 反馈区告诉我们你想看哪道题