面向无线抄表应用的路由算法的研究与仿真

2013-09-08 10:16何健浩
计算机工程与设计 2013年10期
关键词:路由表报文路由

王 欣,周 侗,何健浩

(1.中国科学院 沈阳自动化研究所,辽宁 沈阳1100161;2.中国科学院大学,北京100049)

0 引 言

伴随着城市化进程的不断发展,人们对自动抄表应用的呼声越来越高[1]。目前中国的自动抄表技术主要为IC卡抄表、电力载波抄表、RS485总线抄表等,但是这些措施各自都有很大的弊端[2]。IC卡抄表因表具直接与用户接触,极易造成人为破坏,不能实现在线实时监控;电力载波抄表易受电磁干扰,严重影响了通信质量,线路阻抗特性及衰减问题也制约了信号传输距离;RS485总线抄表数据传输可靠性较高,但是前期布线困难,后期维护复杂、成本高。无线抄表技术具有易于实现、传输速率高、成本造价低、易于普及等优点,是未来中国公共事业发展的必然趋势[3]。本文在无线抄表系统的框架下,提出了可靠的路由建立和维护算法,有助于实现能源企业对用户三表的自动监测、计量、管理。

1 系统结构

按照小区规模,在多栋楼之间设置中心节点,中心节点的设计类似于普通节点,但其计算量、存储量比普通节点大,它主要负责转发无线节点上传的数据和服务器下达的命令。用户计量表为单个节点,采用无线网络将采集到的数据上传至中心节点,最后由中心节点通过GSM、GPRS、3G等无线技术发送到管理部门的服务器,实现能源公司对用户数据的在线监测、管理和统计报表等[4]。系统结构如图1所示。

系统主要由3部分组成:

(1)安装在用户家中具有感知采集、计算存储、无线传输功能的智能计量表 (无线节点);

(2)安装于多栋楼之间的中心节点;

(3)服务器管理系统,一般安装在能源管理公司。

图1 无线抄表网络结构

该系统采用被动抄表方式,中心节点接收到服务器管理中心发来抄表命令后,通知所管辖的节点将数据打包上传,节点通过查询路由表将数据沿最优路径上传至中心节点,最后转发至服务器管理中心[5]。数据通信的可靠性是衡量无线抄表系统性能的重要指标[6],论文对无线抄表系统中心节点至用户计量表节点之间的下行通信网络进行研究,设计了一种面向无线抄表应用的路由算法,通过一定的路由建立和维护机制来保证通信链路的可靠性,并对该路由算法进行了建模仿真。

2 路由算法

2.1 路由建立算法

网络中每一个节点都拥有一张邻居表[7],登记一跳范围内的节点信息,用以路由维护,邻居表结构如表1所示[8]。

表1 邻居表结构

(1)路由建立时,中心节点构造路由建立请求报文,报文中包含当前节点距中心节点的跳数Node_length,中心节点初始化Node_length=0,目的地址为全网广播地址0xFFFFFFFF,将路由建立请求报文注入网络;

(2)网络中节点维护着自身的深度属性iNode_length,即该节点距离中心节点的跳数,上电初始化为0xff。节点接收到不同邻居节点转播的路由建立请求报文后,将请求报文中的Node_length与自身深度属性值iNode_length作比较[9]:若Node_length+1<=iNode_length,修改自身深度属性值iNode_length=Node_length+1,将报文中前一跳节点加入到邻居表,设置Relation=Parent,并将路由建立请求报文中上一跳地址改为本节点地址,Node_length值加1,继续广播路由请求报文;若Node_length>=iNode_length,仅将前一跳节点登记到自身邻居表中,不再转播该报文。

(3)路由请求转发完毕后,节点访问邻居表选择最优父节点登记到路由表中,并将路由表信息打包为路由登记报文单播至父节点,最优父节点选择依据:①深度值小的节点;②链路质量优的节点;

(4)节点接收到下游节点发送的路由登记包后,将子节点的路由信息登记到自身路由表中,继续上传路由登记包至中心节点。路由建立算法流程图如图2所示。

图3为网络中节点建立链路后的示意图,短地址为1.0的是中心节点,短地址从1.1到1.8的是用户计量表节点。表2为节点通过路由登记报文建立的路由表。从表2中可以清楚地看到每一级节点的路由表都是上一级节点路由表的子集。假设中心节点 (1.0节点)想给1.6节点下达一个命令。中心节点访问自己的路由表,找到1.6节点的父节点1.5节点,继而找到1.5节点的父节点1.3节点,中心节点将报文单播给1.3节点。1.3节点收到报文后再访问自己的路由表,重复上述过程,将此命令转发给1.5节点,依此类推,最终将报文发送至1.6节点。

