《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 一种单信道无线传感器网络的隐藏终端和暴露终端问题解决方案

一种单信道无线传感器网络的隐藏终端和暴露终端问题解决方案

2009-03-06
作者:王 晖

    摘  要: 结合GPS技术提供的定位特点,采用跨层设计思想,提出了一种单信道多跳WSN 网络的媒体访问控制协议。在协议的控制帧中携带路由信息和状态信息,根据这些信息,判断存在的暴露终端和隐藏终端,同时利用上游节点的ACK应答作为与下游节点的RTS握手,建立CTS/DATA/ACK的三次交互机制。仿真表明,与已有的IEEE802.11和MACA-BI等同类协议相比,该协议可有效解决隐藏终端和暴露终端问题,提高网络的吞吐量和端到端的延时,并降低网络的握手开销和控制帧的冲突概率。 

    关键词: 无线传感器网络; 隐藏终端; 暴露终端; 全球定位系统

 

    无线传感器网络的出现改变了人与自然的交互方式,是21世纪最具影响的IT技术之一,在军事、环境、医疗、家庭和其他的商用领域有很高的应用价值和广阔的应用前景。由于WSN网络的特殊性,基于固定或有中心控制的网络协议不能满足其要求。基于共享广播信道的传统接入技术ALOHA、CSMA等只能在一跳共享的情况下使用,而WSN网络是多跳共享的,存在隐藏终端和暴露终端问题,所以不能直接使用,因此出现了很多改进的协议,如MACA、MACAW、MACA-BI等,最终形成了802.11的DCF机制。它们通过握手机制来避免冲突,以适应WSN网络的特殊环境。可是在单信道环境下,并不能完全解决隐藏终端和暴露终端问题。隐藏终端和暴露终端问题带来的冲突使得通信节点需要重发已发送的信息,如果重发后继续有冲突发生,网络的通信就会陷入一种恶性循环,同时也增加了不必要的重发,导致网络吞吐量降低和延迟的增加,因此在MAC协议中设计克服多跳带来的隐藏终端和暴露终端的影响是必须解决的关键问题。本文结合GPS定位技术和跨层设计的思想,提出了一种基于IEEE802.11的跨层协作MAC协议——GPSMAC。 

1 相关的研究工作和存在的问题 

    隐藏终端和暴露终端的存在实质上是由于采用了载波侦听技术而带来的问题。对于隐藏终端和暴露终端,通常的解决方法是在每次发送数据之前,通信双方先使用短控制报文进行握手,但是简单地采用握手机制在单信道无线网络系统中并不能解决完全隐接收终端问题、暴露发送终端和暴露接收终端的问题[1]。目前有人提出将信道划分为控制信道和数据信道的方法,这样永远不会发生数据分组与控制分组,以及数据分组之间的冲突,但缺点是增加了新的硬件资源和成本。因此如何降低其带来的影响是解决问题的另一种途径。MACA-BI等协议就是从该角度出发提出的新的握手控制协议,此类协议由接收节点发起握手,而发送节点在收到握手之后直接发送数据,有效减少了握手开销。另一类是由发送端发起的握手,如RIMA、IEEE802.11。理论上,由接收端发起的握手协议比由发送端发起的握手协议有更好的网络性能,但这类协议[2,3]在很大程度上依赖于接收节点对来自上游节点的预测结果。然而在实际的应用中,对于实时性业务和突发性业务来说是极不确定的,很难根据一种预测算法来准确地触发握手信号的发送,即由接收端发起的握手协议的有效性是难以界定的。 

2 采用跨层设计思想的GPSMAC协议 

2.1 GPSMAC协议设计思想 

    本文基于IEEE802.11提出了一种新的单信道MAC层协议,与其他协议不同的是本协议采用跨层设计[4]的思想,通过物理层、MAC层和网络层的跨层协作,有效降低单信道下隐藏终端和暴露终端的影响,提高网络的性能。跨层设计的主要目标是实现逻辑上并不毗邻的各协议层间的信息共享和互动操作。在原有的分层体系结构中,每一层分别设计并相互独立,层间接口是静态并且独立于个别的网络约束和应用,这种体系结构模型在互联网中极大地简化了网络设计并且可以得到具有良好鲁棒性和扩展性的协议,但在WSN网络中,该模型的刚性和局部优化性将严重限制网络的性能。本文引入跨层设计的思想,物理层的主要任务是向MAC层、网络层提供本层的GPS定位信息,MAC层将网络层传来的网络拓扑变化信息传递给物理层,网络层则提供路由信息和状态信息给MAC层和物理层,即三层的信息作为其他协议层优化设计的依据,来解决隐藏和暴露终端问题造成的不利影响。跨层设计方案如图1所示。 

 

 

