APP下载

6LoWPAN多跳网状路由协议设计与仿真

2010-07-05程宏斌

淮阴工学院学报 2010年1期
关键词:路由表结点报文

程宏斌

(常熟理工学院计算机科学与工程学院,江苏 常熟 215500)

0 引言

将IPv6与无线传感器网络结合是当前的一个热门研究领域。IETF的6LoWPAN工作组致力于在IEEE 802.15.4标准上传输IPv6数据包,使得6LoWPAN网络节点能够利用IPv6地址实现互联,并可接入互联网。该工作组仅提出了适配层技术草案,其它技术还在探讨中,其中6LoWPAN路由技术是亟待解决的关键技术之一。

现有的6LoWPAN路由协议主要有网状路由和分级式路由。文献[1]提出一个Mesh路由协议,它具有快速重路由能力,使网络有很大的弹性,组网灵活;文献[2]提出一个分级式路由协议,它根据事先定义的动态地址分配算法实现数据转发,能可靠地在树状网络中转发数据,且不用建立和维护路由表。选择哪一类路由协议应根据不同应用的要求来确定,如Mesh路由协议可用于大规模随意布点的场合,组网速度快,且有一定的抗毁性。而分级路由协议适合于停车管理等场合,它能可靠地沿着一条路径传送数据。

本文针对6LoWPAN网络的特性,分析其对路由协议的要求,设计了一种低开销的单播路由协议方案,并在NS-2中进行了性能仿真,结果证明有效的实现了6LoWPAN网络路由功能。

1 6LoWPAN网络路由要求

一般6LoWPAN网络拓扑结构相对简单,规模相对较小,节点位置不固定,节点资源有限且长期工作于睡眠模式,其底层硬件与其它无线通信具有较大的区别,故其路由协议不能直接使用传统的自组网路由协议。

针对6LoWPAN网络特点,设计路由协议时有以下要求:

第一,路由协议必须支持多种类型和角色的设备,如资源受限节点、网关、数据融合节点。

第二,为了应对6LoWPAN网络的低带宽和高分组丢包率,路由载荷要尽量小以防止路由消息在物理层分片。根据不同的应用层需求设计相应的分组投递率,根据不同的应用层需求和IEEE802.15.4潜在的特性设计相应的端到端数据通信性能。可靠处理由于动态发生的链路失效或节点无效引起的数据丢失。恰当的处理链路不对称问题,实现网络负载均衡。

第三,6LoWPAN支持不同的拓扑和规模的网络。路由协议需动态适应网络拓扑结构的变化。尽管一些节点周期性处于睡眠工作模式、路由协议仍然要可靠工作。需选取更好的路由权重以选出最优路由。路由修复和相关的控制消息不能影响路由协议的总开销。路由协议需支持不同的通信模式(点对点,点对多点等),避免过多的多播通信。

第四,为实现低开销,路由协议在MAC层之上、网络层之下实现,这样路由协议就用链路层地址来实现网内的路由查找和报文转发。

2 路由协议设计

2.1 设计方案

学术界提出了若干6LoWPAN路由方案,虽然都是轻量化的协议,但仍使用广播方式查找路由,路由开销仍然较大。本文提出的路由协议是一种基于网状拓扑的平面结构按需式单播路由协议,工作在MAC层与IP层之间,特点如下:

第一,网络中各节点在路由功能上地位相同,各节点都能参与路由并分担传输流量,抗毁性强。

第二,按需式路由:可以降低路由开销,提高网络吞吐量。

本协议仅有最基本的2个功能:路由发现、路由维护。路由的建立通过路由请求和路由回复过程实现,路由维护使用路由出错报文实现。

协议采用精简的路由表和多跳转发的方式转发分组,并采用简化的路由报文格式,且路由请求和回复报文格式相同。协议不使用最短路径路由算法,而使用传感器网络特有的链路质量LQI作为路由权重。使用802.15.4 MAC层特有的ACK机制来保证路由的可达性。协议依赖于对称性的链路,不能处理非对称性链路的网络。协议取消常用的路由本地修复功能和周期性的hello消息发送,使协议更优化,开销更小。