双向的路由建立算法,使网络中节点建立了上下行路由:路由建立请求报文使节点建立了自身到中心节点的最优链路,通过路由登记报文,节点建立了到子节点的下行路由。在此过程中,节点登记了完整的邻居表,在增加冗余链路的同时,维护邻居节点状态,提高了算法的可靠性。

2.2 路由维护算法

在无线抄表实际应用中,计量表节点自身功耗过低、外部干扰或人为因素都将导致节点离开网络,另外,节点的更换、新节点入网等情况也将使网络链路发生变化,需要及时更新路由表以维护可靠路由[10]。本文采用双向Hello报文进行路由维护,通过邻居节点间相互交换Hello报文管理邻居表中节点状态变化,从而保证节点上下行路由的可靠性。

网络节点周期性的向邻居节点广播Hello报文,报文的目的地址为一跳范围内的广播地址0xFFFFFFF1,邻居节点收到Hello报文后,修改目的地址为源节点的地址,并将自身节点的深度值加入到报文中单播发送至源节点,源节点收到邻居节点发送的Hello回复报文后,查看邻居表:

(1)若该节点存在邻居表中,更新节点深度值并将该节点对应的Fail_time值复位为0;

图2 路由建立算法流程

图3 节点路由

(2)若在一定时间内,没有收到某邻居节点的Hello回复报文,将该邻居节点的State属性改为离线,并查看邻居表中该节点的Fail_time值,若Fail_time< MAX_FailTimes,Fail_time值加1,若Fail_time>= MAX_FailTimes,说明该节点已离开网络,清除邻居表中该节点的信息。若此节点为路由表中父节点,则说明上行路由失败,节点从邻居表中选择最优节点更新路由表 (邻居表中失败节点信息已删除),并通过新的父节点向中心节点发送路由更新报文。若此节点为路由表中子节点,节点删除该路由,通过父节点发送路由更新报文。

(3)若邻居表中不存在该节点,说明此节点为网络新增节点,将该节点信息注册到邻居表中,并通过自身父节点上传路由更新报文。

表2 部分节点路由表

新入网节点上电后,定时发送Hello报文,根据接收到的Hello回复报文将邻居节点加入到自身邻居表,并选取最优父节点登记到路由表中,同时通过父节点向中心节点发送路由更新报文。

图4为Hello报文交换示意图。地址为2.0的节点周期性的广播一跳范围内Hello报文,邻居节点返回Hello回复报文,2.0节点根据 Hello回复报文更新邻居表。图5为Hello回复报文示意图,因链路失效,2.0节点在定时时间内没有收到3.1节点的Hello回复报文,则改变邻居表中3.1节点对应的State和Fail_time属性值。表3为2.0节点邻居表。

图4 Hello报文发送

图5 Hello回复报文发送

表3 短地址为2.0节点邻居表

3 路由协议建模及仿真

通过OMNeT++网络仿真软件建立无线抄表网络模型,验证路由算法的可靠性[11]。网络的覆盖面积为500m×400m,无线信道带宽为1M,网络的节点数目为9个,节点的最大传输距离为100m,网络拓扑如图6所示。假设节点的分布相对均匀,系统中sink节点定时发送路由建立请求报文至各个智能表节点,网络中节点根据路由建立算法回复路由登记报文,从而为每个终端节点建立最优路由。

图7为路由建立后,网络中各节点上传数据示意图,从图中可以看出,网络中各节点均维护着自身到中心节点的最优路由,数据沿最优链路多跳转发至中心节点。例如:短地址为3.1的节点产生的数据依次经过2.0、1.0节点上传至sink节点;网络中短地址为1.0和2.0的节点作为较高层次的父节点,维护着较多的下游子节点,故发送报文数量明显多于其他节点,图8为各节点发送报文数量统计图。

图6 网络拓扑结构

图7 节点数传输

图8 节点传输报文数目统计

节点通过Hello报文互换机制管理网络拓扑结构,及时更新邻居表和路由表,确保终端节点通往中心节点的链路可靠。图9为短地址为1.0的节点失效离开网络后,各终端节点的数据传输示意图。短地址为2.0的节点从邻居表中选择短地址为1.1的节点作为新的父节点更新路由表,此时,1.1节点的下游子节点明显增多,任务量加重,由图10可见,1.1节点的报文传输量较图8明显增多。

图9 1.0节点失效后数据传输

图10 1.0节点失效后报文传输数量统计

