1、无线网络技术无线网络技术 计算机与通信工程学院李娜娜lanxuejudy126第第4章章 ZigBee MAC层原理层原理 4.1 MAC层 4.2 超帧结构 4.3 数据传输模式 4.4 帧结构 4.5 数据传输的鲁棒性 4.6 CSMA-CA 4.7 CCA 4.1 MAC层 MAC层负责处理所有的物理无线信道访问,并产生网络信号、同步信号;支持PAN连接和分离,提供两个对等MAC实体之间可靠的链路。IEEE Std 802.15.4-2019中:Wireless Medium AccessControl(MAC)and Physical Layer(PHY)Specifications
2、for Low-Rate WirelessPersonal Area Networks(LR-WPANs)。MAC层处理所有同物理无线信道的接入,并且完成以下任务:如果设备是一个协调器则generating network beacons与信标同步支持PAN(个域网)链路的关联association和断开disassociation 为设备的安全性提供支持信道接入方式采用免冲突载波检测多址接入(CSMA-CA)机制处理和维护保护时隙(GTS)机制 在两个对等的MAC实体之间提供一个可靠的通信链路 MAC层参考模型MAC层管理实体实现层的管理功能并且负责维护MAC PIB;MAC层通过SAP提供
3、两种服务:MAC层数据服务、MAC层管理服务the MAC data service and the MAC management service interfacing to the MAC sublayer management entity(MLME)service access point(SAP)(known as MLME-SAP).The MAC data service enables the transmission and reception of MAC protocol data units(MPDUs)across the PHY data service.4.6 C
4、SMA-CA mechanism基于竞争的多址接入:每一个节点设备的传输均具有随机性(Random Access),同时各个节点均有权访问介质,为了访问介质,各站点采用“竞争”(Contention)机制。如果有超过一个节点设备在同一时间发送数据则会产生“冲突”(Collision)需要解决的几个关键问题1.节点设备什么时间能访问介质2.如果介质处于忙的状态,节点应该怎么做3.各个节点设备如何确定数据传输是否已经成功4.如果一旦发生了冲突,应该怎么解决基本思想 任何用户有数据发送就可以发送;每个用户通过监听信道应答获知数据传输是否成功;当发现数据传输失败后,各自等待一段随机时间,再重新发送。1
5、.纯 ALOHA 纯纯ALOHA方方式中,数据可在式中,数据可在任意时刻发送。任意时刻发送。基本思想:将时间分成时间片(即时隙T0,slot),每个时间片可以用来发送一个帧;用户有数据要发送时,必须等到下一个时间片开始才能发送。将信道时间分为等长的时间长度,每个长度正好等于一个帧的传输时间(又称“时隙”或“分槽“Slot)。2.时隙 ALOHA 系统 (Slotted ALOHA,或 S-ALOHA)时隙时隙 ALOHA 工作原理工作原理 每一个幀在到每一个幀在到达后,一般都要达后,一般都要在缓冲区中等待在缓冲区中等待一段时间一段时间(该时该时间小于间小于T0),然后然后在下一时间片开在下一时
6、间片开始时才能发送出始时才能发送出去。去。l所有站点的时钟必须保持同步。吞吐量S:单位时间 内成功发送的平均帧数 网络负载G:单位时间t 内总共发出的平均帧数基本思想:纯ALOHA和时隙ALOHA的传输效率都不高,主要原因是各站独立地决定发送的时刻,使得冲突的概率很高,信道利用率下降。CSMA要求各站在发送之前先监听信道上是否有其他站点正在传送(载波监听)。如果有,就稍候;如果无,就发送。如果多个站点同时发送,就会产生冲突,导致信息混淆,传输失败。站点在传输后将等待一定时间(往返时间加上确认帧争用时间)以接收确认帧。收不到确认(因冲突)就重传。最大吞吐率远远超过纯ALOHA和时隙ALOHA 3
7、.载波监听多路访问协议CSMA protocol即所谓“先听后说”。希望传输的站首先对信道进行监听以确定是否有别的站在传输。若信道空闲,该站可以传输,否则,该站将按一定算法退避一段时间后再试。这可以分为:3.CSMA protocol(Carrier Sense Multiple Access Protocol,CSMA)当 1-坚持坚持 CSMA1-坚持坚持 CSMA当一个站要发送数据时,执行如下步骤:(1)监听信道,若信道空闲就发送;(2)若信道忙则放弃(不坚持)监听,随机等待一段 时间,重复步骤(1);优点:采用随机的重发延迟时间可减少冲突可能性;缺点:即使有几个站有数据要传送,信道仍然
8、可能处 于空闲状态,信道利用率较低。非坚持非坚持 CSMA非坚持非坚持 CSMA当一个站要发送数据时,执行如下步骤:(1)监听信道,若信道空闲就以概率p发送数据,以概率1-p延迟至下一个时间片;(2)若信道忙则继续坚持监听,直至下一个时间片;(3)至下一个时间片后重复步骤(1)。问题:如何选择p的有效值?p-坚持坚持 CSMA问题:如何选择p的有效值?设任一时刻平均有N个站有数据等待发送,则一旦当前的数据发送完毕,在下一个时间片里平均有Np个站发送数据。若 p 过大,使 Np 1,表明有多个站试图发送,冲突不可避免,所以应使 Np=DIFS或者检测发生了碰撞时,从0,CW)随机取一个值,退避计
9、数器的值为Backoff Time=Random()*SlotTime;此后,每当站点检测到信道空闲时间=DIFS时,启动退避计数器;2.若站点检测到信道忙或者空闲时间=DIFS,则冻结并记录下退避计数器的当前值,直到重新出现DIFS空闲期再回复退避计数器的运行;争用窗口(Contention Window)3.当退避计数器减至0时,立即发送数据;4.CW的值取决于CWmin、CWmax以及发生碰撞的次数:帧的第一次传输时,CW=CWmin;每次不成功传输都会使CW*2,直到增加至CWmax;当进行一次成功传输后立即将CW重设置为CWmin.争用窗口(Content Window)争用窗口(C
10、ontent Window)站点每经历一个时隙的时间就检测一次信道。这可能发生两种情况。若检测到信道空闲,退避计时器就继续倒计时。若检测到信道忙,就冻结退避计时器的剩余时间,重新等待信道变为空闲并再经过时间DIFS 后,从剩余时间开始继续倒计时。如果退避计时器的时间减小到零时,就开始发送整个数据帧。退避计时器(backoff timer)图例 冻结剩余的退避时间帧帧帧帧帧DIFSDIFSDIFSDIFS争用窗口争用窗口争用窗口争用窗口退避退避退避退避ABCDEttttt冻结冻结冻结冻结冻结802.11 的退避机制的退避机制长包重传次数:4次短包重传次数:7次802.11MAC包重传次数A 的作
11、用范围B 的作用范围对信道进行预约对信道进行预约 802.11 允许要发送数据的站对信道进行预约。ACBDERTSRTS源站 A 在发送数据帧之前先发送一个短的控制帧,叫做请求发送 RTS(Request To Send),它包括源地址、目的地址和这次通信(包括相应的确认帧)所需的持续时间。A 的作用范围B 的作用范围对信道进行预约对信道进行预约 802.11 允许要发送数据的站对信道进行预约。CTSACBDECTS若媒体空闲,则目的站 B 就发送一个响应控制帧,叫做允许发送 CTS(Clear To Send),它包括这次通信所需的持续时间(从 RTS 帧中将此持续时间复制到 CTS 帧中)
12、。A 收到 CTS 帧后就可发送其数据帧。RTS 和和 CTS 帧以及数据帧和帧以及数据帧和ACK 帧的传输帧的传输时间关系时间关系 时间DIFSRTSSIFS时间NAV(RTS)DIFS争用窗口推迟接入源站时间目的站ACK 其他站CTSSIFSSIFS数据NAV(CTS)NAV(数据)802.11PCF与DCF的交替作业通过举例分析RTS/CTS怎么解决了无线网络传输中的隐终端和暴露重担问题?RTS/CTS机制对网络性能的影响?正面?负面?RTS/CTS机制作用?文章:无线网络MAC机制中RTS/CTS机制的研究李娜娜许多学者对CSMA/CA的性能进行了研究,但是却没有从信道利用效率的角度来
13、考虑RTS/CTS机制对网络性能的影响。本文从信道利用效率的角度对无线局域网的RTS/CTS机制进行性能仿真研究,并揭示出该机制对于无线网络的整体性能起正面与负面影响作用的本质原因。RTS/CTS机制作用?发送节点设备MAC层的数据负载在成功地接入到无线信道的过程中,需要将该负载内容封装上MAC包头和PHY包头,并且要避免冲突以顺利接入无线信道。而真正在无线信道上传输的帧不仅仅有成功接入信道的数据帧,还有各种管理和控制帧。分别用、来表示上述三个方面的效率。其中,为成帧效率,为冲突避免效率,为信道共享效率。RTS/CTS机制作用?1分别用 、来表示上述三个方面的效率。其中,为成帧效率,为冲突避免
14、效率,为信道共享效率。RTS/CTS机制作用?1122331帧有用数据传输时间帧总的传输时间2信道不发生冲突时间传输时间3每帧数据传输时间每帧传输平均所占用信道的时间无线信道的利用率可用下式来表示:RTS/CTS机制作用?123RTS/CTS机制作用?1.由于对于一定大小的数据负荷来说,成帧效率完全取决于协议的MAC包头和PHY包头的大小,RTS/CTS机制对并不会产生任何影响。2.然而,采用RTS/CTS机制,通过带宽预留机制,便可以减少碰撞发生的概率,即使发生碰撞,也只是相对较短的控制包会发生碰撞,避免了较长数据包发生碰撞,提高了冲突避免效率。RTS/CTS机制作用?3.与不使用RTS/C
15、TS机制相比,每发送一个数据帧都需要附加发送两个控制帧,并多等待T_add间隔的时间,如下式所示。其中,对于IEEE 802.11b来说,C可取1Mbps,RTS/CTS帧大小分别为20字节和14字节。即采用了RTS/CTS机制尽管可以提高冲突避免效率,但是却是以降低信道共享效率为代价的。_2RTSPHYheaderCTSPHYheaderTaddSIFSCCRTS/CTS机制作用正面无线信道的利用率是衡量网络性能优劣的一个重要指标,RTS/CTS机制便是通过信道共享效率的降低,减少了碰撞概率,从而提高了冲突避免效率,最终提高了带宽利用率,减少了数据包的时延。这是RTS/CTS对网络性能的正面
16、影响作用。RTS/CTS机制作用负面同时,如果数据包长度较小时也采用了RTS/CTS机制,将导致产生与数据负荷相比不可忽视的控制负荷,导致吞吐量的下降。并且,随着T_add时间的积累作用,数据包的时延很可能没有得到改善,甚至会进一步恶化。此时,RTS/CTS机制对于网络性能便表现出负面作用。发送的数据包大小P为512字节图图1 网络吞吐量性能(网络吞吐量性能(P=512字节)字节)图图 2媒体接入时延性能(媒体接入时延性能(P=512字节)字节)图1和图2是当发送的数据包大小P为512字节时,随着网络负载不断变化得到的网络吞吐量性能和媒体接入时延性能曲线。数据帧长可达到2300字节发送的数据包
17、大小P为512字节图图1 网络吞吐量性能(网络吞吐量性能(P=512字节)字节)图图 2媒体接入时延性能(媒体接入时延性能(P=512字节)字节)从图1中可以看出,在不采用RTS/CTS机制的条件下,当网络负载较小时,网络的吞吐量基本上同网络负载相同,在网络负载为60%时吞吐量达到最大值0.596Mbps。随着网络负载的继续加大,网络的吞吐量性能并没有得到提高。在采用了RTS/CTS机制的条件下,当网络负载较小时,网络的吞吐量性能与不采用RTS/CTS机制时情况基本相同,在网络负载为60%时,吞吐量达到第一个较大值0.598Mbps。值得注意的是,随着网络负载的继续加大,网络的吞吐量性能得到了
18、一个很大的改善,在网络负载为110%时,吞吐量达到了最大值0.679Mbps。发送的数据包大小P为512字节图图1 网络吞吐量性能(网络吞吐量性能(P=512字节)字节)图图 2媒体接入时延性能(媒体接入时延性能(P=512字节)字节)可见,当P为512字节时,采用RTS/CTS机制,能够起到改善网络吞吐量性能的作用,主要原因是该机制可以对无线媒质接入进行预留,避免了数据包的碰撞以及重传,从而提高了冲突避免的效率,减少了信道接入延时,如图2所示。但是获得吞吐量性能改善付出的代价是要发送附加的控制帧RTS帧和CTS帧。发送的数据包大小P为128字节图图3 网络吞吐量性能(网络吞吐量性能(P=12
19、8字节)字节)图图 4媒体接入时延性能(媒体接入时延性能(P=128字节)字节)图6和图7是当发送的数据包大小P为128字节时,随着网络负载不断变化得到的网络吞吐量性能和媒体接入时延性能曲线。发送的数据包大小P为128字节图图3 网络吞吐量性能(网络吞吐量性能(P=512字节)字节)图图 4媒体接入时延性能(媒体接入时延性能(P=512字节)字节)可见,当网络负载较小时,随着网络负载的增大,网络的吞吐量不断增加,但其增速明显低于图1中同等负载下网络的吞吐量的增速。并且,当网络负载大于53%时,采用RTS/CTS机制进行数据包的传输将会导致网络吞吐量性能与不采用该机制时有了较大程度的恶化,如图3
20、所示。发送的数据包大小P为128字节图图3 网络吞吐量性能(网络吞吐量性能(P=128字节)字节)图图 4媒体接入时延性能(媒体接入时延性能(P=128字节)字节)同时,此时的信道接入时延比不采用该机制时还要略微大一些,如图4所示。发送的数据包大小P为128字节图图3 网络吞吐量性能(网络吞吐量性能(P=128字节)字节)图图 4媒体接入时延性能(媒体接入时延性能(P=128字节)字节)产生这种现象的原因,不仅仅是因为每次发送一个128字节的数据负荷则需要封装上(16+8+34)字节的包头,数据成帧效率较低,而且是由于采用了RTS/CTS机制,在对一个仅仅只包含128字节的数据负荷竞争信道时,
21、却要附加发送至少一个或者n个RTS/CTS控制帧(大小分别为44字节和38字节)以及2个或者2n个SIFS间隔的等待时间,而正是由于这种控制包负荷以及T_add间隔的累积作用便造成了网络吞吐量性能和信道接入时延性能的恶化。RTS阈值 每个站点自己决定;当帧长大于RTS阈值时采用RTS/CTS机制;RTS/CTS机制作用小结在承载的数据包负荷较大的情况下,采用RTS/CTS机制可以通过降低信道共享效率来获得信道冲突避免效率的增益,进而得到较好的网络吞吐量和媒体接入时延性能,表现出该机制对网络性能正面的影响作用。然而,在数据包较小的情况下,采用RTS/CTS机制,尽管可以提高数据包冲突避免的效率,但却会造成信道共享效率的急速下降,最终反而会导致信道利用率的恶化,RTS/CTS机制对网络性能的负面影响作用就凸现出来了。作业分析:ZigBee网络MAC层为何没有采用RTS/CTS机制来避免隐终端和暴露终端问题?