2.2 GPSMAC协议设计 

    GPS技术具有提供节点位置信息的能力,本文假设利用已有的定位算法[4]可以得到准确的节点位置信息。因此节点之间可以根据此信息和路由信息建立相互的位置信息列表List。Lid表示邻居节点的位置信息,在多跳业务的控制帧中包含此Lid。下游节点同时监听上游节点的CTS、ACK并获取Lid和状态信息Sid。状态信息Sid用于标识节点发布的隐藏终端或暴露终端信息。在无信息传输时,通过节点定位帧周期性地轮询,及时对网络拓扑发生的变化做出响应,以便对节点之间的相互位置信息进行更新。 

    如图2所示,设数据从节点A经B、C发送到节点D,并且节点之间没有传输错误发生。

 

 

    节点A向B发送RTS的同时,包含B的位置信息Lid和状态信息Sid,若状态信息Sid表示该节点不是隐藏终端或暴露终端,并且A具有满足发射的能力,则节点B提取RTS中的Lid,同时标识自身的Sid,将Lid和Sid包含在CTS中返回节点A,此时节点C监听到来自于B的CTS,提取CTS中的Lid和Sid,在List中查询,若本地List中存在此Lid,则表明C是节点B的下一跳节点,同时监听节点B的Ack信号。节点A收到来自于节点B的CTS,开始发送Data,节点B收到Data并返回Ack应答,这时Ack相当于802.11协议中的RTS,将触发节点C的CTS直接发送。节点C监听到来自节点B的Ack信号后,根据提取的Sid做出的判断,向B发送包含了Lid和Sid的CTS。向B发送CTS的同时被节点D所监听,节点D将重复节点C的操作。当A与D之间的数据传输结束,要将Lid和Sid的信息置空,表示传输结束。 

    图3是GPSMAC协议设计的冲突处理机制。 

 

 

2.3 隐藏终端和暴露终端问题的解决 

    隐藏终端是指在接收节点的通信范围内而在发送节点的通信范围外的节点。如图4(a)所示,节点B既在节点A的通信范围内,也在节点C的通信范围内,节点A和节点C却不在相互的通信范围内。当节点A向节点B发送数据时,由于隐藏终端C听不到A发送信息,也可能向节点B发送信息,这样就造成报文在接收终端B处的碰撞,可能导致节点B不能解释任何信息,从而降低了信道的利用率,增加了系统时延。同样C向B发送信息时,A也是C的隐藏终端。暴露终端是指在发送节点的通信范围之内而在接收节点的通信范围之外的节点,如图4(b)所示,当节点B向节点A发送信息时,节点C因听到节点B的发送而延迟发送,但节点C在接收节点A的通信范围之外,只要节点C不准备与节点B通信,它的发送就不会影响节点B的发送,更不会在节点A处造成冲突,节点C是暴露终端。隐藏终端和暴露终端可以分为隐藏发送终端和隐藏接收终端、暴露发送终端和暴露接收终端四种情况。其中隐藏接收终端(隐藏终端C作为接收者)、暴露发送终端(暴露终端C作为发送者)和暴露接收终端(暴露终端C作为接收者)问题,使用RTS-CTS的握手机制是无法解决的,其根本原因是控制报文和数据报文同在一个信道上传送会发生冲突。 

 

 

    本文采用跨层设计思想,利用来自网络层和物理层的路由信息和定位信息建立的位置信息列表List和状态信息Sid来解决上述问题。图4(a)中节点的位置信息列表如表1所示。 

 

 

    下面以图4为例说明隐藏终端和暴露终端问题的解决。在图4(a)中,A向B发送RTS+Lid+Sid,B向A返回CTS+Lid+Sid,此时Sid的状态为“忙”,节点C监听到来自于B的CTS,提取CTS中的Lid和Sid,在List中查询,若本地List中存在B但不存在A,则表明C是节点A的隐藏终端,B正在与A通信,于是C向邻居节点D发送状态信息Sid,通知D它是隐藏终端,暂时不要向其发送数据,D可以处理其他事务,直至节点C监听到来自节点B的ACK信号。对于暴露终端问题,处理方法与隐藏终端的处理相似。在图4(b)中,当B准备向A发送数据时,首先向A发送RTS+Lid+Sid,A收到后将返回一个CTS+Lid+Sid,C监听到来自B的RTS+Lid+Sid,提取RTS中的Lid和Sid,在List中查询,发现本地List中存在B,但不存在A,同时C没有收到来自A的CTS,则表明C是暴露终端,C停止向B发送数据,并且通知邻居节点D,先处理其他事务,目前不能通信,直至C监听到来自B的Sid“非忙”状态信息,C才会恢复与B或C的通信。图4(b)中节点的位置信息列表如表2所示。 

 

 

