今天继续给大家介绍WLAN相关内容,本文主要内容是介绍802.11无线局域网的访问控制技术,即CSMA/CD协议。
一、无线网络特性
在以太网中,介质访问控制技术是CSMA/CD协议,主要是通过监听网络上的载波是否冲突来判断是否在节点间发生冲突。设备在发送数据前要监听链路,若有人在发送数据,就不进行发送,设备在发送数据时也要监听链路,若检测到冲突,则停止发送数据,并采取退避机制,随机等待一段时间后再重新发送数据。
为什么无线局域网不采用上述机制呢?原因就是无线局域网与以太网有不同的地方。在无线网络中,界限比较模糊,有时候并不是每个节点都可以跟其他节点直接光通信,导致节点间发生冲突。在无线网络中存在隐藏节点的概念,隐藏节点指的是在接受者的通信范围内二在发送者的通信范围外的节点。
一个典型的无线网络如下图所示:
在上图所示网络中,一个AP与两个STA组成了一个无线局域网,两个STA的信号范围如图中虚线所示。如果采用CSMA/CD协议,假设左边和右边的STA都要向AP发送数据,由于两个STA之间不能直接接收到对方的数据帧,也就不能检测到网络中存在冲突。但是对于AP而言,由于两个STA都在给它发送数据,因此AP目前处于冲突状态。对于图上的每一个STA而言,另一个STA就是其隐藏节点。
二、CSMA/CA协议退避时间
CSMA/CA协议,即Carrier Sense Multiple Access / Collision Detection,载波监听多路访问冲突避免机制。CSMA/CA协议是用于无线局域网中防止多个设备同时抢占信道造成通信混乱的一种机制。该协议与CSMA/CD协议的主要区别是CSMA/CD时冲突检测,而CSMA/CA是冲突避免。
CSMA/CA规定无线局域网网络设备在发送数据时,并不是立即进行发送,而是先要生成随机的退避时间。只有当退避时间到了之后才会发送数据(其实是发送RTS帧,在下文中会降到),如果退避时间还没有到,发现网络中有其他的设备已经到了退避时间并且发送数据,则该设备会重新生成退避时间并等待。新的退避时间等于上一次退避时间减去本次等待时间(有的资料上将这个时间称为退避窗口)。
三、CSMA/CA协议数据帧发送过程
CSMA/CA协议的冲突避免是该协议使得STA在发送数据前先请求信道,AP予以确认并清空信道,以此来避免冲突。802.11STA向AP发送数据帧过程如下所示:
如上图所示,STA在要发送数据帧之前,要首先向AP发送RTS帧,表示“自己想发送数据”,AP在收到STA发送的RTS帧后,如果自身信道不繁忙,则会进行恢复CTS帧,表示该STA可以发送数据,但是如果自身信道繁忙,则不会发送CTS帧,STA如果没有收到CTS帧,则表明信道繁忙,自己就不会进行下一步操作,如果收到CTS帧,就会发送数据。此外,CTS帧还有一个功能,就是发送给AP覆盖范围内的所有其他STA,用于宣布信道占用,从而避免隐藏节点因为收不到STA发送的RTS帧从而发送数据导致冲突。在STA发送完数据后,AP还需要发送ACK帧予以确认。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/120338616