CSMA-CA协议的基本原理

发送方发送的时候先侦查,信道的空闲持续时间有 DIFS 这么长,DIFS 这么都是空闲的,那么就发送帧

DCF分布式协调功能

这个功能的核心就是等待 DIFS 这一段

  • DCF 帧间间隔 DIFS 的长度为 128us,在 DCF 方式中,DIFS 用来发送数据帧和管理帧
  • 在 DCF 方式下, 没有中心控制站点,每个站点使用 CSMA/CA 协议通过争用信道来获取发送权。DCF 方式是 802.11 定义的默认方式(必须实现)。
  • 源站等待 DIFS 间隔是考虑到可能有其他的站有高优先级的帧要发送。
    • 设置 DIFS 间隔的目的↑

短帧间间隔

这个间隔的目的是给发送端,切换成,接收确认信号用的
长度为 28us,它是最短的帧间间隔,用来分隔开属于一次对话的各帧。一个站点应当能够在这段时间内从发送方式切换到接收方式。使用 SIFS 的帧类型有 ACK 帧、CTS 帧等

CSMA/CA协议-使用停止-等待协议

由于无线信道的误码率较高,CSMA/CA 协议还需要使用停止 - 等待的确认机制来实现可靠传输,这与使用 CSMA/CD 协议的共享式以太网不同

具体实现就是:设置了随机退避算法,给了一段随机退避时间

为什么要使用退避算法

当某个站点发送帧时,很可能有多个站点都在监听信道并等待发送帧,一旦信道空闲,这些站点几乎同时发送帧而产生碰撞。
为了避免上述情况,所有要发送帧的站点检测到信道从忙转为空闲后,应当执行退避算法,这样不仅可以减少发生碰撞的概率,还可避免某个站点长时间占用无线信道。

CSMA/CA 协议的退避算法

当某个站要发送数据帧时,仅在这种情况下才不使用退避算法:检测到信道空闲,并且该数据帧不是成功发送完上一个数据帧之后立即连续发送的数据帧。除此之外的以下情况,都必须使用退避算法:

  1. 在发送帧之前检测到信道处于忙态
  2. 在每一次重传一个帧时
  3. 在每一次成功发送帧后要连续发送下一个帧时
  • 在执行退避算法时,站点为退避计时器设置一个随机的退避时间:
    • 当退避计时器的时间减小到零时,就开始发送数据;
    • 当退避计时器的时间还未减小到零而值又连续为忙状态,这时就冻结退避计时器的数值,重新等待信道空闲,经过间隔DIFS后,继续启动退避计时器。
  • 在进行第1次退避时,退避时间在时隙编号中随机选择一个,然后乘以基本退避时间(也就是一个时隙的长度)就可以得到随机的退避时间。当时隙编号达到255时(对应于第6次退避)就不再增加了。

源站对信道进行预约

RTS(Request To Send)帧是短的控制帧,它包括源地址、目的地址和本次通信(包括目的站发回确认帧所需的时间)所需的持续时间。

(若 RTS 帧发生碰撞,源站就不可能收到 CTS 帧,源站会执行退避算法重传 RTS 帧。)

RTS(Request To Send)帧是短的控制帧,它包括源地址、目的地址和本次通信(包括目的站发回确认帧所需的时间)所需的持续时间。

除源站和目的站的其他各站,在收到 CTS 帧或数据帧后就推迟访问信道。这样就确保了源站和目的站之间的通信不会受到其他站的干扰。

由于 RTS 帧和 CTS 帧都会携带通信需要持续的时间,这与之前介绍过的数据帧可以携带通信所需持续时间的虚拟载波监听机制是一样的,因此使用 RTS 帧和 CTS 帧进行信道预约,也属于虚拟载波监听机制。

利用虚拟载波监听机制,站点只要监听到数据帧、RTS 帧或 CTS 帧中的任何一个,就能知道信道将被占用的持续时间,而不需要真正监听到信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题。

例题:

802.11无线局域网的MAC帧

  • 数据帧
  • 控制帧
    • CTS RTS ACK 都是控制帧
  • 管理帧

  • 地址一是中转站
  • 地址二是出发站
  • 地址三是最终目的站

access 与 trunk 详细解析 + 区别参考

https://blog.csdn.net/Stupid__Angel/article/details/126668953