到底暴露了什么终端问题

时间:2018-07-04 07:56:24

标签: networking wireless

我已经在互联网上阅读了很多帖子,其中大多数在这种情况下解释了终端暴露的问题:

A<---B C---->D

B正在向A发送数据,原因是C在B的范围内,C可以感觉到信道繁忙,因此毫无必要地推迟了向D发送数据。我的问题是,暴露终端问题是否涉及任何RTS / CTS ?当B向A发送数据时,据我了解,B将向每个方向广播信号。那么,如果C正在向D发送数据,那么B的信号会不会与C的信号在C处发生冲突?

1 个答案:

答案 0 :(得分:0)

我认为this link的解释很好。

当两个节点(在这种情况下为B和C)由于包含避免隐藏节点的机制(例如,基于载波侦听的冲突避免,RTS / CTS方案)而在彼此之间造成过多延迟时,就会出现暴露的终端问题。问题。这是为了在隐藏节点情况下提高性能而进行的权衡的结果。

正如链接所提到的,有一些技术(例如定向天线)可以帮助改善这些延迟(但是,我认为使用定向天线实际上更像是将两个系统隔离开来,并不能真正解决这个问题)< / em>。

您可能会想与B&C一起审视这种情况并得出结论“好吧,我知道他们不会干涉,他们无论如何都应该发送!” 但是您还必须考虑到大多数无线系统使用确认等来验证是否已接收到数据,这也可能会受到此选择的影响。例如,让我们逐步介绍B&C忽略繁忙频道的情况:

  • B有一个长数据包要发送给A,检查空气是否畅通并开始发送
  • C有一个短数据包要发送给D,检查广播,忽略它忙碌并开始发送消息
  • C完成发送,D立即将ACK发送回C
  • B仍在发送其数据包,因此C从未收到来自D的ACK,因为B对其进行了干扰
  • C决定再次开始发送
  • B完成,A向B发送一个ACK
  • C仍在发送数据包(第二次),因此B从未听到过来自A的ACK
  • 这是永远不会结束的歌曲。...