4 结束语

本文提出了一种面向无线抄表应用的路由算法,该算法通过路由建立请求报文和路由登记报文使网络中节点建立了自身到中心节点的最优路由,减少节点转发报文数量,降低了网络负荷;基于Hello报文的邻居交换机制可有效的进行路由维护,提高节点上下行路由的可靠性,算法复杂度低,可靠性高。仿真结果验证了该算法的有效性和可行性。但对无线抄表系统中报文传输的冲突问题还有待进一步研究[12]。

[1]DONG Jian,CHANG Zhengyue.The situation and development trend of intelligent instrument and remote centralized meter reading [J].Chinese Journal of Scientific Instrument,2010,31 (8):120-125 (in Chinese). [董健,常正跃.智能仪表及远程集中抄表的现状及发展趋势 [J].仪器仪表学报,2010,31 (8):120-125.]

[2]SUN Lian.Research and development of gas meter reading system based on wireless channel [D].Nanjing University of Science and Technology,2007:1-8 (in Chinese).[孙炼.基于无线通道的燃气自动抄表系统的研究与开发.南京理工大学,2007:1-8.]

[3]The Smarter China.The future of wireless meter reading[OL].[2012-10-10].URL:http://www.smarterchina.cn/dianwangDongtai/20121010/10163712473.html (in Chinese).[智慧中国网.无线抄表将逐渐成为未来发展的趋势[OL].[2012-10-10].URL:http://www.smarterchina.cn/dianwangDongtai/20121010/10163712473.html.]

[4]Chen G L,Chen S L,Guo W Z,et al.The multi-criteria minimum spanning tree problem based genetical gorithm [J].Information Sciences,2007,177 (22):5050-5063.

[5]WANG Zhongfeng,ZHU Zhen,WANG Yingnan.Remote meter reading system based on wireless sensor network [J].Journal of Chinese Computer Systems,2011,32 (15)84-87 (in Chinese).[王忠锋,朱珍,王英男.无线传感器网络的远程抄表系统 [J].小型微型计算机系统,2011,32 (15)84-87.]

[6]BOUGARD B.Energy efficiency of the IEEE 802 [C]//15.4 standard in dense wireless microsensor networks:modeling and improvement perspectives.IEEE CNF,2006:196-201.

[7]SUN Dongxun,CAO Jianfu,ZHENG Jiguang.A clustering routing algorithm of WSN for industrial measurement and control[J].Information and Control,2012,41 (6):780-784(in Chinese).[孙东旭,曹建福,郑辑光.面向工业测控的无线传感器网络分簇路由算法 [J].信息与控制,2012,41(6):780-784.]

[8]ZHU Zhen.Design and implementation of WIA remote wireless meter reading protocol [D].Beijing:Dissertation Library of the Chinese Academy of Science,2011:29-35 (in Chinese).[朱珍.WIA远程无线抄表协议设计与实现 [D].北京:中国科学院研究生院硕士论文,2011:29-35.]

[9]YANG Qin,SUN Ting.A routing protocol of wireless sensor network based on minimum hop count [J].Computer Engineering,2008,34 (22):129-131 (in Chinese). [杨琴,孙亭.基于最小跳数的无线传感器网络路由协议 [J].计算机工程,2008,34 (22):129-131.]

[10]TIAN Le.Research on wireless sensor network topology and routing technology [D].Beijing:Beijing University of Posts and Telecommunications,2007:37-50 (in Chinese). [田乐.无线传感器网络拓扑和路由技术的研究 [D].北京:北京邮电大学博士论文,2007:37-50.]

[11]ZHAO Yongli,ZHANG Jie.OMNeT++and network simulation [M].Beijing:Posts & Telecom Press,2012:232-335(in Chinese). [赵永利,张杰.OMNeT++与网络仿真[M].北京:人民邮电出版社,2012:232-335.]

[12]ZOU Yu,PENG Jian,LI Hongyou.Routing algorithm of hierarchical wireless sensor network [J].Computer Science,2012,39 (10):65-68 (in Chinese).[邹瑜,彭舰,黎红友.一种基于分层无线传感器网络的路由算法 [J].计算机科学,2012,39 (10):65-68.]

猜你喜欢
路由表报文路由
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
基于OSPF特殊区域和LSA的教学设计与实践
铁路数据网路由汇聚引发的路由迭代问题研究
研究路由表的查找过程
多点双向路由重发布潜在问题研究
浅析反驳类报文要点
一种基于虚拟分扇的簇间多跳路由算法
路由重分发时需要考虑的问题
ATS与列车通信报文分析