首页 百科知识 避免冲突的多路访问

避免冲突的多路访问

时间:2022-10-01 百科知识 版权反馈
【摘要】:无线LAN中常用的动态信道分配协议为MACA,如图3.16所示,MACA的基本思想为:发送方A首先发送一个短帧RTS刺激一下接收方B,让接收方B输出一个短帧CTS作为应答,当发送方A收到CTS帧之后才开始真正的数据传输。显然,MACA协议保证了在存在多个互不可见的发送站需要同时向同一个接收站发送数据帧时,只有收到了接收站回应CTS的那个发送站才能进行实际数据帧的发送,从而避免了冲突的发生。

前述协议主要适用于有线局域网之中,但在无线局域网中,若仍采用CSMA协议来进行信道的动态分配,考虑如图3.16(a)中所示站A正在向站B传送数据时的情形,此时,若站C正在进行信道冲突检测,由于站A在站C的通信距离范围之外,因此,站C会错误地以为可向站B传送数据帧。此时,若站C真的开始向站B传送数据,则站B接收数据的过程将会受到干扰,从而扰乱了站A送出的帧。这种由于竞争对手离得太远,而导致一个站无法检测到潜在的介质竞争对手的问题,称为隐藏站问题(Hidden Station Problem)。

另外,再考虑3.16(b)中所示站B正在向站A传送数据时的情形,此时,如果站C正在进行信道冲突检测,则将侦测到信道上有一个传输正在进行,从而会错误地认为不能向站D发送数据。上述这种问题称为暴露站问题(Exposed Station Problem)。

在无线LAN中由于采用CSMA协议时存在上述隐藏站与暴露站的问题,因此,CSMA协议不适合于无线LAN的情形。

无线LAN中常用的动态信道分配协议为MACA(Multiple Access with Collision Avoidance,避免冲突的多路访问协议),如图3.16所示,MACA的基本思想为:发送方A首先发送一个短帧RTS(Request To Send)刺激一下接收方B,让接收方B输出一个短帧CTS(Clear To Send)作为应答,当发送方A收到CTS帧之后才开始真正的数据传输。

图3.16 无线LAN的站点发送问题

(a)隐藏站问题;(b)暴露站问题

显然,MACA协议保证了在存在多个互不可见的发送站需要同时向同一个接收站发送数据帧时,只有收到了接收站回应CTS的那个发送站才能进行实际数据帧的发送,从而避免了冲突的发生。此外,采用MACA协议时,如果某个站监听到了RTS帧,则该站一定是离站A很近,因此,该站必须等待足够长的时间以便CTS可以在无冲突的情况下被回送给站A。同理,如果某个站监听到了CTS帧,则该站一定是离站B很近,因此,该站在接下来的数据帧传送过程中必须保持沉默,同时,该站只需检查一下CTS帧,即可知道接下来的数据传输过程需要持续多久,从而也就知道了自己需要保持多长时间的沉默。

例如:在图3.17(b)中,由于站C在站B的通信范围内,但不在站A的通信范围内,从而使得站C可以监听到站B发送的RTS帧,但却监听不到站A回复的CTS帧,因此,只要没有干扰到站B对CTS帧的正确接收,则站C可以在站B向站A传输数据帧的过程中自由地向站D发送任何信息。

不过,尽管采取了上述防范措施,但冲突仍然可能会发生,例如:在图3.17(a)中,若站A和站C可能会同时发送RTS帧给B,则将产生冲突。在发生冲突的情况下,一个失败的发送方(即在期望的时间内没有收到CTS的一方)将在随机等待一段时间之后再重新尝试,其中,具体等待的延时值仍由前述二元指数退避算法确定。

图3.17 MACA协议的工作原理

(a)A向B发送RTS;(b)B以CTS响应A

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