2.2 路由算法流程

当节点发送数据,首先节点构造一个路由请求报文RERQ并通过IEEE802.15.4链路层多播广播此消息,RERQ沿所有可能的链路传遍整个网络以发现目标结点,它经过的每一个中间结点生成一条到源结点的路由。当目的节点收到后,构造一个路由回复报文RERP并单播给源节点。RREP经过的每个中间结点均会建立到目的结点的路由。本协议只有目的节点才能构造RREP,中间节点即便有到目的节点的路由,也会广播RREQ,由此可避免循环问题和无效RREP,提高了传输效率。当源节点收到该RERP消息,就在源结点和目标结点之间建立了一条双向路由。源节点就能依据此路由发送数据,发送过程中若该路由不可达,中间节点就构造并发送一个RERR给源节点,以通知链路失效。源节点收到RERR后,若数据未发送完,则重新发起一个RERQ进行新的路由查找。

2.3 路由报文

路由消息包括RERQ,RREP和RERR。每个路由节点维护一个路由表,其表项是一个向量v=(D,S,N,W,T1,T2),其中D 表示目的节点,S 为源节点,N为下一跳,W 为从路由权重,T1为该表项的无效时间,T2为该表项的删除时间。若当前时间超过T1,相应的路由失效。若当前时间超过T2,相应的路由从路由表中删掉。RERP和RERQ格式相似,如图1所示。

其中,type标识路由报文的类型,1是RERQ,2是RERP。TTL是消息转发的最长时间。Metric是路由权重LQI值。S是消息的发起节点。对于RERQ,S是产生RERQ的节点地址,对于RERP,S是回答RERQ的节点地址。D是被查找节点的地址。ID是一个RREQ的标识,它保证节点之间只对一个RREQ进行一次处理,并与一个特定的RREQ所对应的RREP匹配[5]。

RERR报文格式较简单,主要包括:类型标识、产生RERR的节点、RERR发往的目的节点及导致产生RERR的故障节点地址。

2.4 路由查找和维护流程

当节点转发IPv6报文时,先判断是否是广播报文。如果是,则向自己的邻居转发。否则,依据目的地址查路由表,若找到路由则转发此报文。反之,备份IPv6报文,新建一个RERQ并广播出去,并修改RREQ ID以记录该节点转发了一次RERQ消息。节点收到需要的RERP之前不再发送RERQ。节点收到RERP后,按照所获得的路由转发IPv6报文。若在预期内未收到RERP,节点重新创建一个RERQ进行路由查找,预期内仍未收到RERP,则认为路径不可达,IPv6报文无法发送。路由查找流程如图2所示。

图2 路由查找流程

图3 RERQ处理流程

当中间节点收到RERQ时,先检查自己的路由表,根据RERQ中的源节点地址判断是否有相应的条目。若没有,创建一个新的条目。否则,比较消息中的路由权重和已有的条目中的相应值,若消息中的值大,丢弃该RREQ。反之,根据消息中的内容更新该路由表条目。然后,中间节点判断RREQ是否是给自己的,若是则向源节点单播一个RERP。若不是,则查找路由表相应条目将消息转发出去,找不到相应的路由则向该中间节点的邻居广播RERQ。详细流程如图3所示。

为了对网络拓扑动态变化做出反应,结点要维护它们的路由,监视它们的链路。实现方法如下:在使用一条路由转发IPv6报文之前,必须对该条路由进行有效性检测。若当前时间超过路由的ValidTimeout,则报文无法转发,随之新建一个RERR,以通知源节点该路由已经失效。如果当前时间超过路由的删除时间,则删除路由。节点还需对所有使用该失效链路的路由的无效时间设为当前时间。

3 协议性能仿真

3.1 仿真模型

