【发布时间】:2014-04-05 15:32:37
【问题描述】:
影响 802.11 ad hoc 网络中 TCP 性能的主要因素之一是 MAC 中的不公平性。谁能帮我解释一下这种“不公平”是什么意思?
【问题讨论】:
标签: networking tcp wifi
影响 802.11 ad hoc 网络中 TCP 性能的主要因素之一是 MAC 中的不公平性。谁能帮我解释一下这种“不公平”是什么意思?
【问题讨论】:
标签: networking tcp wifi
在自组织网络中,您通常会尝试进行多跳路由。 802.11 CSMA/CA 在这些情况下会表现出“暴露终端问题”。考虑一个线性拓扑
... A <---> T <---> B ...
A 和 B 不在 CSMA 范围内。假设 T 已经在向 A 传输一个数据流。现在假设一个 TCP 流开始通过 B 路由。因为 B CSMA 与 A,它本质上将被锁定在通道之外。通过 B 路由的 TCP 连接最终会超时。
另一种可能是“隐藏终端问题”。考虑拓扑
A ---> X <--- B
A 和 B 不能 CSMA。假设 A 和 B 各自尝试向 X 发送 TCP 流。由于它们不能相互 CSMA,都赢得了各自的通道竞争轮并进行传输,只是它们的帧在 X 处发生冲突。这可以通过 RTS 在一定程度上解决/CTS。但一般来说,无线环境中 TCP 性能不佳的原因与 TCP 使用丢弃的数据包作为拥塞信号这一事实有关,即 TCP 源将切断其窗口,从而降低其吞吐量。在无线网络中,丢弃的数据包可能是由于任何数量的瞬态事件(例如,冲突、干扰)。 TCP 源将这些丢包误解为拥塞信号,并将限制其发送速率并充分利用通道。
另一个可能出现的问题是由于“捕获效应”。再次考虑
A ----> X <-------------B
A 和 B 都在 X 范围内,但 B 距离较远,因此在 X 处接收到的信号强度较低。同样,A 和 B 不能 CSMA。在这种情况下,X 可能会“捕获”更强的发射机 A,即它的无线电将解码 A 的帧,但将 B 视为噪声(即使在没有 A 的情况下,X 也会继续解码 B 的帧)。如果双方都试图通过 X 路由 TCP 流,这将为 A 设置不公平的优势。
802.11 的 DCF 也有利于频道竞争回合的最后获胜者。因此,这为长期的批量 TCP 传输提供了一点优势。
请注意,所有这些问题都会影响所有传输协议,而不仅仅是 TCP。只是 TCP 的设计方式使其对这些场景的反应特别差。
【讨论】: