📜  无线网络中的冲突避免

📅  最后修改于: 2021-09-28 10:11:14             🧑  作者: Mango

我们仔细看看所谓的 WiFi,它也被称为 IEEE 标准 802.11

考虑图中描绘的情况,其中四个节点中的每一个都能够发送和接收仅到达其紧邻左侧和右侧的节点的信号。
例如,B可以与A和C交换帧但不能到达D,而C可以到达B和D但不能到达A。(图中未显示A和D的到达范围。)假设A和C都想与B,所以他们每个人都向它发送了一个帧。 A 和 C 彼此不知道,因为它们的信号传播不远。这两个帧在 B 处相互碰撞,但与以太网不同的是,A 和 C 都不知道这种碰撞。 A 和 C 被称为彼此之间的隐藏节点。

根据维基百科,隐藏节点问题可以定义为“在无线网络中,当一个节点对无线接入点(AP)可见,但对与该 AP 通信的其他节点不可见时,就会出现隐藏节点问题或隐藏终端问题。

隐藏节点问题中无法检测到碰撞

这是因为节点AC超出了彼此的范围(因此在传输时无法检测到冲突)。因此,带有冲突检测的载波侦听多路访问 (CSMA/CD) 不起作用,并且会发生冲突。由于冲突,接入点接收到的数据已损坏。为了克服隐藏节点问题,除了具有冲突避免的载波侦听多路访问 (CSMA/CA) 方案之外,还实施了 RTS/CTS 握手(IEEE 802.11 RTS/CTS)。

一个相关的问题,称为暴露节点问题,发生在以下陈述的情况下:

假设 B 正在发送给 A(如上图所示)。节点 C 知道此通信,因为它听到了 B 的传输。 C 认为它不能仅仅因为它可以听到 B 的传输而得出结论它不能传输给任何人是错误的。
例如,假设 C 想要传输到节点 D。这不是问题,因为 C 到 D 的传输不会干扰 A 从 B 接收的能力。

我们通过称为多路冲突避免(MACA)的算法来解决这些问题。发送方和接收方在传输数据之前相互交换帧。这会通知所有附近的节点传输即将开始。发送方向接收方发送请求发送 (RTS)帧。然后接收方用清除发送 (CTS)帧回复发送方。任何接收到 CTS 帧的节点都知道它离接收者很近,因此不能发送帧。任何接收到RTS帧而不是CTS帧的节点都知道它没有靠近接收器来干扰它,所以它可以自由地传输数据。

参考 –
维基百科