(1)无线通讯的两个重要特征
——Hidden node problem
双方虽然听不到对方的讯号,但同时传送给相同的对象导致了碰撞(这个时候双方都不知道发生了碰撞)
——Exposed node problem
双方都可以听得到对方的讯号,但同时可以传送给不同的对象(不会发生碰撞)
(2)不能像CSMA/CD有冲撞的侦察,就算是碰撞了,发送数据的节点也不知道。一个IEEE 802.11最大可以传输2000多个字节,为了让长分组在送的时候可以减少碰撞的几率,减少浪费的带宽,所以设计一个比较小的RTS帧和CTS帧作为先导(RTS帧以及CTS帧都比较小),RTS帧是广播说我要发送数据了,CTS帧广播说我要接收数据了。——举个例子(来自百度百科)RTS CTS (这是为了解决无法侦测的碰撞,利用这个可以让其他站点不要来干扰我收发数据)
① 在图中,
● 站B、站C、站E在站A 的无线信号覆盖的范围内。而站D不在其内。
● 站A、站E、站D在站B 的无线信号覆盖的范围内,但站C不在其内。
② 如果站A要向站B发送数据,那么,站A在发送
数据帧之前,要先向站B发送一个
请求发送帧
RTS(Request To Send)。在RTS帧中已说明将要发送的数据帧的长度。站B收到RTS帧后就向站A回应一个
允许发送帧
CTS(Clear To Send)。在CTS帧中也附上A欲发送的数据帧的长度(从RTS帧中将此数据复制到CTS帧中)。站A收到CTS帧后就可发送其数据帧了。现在讨论在A和B两个站附近的一些站将做出什么反应。
● 对于站C,站C处于站A的
无线传输范 围内,但不在站B的无线传输范围内。因此站C能够收听到站A发送的RTS帧,但经过一小段时间后,站C收听不到站B发送的CTS帧。这样,在站A向站B发 送数据的同时,站C也可以发送自己的数据而不会干扰站B接收数据(注意:站C收听不到站B的信号表明,站B也收听不到站C的信号)。
● 对于站D,站D收听不到站A发送的RTS帧,但能收听到站B发送的CTS帧。因此,站D在收到站B发送的CTS帧后,应在站B随后接收
数据帧的时间内关闭数据发送操作,以避免干扰站B接收自A站发来的数据。
● 对于站E,它能收到RTS帧和CTS帧,因此,站E在站A发送数据帧的整个过程中不能发送数据。
③ 虽然使用RTS和CTS帧会使整个网络的效率有所下降。但这两种控制帧都很短,它们的长度分别为20和14字节。而数据帧则最长可达2346字节,相比之下的开销并不算大。相反,若不使用这种
控制帧,则一旦发生冲突而导致数据帧重发,则浪费的时间就更大。虽然如此,但协议还是设有三种情况供用户选择:
● 使用RTS和CTS帧;
● 当
数据帧的长度超过某一数值时才使用RTS和CTS帧;(如果太小就没必要用这个了,反而增加了Media的Load)
● 不使用RTS和CTS帧。
④ 尽管协议经过了精心设计,但冲突仍然会发生。
例如:站B和站C同时向站A发送RTS帧。这两个RTS帧发生冲突后,使得站A收不到正确的RTS帧因而站A就不会发送后续的CTS帧。这时,站B和站C像
以太网发生冲突那样,各自随机地推迟一段时间后重新发送其RTS帧。推迟时间的算法也是使用二进制指数退避。
(3)因为无法知道自己的数据是否发送成功,所以接收方收完数据后,需要接受方发送一个ACK帧告诉接收方已经收到。
(4)如何侦听是否繁忙
——直接通过天线去听 physical
——通过RTS,CTS的预约(因为RTS,CTS携带数据帧的大小,这个发送这个时间内,都是繁忙的) 通过NAV -duration field
(5)CSMA/CA
原理
1首先检测信道是否有使用,如果检测出信道繁忙,则等待一段随机时间后(等到空闲后的时间+DIFS+一个随机退避时间【跟这个数据重送次数有关】),才送出数据。
2接收端如果正确收到此帧,则经过一段时间间隔后,向发送端发送确认帧ACK。
3源STA收到ACK帧,确定数据正确传输,在经历DIFS时间间隔后,会出现一段空闲时间,叫做争用窗口,表明会出现各STA争用信道的情况。如果检测信道时发现信道正在使用,STA使用CSMA/CA协议的退避算法。冻结退避计时器。只要信道空闲,退避计时器就进行倒计时。当退避计时器减少到零时,STA就发送帧并等待确认。如果没有收到ACK帧,必须重传次帧。
(6)优先权
SIFS<PIFS<DIFS(时间大小) 最高优先级SIFS最高
SIFS(包括收到RTS回复CTS,发送ACK,发送POLLING的回复)最快发生
PIFS(免竞争,被AP问到就可以马上送,一般送一些实时数据)
DIFS(竞争,主要是采用CSMA/CA,主要是一些一般的数据传输)
(7)DCF的执行。
由于信道忙而使无竞争期的起点和长度都发生变化,并引起超帧的扩展,但无论如何,DCF异步业务都要等到PCF完成之后才能获得访问信道的权利。(使用DIFS)
(8)AP的轮询(PCF的执行)。
AP以PCF优先级向参与无竞争业务的站发送下行数据帧(CF- Down,ContentFrameofDown-link),使用帧头的控制域轮询比特进行轮询,若被轮询到的站有缓冲数据,则检测到SIFS后立即发 送。若AP发出轮询后PIFS内没有响应,AP恢复控制信道,发送下一个轮询。被轮询的站无须对CF-Down进行确认。
主要内容就是这张图
感觉比CSMA/CD难得多
可见参考
- CSMA/CA协议分析
- 以及
来源:oschina
链接:https://my.oschina.net/u/4323462/blog/3886933