802.11 CSMA/CA

和以太网一样,802.11协议继续采用CSMA(载波监听多路访问,Carrier Sense Multiple Access)机制来控制对传输媒介的访问。只不过,对于冲突的处理方案,两者采用了不用的处理机制。

1. CSMA

CSMA协议要求站点在发送数据之前先监听信道。如果信道空闲,站点就可以发送数据;如果信道忙,则站点不能发送数据。在早期的CSMA传输方式中,由于信道传播时延的存在,即使通信双方的站点,都没有侦听到载波信号,在发送数据时仍可能会发生冲突。

(1)CSMA/CD

CSMA/CD(带有冲突检测的载波监听多路访问,Carrier Sense Multiple Access with Collision Detection)机制,要求一个站点在发送数据的同时,还需不间断地检测信道,以便发现是否有其他站点也在发送数据,达到冲突检测的目的。

如果发生冲突,信道上可以检测到超过发送站点本身发送的载波信号幅度的电磁波,由此判断出冲突的存在。

如果一个节点在传输期间检测出碰撞冲突,则立即停止该次传输,并向信道发出冲突信号,以确保其他所有节点也发现该冲突。经过一段退避时间。想发送的节点会重新尝试进行新的发送。

(2)CSMA/CA

在无线局域网中,如果采用冲突检测功能,则成本比较大;另外由于传输条件限制,冲突检测功能在无线网络中不适用。

在上述背景下,制定出了更适用于无线网络的CSMA/CA(带有冲突避免的载波监听多路访问,Carrier Sense Multiple Access with Collision Avoid)机制,通过ACK帧实现冲突避免。

和其他链路层协议不同,802.11 采用肯定确认(positive acknowledgment)机制。所有传送出去的帧都必须得到响应,如下图所示,只要任何一个环节失败,该帧即视为已经丢掉。

上图中的步骤,称为一个原子操作 ,原子操作要么成功,要么失败丢包。

2. 802.11 CSMA/CA

2.1 隐藏节点

在无线网络环境中,隐藏节点的问题难以监测。如下图所示,节点1知道节点2的存在,节点3知道节点2的存在,节点2知道节点1、3的存在,但是节点1和节点3不知道对方的存在,这两个节点就互为隐藏节点

为了防止隐藏节点冲突的发生,802.11采用RTS/CTS机制来清空传送区域。如下图所示,RTS(Ready To Send,请求发送)帧、CTS(Clear To Send,清除发送,我觉得翻译为允许发送更好点)帧、数据帧以及ACK帧组成了一轮原子操作。

节点1发出RTS帧,一来预约无线链路的使用,二来让其他收到该帧的站点保持沉默。

节点2收到RTS帧后,发出CTS帧作为响应,一来告诉发送站点已经准备好接收数据帧了,二来也是让附近的站点静默。

RTS/CTS帧交互后,节点1就可以大胆地发送数据帧了,节点2收到数据帧后,回复ACK帧响应。至此一轮原子操作结束。

如果 802.11 网卡的驱动程序支持, 用户可以通过调整 RTS 阈值来控制 RTS/CTS 交互过程。
只要帧大于此阈值,就会进行 RTS/CTS 交换程序。小于此阈值则会直接传送数据帧。

2.2 载波监听功能

802.11支持两种载波监听功能,物理载波监听和虚拟载波监听。只要任一监听到媒介处于忙碌状态,MAC会将其汇报给更高层协议。

物理载波监听由物理层提供,本blog不做过多介绍,基本上决定于硬件。

虚拟载波监听是由网络分配矢量(Network Allocation Vector)提供。802.11的帧通常会包含一个 duration 位,用来预定一段媒介使用时间。 NAV 本身就是一个计时器,用来指定预计要占用媒介多少时间, 以微秒为单位。 

工作站会将 NAV 设定为预计使用媒介的时间,这包括完成整个操作必须用到的所有帧。其他工作站会由 NAV 值倒数至零。只要 NAV 的值不为零,代表媒介处于忙的状态,此即虚拟载波监听功能。当 NAV 为零时,虚拟载波监听功能会显示媒介处于闲置状态。

如下图所示为利用NAV进行虚拟载波监听的方案。

Sender发出的RTS帧中,带有NAV(RTS)的设定,所有收到该RTS帧的其他工作站在NAV时间段内均不会去访问媒介,直到NAV归零。

那没有收到该RTS帧的其他隐藏节点去访问媒介怎么办呢?

Receiver收到RTS帧后,在发出的CTS帧中,带有NAV(CTS)帧的设定,此NAV可以防止在传输过程中有其他不开眼的节点访问媒介,这样就解决了上述所说的隐藏节点的问题了。

在经过一段DIFS的时间后,任何工作站均可访问媒介了,此后进入竞争时间。

请继续阅读后续文章https://blog.csdn.net/hihan_5/article/details/127554138

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阅后即奋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值