无线传感器网络概论第3章无线传感器网络的数据链路层本章目录3.1无线传感器网络数据链路层概述3.2MAC协议概述3.1无线传感器网络数据链路层概述数据链路层主要负责数据流的复用技术、数据帧检测技术、介质访问接入技术和差错控制技术,实现接入控制以及在节点之间建立可靠的通信链路。数据链路层就是将PHY的物理连接链路转换成逻辑连接链路,在这个过程中利用了PHY提供的数据传输功能,形成一条正确的、可靠的链路。数据链路层同时也向它的上层,即网络层提供透明的数据传送服务,主要包括数据流多路复用、数据帧监测、媒体介入和差错控制,使得无线传感器网络内点到点、点到多点都能顺利连接。3.1.1数据链路层的功能3.1无线传感器网络数据链路层概述数据链路层的功能:1.成帧(帧同步)2.差错控制3.流量控制4.链路管理5.MAC(介质访问控制)寻址3.1.1数据链路层的功能3.1无线传感器网络数据链路层概述数据链路层研究的主要内容分为MAC和差错控制两部分。在无线传感器网络中,差错控制有自动重发请求、前向纠错两种方式。在无线传感器网络中,节点与节点间的数据传输通过无线信道来完成。若两个距离较短的节点在同一时刻发送数据时,在它们的邻居节点,即数据的接收方处通常会发生信号碰撞,使得信息传输失败。所以,MAC协议解决的是节点接入信道的时机问题。一个高效合理的MAC协议,可以使得凡是需要发送数据的节点,在较短的一段时间内都能顺利的接入到信道当中。同时,在数据的传输过程时不会发生频繁的信号冲突。3.1.2数据链路层的主要研究内容3.1无线传感器网络数据链路层概述无线传感器网络的数据链路层在设计时需要考虑一些关键问题来保障数据能够安全、准确、持续地传输。在数据链路层的设计中,首先要被关注的问题就是传输的安全,除此之外,还有以下几项关键性问题。1.网络性能的优化2.跨层优化3.能量效率问题4.公平性5.可扩展性6.信道共享问题3.1.3无线传感器网络数据链路层关键问题3.2MAC协议概述在无线传感器网络中,MAC协议决定了无线信道分配给节点的方式,在无线传感器网络内的节点之间分配无线通信资源。MAC协议基础主要包括:1.信道接入机制2.隐终端和暴露终端3.MAC协议的分类4.无线传感器网络对MAC协议设计的影响因素5.MAC协议的设计6.MAC层状态转换的实现7.主要能量消耗分析3.2.1MAC协议基础3.2MAC协议概述1.信道接入机制信道接入技术为点到点、点到多点或者多点共享建立了可靠的通信链路。不同方式的信道接入机制具有不同的优劣势,也分别有适合自己的应用场景。无线网络的信道接入方式分类下图所示,下面我们对MAC协议的信道接入机制进行分析和归纳。3.2.1MAC协议基础信道接入方式信道接入方式固定分配接入方式混合接入方式按需分配接入方式分布式控制集中式控制随机竞争方式轮替方式申请方式轮询方式3.2MAC协议概述(1)按需分配接入方式在按需分配接入方式中,所有竞争节点共享无线信道资源,节点需要首发数据时,会暂时获得所需要的带宽,并在该带宽内完成业务的收发;当节点没有业务需要时,分配到的带宽就会被释放掉以供其它节点使用。按需分配方式分为:①分布式控制②集中式控制3.2.1MAC协议基础3.2MAC协议概述(2)固定分配接入方式在固定分配方式中,把多个节点共享的某一条信道分割成若干个相互独立的子信道,每个子信道又分配给一个或多个节点专用。(3)混合接入方式任何信道接入方式都肯定有自身的局限性,不能使用于所有的场景。在同一个无线传感器网络中可能存在多种发送需求,或者希望充分利用某种方式的优点并且减少其缺点,为了达到这些目的,通常将几种接入方式一同使用,这种优化的接入方式被称为混合型信道接入方式。3.2.1MAC协议基础3.2MAC协议概述2.隐终端和暴露终端隐终端:在发送节点的侦听范围之外,而在接收节点的干扰范围之内的节点。如下图所示,当节点A向节点B发送报文时,节点C在B的覆盖范围内,在节点A的覆盖范围外,因此C是隐终端。3.2.1MAC协议基础ABC干扰范围侦听范围隐终端3.2MAC协议概述暴露终端:在发送节点的侦听范围之内,而在接收节点的干扰范围之外的节点。如下图所示,在节点B和节点A之间发生数据传输,节点C在节点A的传播范围圈外,在节点B的传播范围圈内,它是暴露终端。3.2.1MAC协议基础ABC侦听范围干扰范围暴露终端D3.2MAC协议概述3.MAC协议的分类由于无线传感器网络的广泛应用,有许多现行的MAC协议,但对MAC协议进行分类,还缺乏统一的标准。因为无线传感器网络和它的应用密不可分,本节根据节点的接入方式,使用信道的数目,采用的控制方式,节点访问信道的方式,信道访问策略对MAC协议进行分类。根据节点接入方式可划分为侦听、唤醒和调度三种MAC协议;根据PHY所采用的信道的数目划分,可以分为单信道、双信道和多信道MAC协议;根据采用的控制方法,将MAC协议分为集中式控制协议和分布式控制协议;根据节点访问信道的方式分为固定分配信道和随机访问信道;根据信道访问策略的不同可分为竞争协议、分配协议和混合MAC协议。3.2.1MAC协议基础3.2MAC协议概述4.无线传感器网络对MAC协议设计的影响因素无线传感器网络无法直接利用现有的无线网络MAC协议。多方面的因素对符合无线传感器网络特性的MAC协议的设计有影响。(1)无线传感器节点对MAC协议的影响①节点能量有限。②无线传感器节点的处理和存储能力是有限的,这是由节点的体积和成本等因素影响的。(2)无线传感器网络的业务特性对MAC协议的影响①业务类型相对单一。②业务流向有一定规律。(3)无线传感器网络节点拓扑结构对MAC协议的影响3.2.1MAC协议基础3.2MAC协议概述5.MAC协议的设计在设计无线传感器网络的MAC协议时,需要着重考虑以下几个方面。(1)资源受限(2)可扩展(3)网络效率3.2.1MAC协议基础3.2MAC协议概述6.MAC层状态转换的实现MAC层的状态变量有两个,一个用来标记射频电路的工作状态,另一个用来标记MAC层的工作状态。射频电路的工作状态有睡眠、空闲发送、接收。MAC层的工作状态有如下几种:空闲、睡眠、监听、发送、退避、等待允许发送(ClearToSend,CTS)、等待数据(Data)、等待确认字符(Acknowledgement,ACK)、等待冗余CTS、等待冗余数据等。两个状态变量的初始状态都是空闲。MAC层为每个状态设置一个定时器,依靠定时器中断来实现状态转换,在定时器超时后做出相应的动作。3.2.1MAC协议基础3.2MAC协议概述(1)系统处在空闲,此时如果有数据发送需求,首先监听信道,信道空闲时设置退避计时器;退避计时器计时结束后,发送请求发送,设置CTS等待接收定时器,进入CTS接收状态;收到CTS后发送数据缓冲区的数据,然后设置ACK,进入ACK接收状态;收到ACK后,只有当数据全部发送完毕后才就转入空闲状态,重复上述过程。3.2.1MAC协议基础空闲态申请信道1、发送RTS2、设置申请定时器发送数据1、发送Data2、设置传送定时器定时器超时收到ACK收到CTS上层协议要求发送数据定时器超时3.2MAC协议概述(2)如果系统在监听信道过程中接收到RTS信息,通过查看目的地址来判断接收方是不是本节点,如果是,则发送一个CTS信息,同时做好数据接收的准备,转入接收数据状态;如果是发给其它节点的RTS或者CTS信息,则设定休眠计时器,进入休眠状态。3.2.1MAC协议基础收到Data收到RTS空闲态发送ACK发送CTS3.2MAC协议概述7.主要能量消耗分析在无线传感器网络中,除了正常的收发任务消耗的必要能量外,MAC层上的额外能量损耗主要来自以下几个方面:(1)空闲侦听在无线传感器网络中的接收节点无法获知数据的准确到达时间,而且每个节点还要侦听各节点的拥塞状况,因此节点需要始终保持侦听状态,这就造成了许多没必要的侦听,导致了能量的浪费,这是节点能量消耗的最主要来源。在数据密度较低的网络应用中,空闲侦听消耗的能量也是很大的。3.2.1MAC协议基础3.2MAC协议概述(2)碰撞冲突:当两个或以上的节点在同一个时刻向同一个节点发送数据包,在接收节点处会发生冲突,如图(a)。(3)串扰:在网络中,每个节点发送消息的形式是广播发送,不是点对点的形式,只要是处在发送节点广播范围内的节点就可能接收到数据包,而这些数据包可能是发送给其它节点的,这就造成了串音干扰,如图(b)。3.2.1MAC协议基础碰撞ABCABC串扰(a)节点B,C同时向A发送数据,产生碰撞(b)节点A向B发送数据,C产生串扰现象3.2MAC协议概述(4)业务量的波动性针对能量浪费的原因,采取相应的策略来降低无线传感器网络节点的能量浪费,延长网络的生命周期。具体方法如下:①周期侦听和休眠②避免冲突③选择合适的同步方法④设置能量消耗优先级MAC协议决定无线信道的使用方式,分配通信资源,构建无线传感器网络系统的底层基础,是保证网络高效通信的关键网络协议之一。3.2.1MAC协议基础3.2MAC协议概述1.基于竞争的MAC协议简述基于竞争的MAC协议有如下优点:(1)当某个传感器节点电池即能量耗尽时,将退出网络,或者一个新节点加入到当前网络时,会造成网络拓扑结构的变化,基于竞争的MAC协议能很好适应无线传感器网络的结构动态变化。(2)基于竞争机制MAC协议可以避免对于节点进行集中的控制。同时,与基于时间的固定分配方式的MAC相比较,它也不需要在节点间进行时间的同步。(3)如果节点没有收发任务则不会参与信道的竞争,因此,基于竞争的MAC协议能适应大规模、高密度的传感器网络。3.2.2基于竞争的MAC协议3.2MAC协议概述2.基于竞争的无线传感器网络MAC协议关键技术(1)休眠机制。MAC协议中广泛使用的有效节能手段是通过定时的关闭节点的休眠机制,这种方法可以避免空闲监听和串听导致节点的不必要的能量浪费。(2)冲突避免机制碰撞会导致接收节点接收不到正确的数据,此时需要发送方重新发送。(3)退避机制在CSMA系列的信道接入技术中,当发生数据碰撞冲突时,发送节点要执行退避算法,延迟一段时间后才再次尝试发送。退避机制的目的是避免重发时再次发生数据碰撞冲突。3.2.2基于竞争的MAC协议3.2MAC协议概述3.S-MAC(SensorMAC)协议S-MAC协议是一个基于竞争的分布式MAC协议,在调节休眠时间调度表减少能量消耗的同时,还权衡了吞吐量和时延。S-MAC协议采用下面介绍的多种机制来减少了节点能量的消耗:(1)周期性的侦听和睡眠(2)流量自适应侦听机制(3)碰撞和串音避免(4)消息传递技术3.2.2基于竞争的MAC协议3.2MAC协议概述4.T-MAC(Timeout-MAC)协议T-MAC协议产生了一种根据负载调整活动时间同时整个周期长度不变的工作机制。T-MAC协议在节点活动的时隙内插入了一个TA时隙,若TA时隙之间没有发生任何一个激活事件,则活动结束,进入睡眠状态。节点周期性唤醒进行侦听,在唤醒的时间周期内,如果节点没有任何活动,则继续进入休眠状态。过程如下图所示。3.2.2基于竞争的MAC协议活动时间睡眠时间T-MACTATATA3.2MAC协议概述1.SMACS(SelfOrganizingMediumAccessControlforSensorNetworks)协议SMACS协议是一种分布式结构的协议,在该协议中,每个节点能够与附近节点通信并自主建立一种数据发送和接收的调度表,而不需要任何或全局或部分的主节点来控制。(1)基本思想SMACS协议是一种具有监听/注册功能的无线传感器网络自组织MAC协议,其基本思想是,为每一对邻居节点分配一个特有频率进行数据传输,不同节点对之间的频率互不干扰,从而避免同时传输的数据之间产生碰撞。(2)关键技术节点与被它发现的邻居节点间形成一个通信链路。在两个节点的中被分配了时隙用于二者之间双向的通信。3.2.3基于分配的MAC协议3.2MAC协议概述2.DMA