2.4 冲突处理机制 

    在本文提出的GPSMAC协议中,一跳以外的节点间的通信是由对上游节点的ACK帧的监听来实现的,若ACK帧发生冲突,则下游节点无法证实上游节点的数据是否已经完成数据的成功接收,同理CTS帧的冲突也会造成通信的延迟,甚至失败。因此通过设置定时器来解决这一问题。 

    在图3中,当D 同时接收到C发出的Ack帧与网络中的某个移动节点发送的数据帧或Ack帧,则它们会发生冲突;或者来自另一条路由上的RTS与D向C发送的CTS发生冲突,使C无法接收到D发出的CTS。为了解决这一问题,当C向B发送Ack时,启动定时器Timer,当时间超时,C仍未收到CTS,表明Ack或CTS丢失或冲突,则C将向D主动发出握手信息RTS,重新建立C与D之间的联系,从冲突中恢复。此外,通过Lid和Sid的传递及层间协作机制,可以避免协议中存在的无效CTS和CTS冲突现象,当节点完成数据的接收并向上一跳节点发送Ack信号时,需将Ack信号中的Sid置空,表明数据包的传输完成,避免了协议中无效的CTS发送,同时可以根据Lid来判断其相邻的多个节点中,由哪个节点发送CTS,来避免CTS的冲突。 

3 协议性能分析  

    本文提出的GPSMAC协议利用GPS的技术优势增加位置信息Lid和状态信息Sid来有效降低节点发射失败和隐藏、暴露终端问题造成的影响,提高WSN网络的性能。该协议一方面可以解决隐藏终端和暴露终端问题对网络性能造成的影响,另一方面节约了控制帧RTS、CTS、ACK传输开销,即在一跳之后RTS-CTS握手变为只有CTS握手。使用仿真工具实现提出的GPSMAC协议,并与IEEE802.11和MACA-BI协议进行了比较。针对图4建立网络的拓扑结构,主要的仿真参数的设定和仿真结果如表3、图5~图7所示。仿真结果表明,随着网络负载的增加,新提出的GPSMAC协议和MACM-BI、IEEE802.11相比,在吞吐量、延迟性和控制报文的开销上均有较大改善,说明了协议对隐藏终端和暴露终端问题的处理的有效性。无线传感器网络是当前国际上备受关注的,涉及多学科高度交叉、知识高度集成的前沿热点研究领域。传感器网络广阔的应用前景和潜在的实用价值已经引起了许多国家学术界和工业界的高度重视,被认为是将对21世纪产生巨大影响力的技术之一。本文提出了一种利用GPS的技术特点和跨层设计思想设计的MAC层协议,目的在于解决无线WSN网络的隐藏终端和暴露终端问题带来的影响,以提高网络的性能,并定义了冲突避免机制。下一步的工作是在实际的物理平台上实现本文的协议设计,通过物理实验进一步验证本文设计方案的有效性。 

 

 

 

 

 

参考文献 

[1] 孙利民, 李建中.无线传感器网络.北京:清华大学出版社, 2005. 

[2] IEEE 802.11,Wireless LAN Medium Access Control(MAC) and Physical Layer(PHY) specification[S]. 

[3] MORRAES R M D, Garcia-Luna-Aceves J J. Receiverinitiated collision avoidance in multi-hop ad hoc networks[A]. ProcCIC’04[C]. Las Vegas: IEEE Press, 2004.124-126. 

[4]  MONTILLET J P, BRAYSY T, OPPERMANN I. Algorithm     for nodes localization in wireless ad-hoc networks based on cost function[A]. Proceedings of the International Workshop on Wireless Ad-hoc Networks(IWWAN2005)[C].http://www.cs.berkeley.edu. 

[5] WALROD J. Sensor network technology for joint undersea warfare[A]. Proc. Of the NDIA Joint Undersea Warfare Technology Conference[C]. San Diego, 2002. 

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。