本文用NS-2对设计的协议进行仿真。IEEE 802.15.4模型使用CUNY提供的MAC仿真模块实现。仿真中设置一个100m×100m范围的mesh多跳网络,该区域随机分布50个结点。网络中有1个PAN节点和若干个coordinator节点和设备节点,仿真时间300秒。PAN节点和coordinator节点均为FFD,设备节点是RFD,每个节点的间距都是10米,每个节点的传输距离是13米。节点间传输数据速率是250Kbps。仿真中使用的报文发送的分布概率分布是泊松流量,平均报文速率是1pps。应用层的报文大小是250byte,无线传播模型都是two-way-ground模型。在所有的FFD节点上依次设置设置本路由协议。随机产生20个节点向一个PAN发送数据包。

3.2 仿真结果及分析

路由协议分析常用的性能指标有很多,限于篇幅,本文仅对平均端到端时延、分组投递率和路由开销进行仿真。通过大量仿真实验,处理数据后可以得到本协议和现有6LoWPAN网络路由协议LOAD的性能对比。结果表明:本协议的路由开销较小,降低了网络中端到端的数据延迟时间,两种协议的分组传送率相近。

图4中,协议的路由开销随着节点停留时间的延长而降低,这说明当节点减少移动后,网络的拓扑结构变化趋慢,路由查找和维护的报文减少。而且,本协议的路由开销相对较少,这是因为协议采用精简的路由报文格式、简化路由查找算法、且没有使用周期性的广播报文hello以及限制RREP,只能由目的节点构造等优化设计带来的效果。

图4 路由开销

图5 平均端到端时延结果

图5中,随着节点的停留时间增大,两种协议的平均端到端时延都减小。这是因为随着节点停留时间增大,节点减少移动,各种路由消息(RREQ、RREP)和路由维护报文RRER减少,故减少了路由发现操作的频度所导致的延时及因路由不可达而造成的丢包带来的传输时延。

图6表明,数据分组的投递率随节点停留时间增加而增大,这是因为随着节点停留时间增大,节点减少移动,路由信息变化变慢,路由维护开销减少,故减少了因路由不可达而造成的丢包。

4 结论

本文详细分析6LoWPAN网络路由协议的要求,详细设计了一种高效的低开销按需路由协议。仿真和实验结果表明,该协议具有简单性、低网络延迟、低开销以及较高的分组投递率,能较好地适应6LoWPAN网络拓扑变化。该协议目前还不尽完善,改进协议性能的进一步实验和测试正在进行中。

[1]Montenegro G,Yoo S,Kushalnagar N.6LoWPAN Ad Hoc On-Demand Distance Vector Routing(LOAD)[EB/OL].http://tools.ietf.org/wg/6lowpan,2007.6.19.

[2]KIM K,YOO S,PARK D.Hierarchical Routing over 6LoWPAN(HiLow)[EB/OL].http://www.vsix.net/other/summit/Korea2006/www.ipv6.or.kr/summit2006/proceeding/TS123.pdf,2006.4.

[3]Kim E,Kaspar D,Gomez C.Problem Statement and Requirements for 6LoWPAN Routing[EB/OL].http://tools.ietf.org/wg/6lowpan/draft-ietf-6lowpan-routing- requirements/,2008.11.18.

[4]KIM H,HONG C,OKAMURA K.A routing scheme for sup-porting network mobility of sensor network based on 6LoWPAN[C].Proceedings of 10th Asia-Pacific Network Operations and Management Symposium:APNOMS 2007,LNCS 4773.Berlin:Springer-Verlag,2007:155-164.

[5]Kim K,Montenegro G,Daniel Park S,etc.Dynamic MANET On-demand for 6LoWPAN(DYMO-low)Routing[EB/OL].http://www.ietf.org/ietf/1id- abstracts.txt,2005.10.16.

猜你喜欢

路由表结点报文
基于J1939 协议多包报文的时序研究及应用
基于八数码问题的搜索算法的研究
CTCS-2级报文数据管理需求分析和实现
基于OSPF特殊区域和LSA的教学设计与实践
研究路由表的查找过程
浅析反驳类报文要点
Ladyzhenskaya流体力学方程组的确定模与确定结点个数估计
ATS与列车通信报文分析
基于Raspberry PI为结点的天气云测量网络实现
BGP创始人之一Tony Li:找到更好的途径分配互联网地址