EIFS是为站点收到坏帧需要报告而设置的等待时间。EIFS最长,表明报告这种坏帧的优先级最低,必须等其他的帧都发送完毕后才能发送。
4.6.3 CSMA/CA协议原理
CSMA/CA协议的工作原理比较复杂,我们先讨论图3.38比较简单的情况。
路由器
路由器
图3.38 常用的三种帧间间隔
1. 数据帧发送
(1) 先检测信道(进行载波监听)。若检测到信道空闲,则在等待一段时间DIFS后;如果这段时间内信道一直是空闲的就发送整个数据帧,并等待确认。
信道空闲还要再等待就是考虑可能有其他站点有高优先级的帧要发送。如有,就让高优先级帧先发送。
(2) 目的站若正确收到此帧,则经过时间间隔SIFS后,向源站发回确认帧ACK。
(3) 所有其他站都设置网络分配向量NAV,表明在这段时间内信道忙,不能发送数据。
(4) 当确认帧ACK结束时,NAV(信道忙)也就结束了。在经历了帧间间隔之后,接着会出现一段空闲时间,叫做
争用窗口
,表示在这段时间内有可能出现各站点争用信道的情况。
争用信道的情况比较复杂,因为有关站点要执行
退避算法
。我们用图3.39的例子来说明。
路由器
路由器
图3.39 CSMA/CA的退避机制
图3.39表示当A正在发送数据时,B、C和D都有数据要发送(用向上的箭头表示)。由于它们都检测到信道忙,因此都要执行退避算法,各自随机退避一段时间再发送数据。CSMA/CA规定:退避时间必须是整数倍的时隙时间。
2. CSMA/CA信道预约
为了更好地解决隐蔽站带来的碰撞问题,CSMA/CA协议允许要发送数据的站对信道进行预约。
(1) A发预约帧:在发送数据帧之前先发一个短的控制帧,叫做
请求发送RTS
(
Request To Send
)帧,它包括源地址、目的地址和这次通信(包括相应的确认帧)所需的持续时间。如图3.41(a)所示。
(2) B对预约帧确认:若信道空闲,则目的站B就响应一个控制帧,叫做
允许发送CTS
(
Clear To Send
)帧。它也包括这次通信所需的持续时间(从RTS帧中把这个持续时间复制到CTS帧中)。如图3.41(b)所示。
(3) A收到CTS帧后就可发送其数据帧。
(a) A发送RTS帧
(b) B响应CTS帧
路由器
路由器
图3.41 CSMA/CA协议中的信道预约
A和B两个站附近一些站反应
C站:
C处于A的传输范围内,但不在B的传输范围内。因此C能够收到A发送的RTS帧,但经过一小段时间后,C不会收到B发回的CTS帧。这样,在A向B发送数据时,C也可以发送自己的数据给其他的站而不会干扰B。
D
站:
D收不到A发送的RTS帧,但能收到B发送的CTS帧。因此D知道B将要和A通信,在A和B通信的一段时间内不能发送数据,因而不会干扰B接收A发来的数据。
E
站:
它能收到RTS和CTS,因此E和D一样,在A发送数据帧和B发送确认帧的整个过程中都不会发送数据。
可见,这种协议实际上就是在发送数据帧之前先对信道进行预约一段时间。
预约帧的使用
与数据帧(最长可达2346字节)相比,使用RTS和CTS帧很短,开销不算大。若不使用这种控制帧,则一旦发生碰撞而导致数据帧重发,则浪费的时间就更多。当数据帧本身就很短时,再使用RTS和CTS帧只能增加开销,可以不使用RTS和CTS帧。
碰撞发生的处理
虽然协议经过了精心设计,但碰撞仍然会发生。
例如,B和C同时向A发送RTS帧。这两个RTS帧发生碰撞后,使得A收不到正确的RTS帧,因而A就不会发送后续的CTS帧。这时,B和C像以太网发生碰撞那样,各自随机地推迟一段时间后重新发送其RTS帧。推迟时间的算法也是使用二进制指数退避。
图3.42给出了RTS和CTS帧以及数据帧和ACK帧的传输时间关系。
路由器
路由器
图3.42 各种帧的传输时间关系
(1)源站在发送数据之前要检测信道。如信道忙,则按照前面的退避算法推迟发送。如空闲,则等待时间DIFS后发出RTS帧。
(2) 如收到CTS帧,则在再等待时间SIFS后开始发送数据。
(3) 在除源站和目的站以外的其他站中,有的在收到RTS帧后就设置其网络分配向量NAV,有的则在收到CTS帧或数据帧后才设置其NAV。
4.6.4 802.11局域网的MAC帧
802.11局域网的MAC帧如图3.43所示。
路由器
路由器
图3.43 802.11局域网的MAC帧
IEEE802. 11帧结构分为前导信号(Preamble)、信头(Header)、负载(Payload)和帧检验。
(1) 前导信号: 主要用于确定无线客户端和无线AP之间何时发送和接收数据,传输进行时告知其他无线客户端以免冲突,同时传送同步信号及帧间隔。前导信号完成,接收方才开始接收数据。
(2) 信头: 在前导之后,用于传输一些重要的数据比如负载长度、传输速率、服务等信息。帧的复杂性都在帧的首部, 共30字节。。
(3) 负载: 是帧主体, 也就是帧的数据部分。由于数据率及要传送字节的数量不同,负载的包长变化很大,可以十分短也可以十分长。不超过2312字节,不过802.11帧的长度通常都是小于1500字节(以太网的最大长度)。
(4) 帧检验:FCS字段采用CRC方法生成,共4字节。
802.11数据帧地址
802.11数据帧最特殊的地方就是有四个地址字段。地址4用于自组网络。
控制字段中的"到DS"(到分配系统)和"从DS"(从分配系统)两个子字段各占1位,合起来共有4种组合,用于定义802.11帧中的几个地址字段的含义。最常用的两种情况,表3.5。
表3.5 802.11帧的地址字段最常用的两种情况
路由器
路由器
(1)
序号控制字段:
占16位,作用是使接收方能够区分开是新传送的帧还是因出现差错而重传的帧。包含序号子字段和分片子字段。
序号子字段:占12位,从0开始编号,每发送一个新帧就加1,到4095后再回到0。
分片子字段:占4位,不分片则保持为0。如分片则帧的序号子字段保持不变,而分片子字段从0开始,每个分片加1,最多到15。重传的帧的序号和分片子字段的值都不变。
(2)
持续期字段:
占16位。CSMA/CA协议允许传输站点预约信道一段时间(包括传输数据帧和确认帧的时间),这个时间就是写入到持续期字段中的。这个字段有多种用途,最高位为0时表示持续期。持续期不能超过32767(2
15
-1)微秒。
③
帧控制字段
共分为11个子字段。其中较为重要的几个介绍如下。
协议版本字段:现在是0。
类型字段
:
802.11帧共有三种类型:控制帧、数据帧和管理帧。
子类型字段:每一种帧又分为若干种子类型。例如,控制帧有RTS、CTS和ACK等几种不同的类型。
更多分片字段:
置为1时表明这个帧属于一个帧的多个分片之一。因为无线信道的通信质量是较差,因此无线局域网的数据帧不宜太长。当帧长为1518字节(以太网最大帧长),正确收到这样的帧的概率还不到30%。因此为了提高传输效率,在信道质量较差时,需要把一个较长的帧划分为许多较短的分片。这时可以在一次使用RTS和CTS帧预约信道后连续发送这些分片。当然这仍然要使用停止等待协议,即发送一个分片,等到收到确认后再发送下一个分片,不过后面的分片都不需要用RTS和CTS帧重新预约信道了。
WEP
:占1位。若WEP=1,就表明采用了WEP加密算法。WEP在无线信道的这种加密算法在效果上可以和有线信道上通信一样地保密。
路由器
路由器
图3.46 分片的发送