APP下载

MESH结构无线传感器网络路径确定性探讨

2013-12-01凌志浩

自动化仪表 2013年1期
关键词:网关数据包路由

李 潇 凌志浩,2 左 芸

(华东理工大学信息科学与工程学院1,上海 200237;化工过程先进控制和优化技术教育部重点实验室2,上海 200237)

0 引言

在工业环境应用过程中,无线传感器网络技术具有使工业自动化系统配置更方便、维护成本更低、数据传输速率更高等特点。但由于网络设备电源能量受限,必须优先考虑网络设备分布、数据通信方式等能耗[1-2]。无线MESH网络具有自形成、自愈性和自组织性,是一种由MESH路由组成主干网的多跳无线网络。路由器的移动性小,用来实现路由和配置决策;移动性终端设备通过网络基础设施接入网络[3]。当前应用广泛的 ZigBee协议和新提出的 WirelessHART、ISP100、WIA-PA三种主流协议都支持 MESH结构[4-6]。关于这方面的应用,研究人员已经取得一定的研究成果[7]。可见,在工业环境中将逐步实现MESH结构的应用。

本文首先介绍无线MESH网络分类及MESH结构性质,继而基于通信网络仿真平台OMNeT++搭建一种MESH结构无线传感器模型。同时,采用最经典的最短路径算法确定路由路径,以实现网络中数据的可靠通信,并对得到的试验结果进行总结分析。

1 无线MESH网络结构

无线网络的拓扑结构有多种组态方式。网络基础拓扑结构分为星型(STAR)、树型(TREE)、网状型(MESH)、总线型(BUS)和环型(RING)等。实际应用中,大多采用几种拓扑相结合的布网方式。

MESH结构是一种相对自由的网络拓扑。由于MESH网络结构可实现多路由路径,使网络具有较强的容错能力和鲁棒性。当采用MESH结构时,尽管各个节点处于对等地位,但可指定某个节点为簇首节点,以执行附加功能。当簇首节点因故障、能量耗尽而失效时,可以立刻选择另一个节点补充并接管原簇首,执行原簇首所实现的功能。

1.1 无线MESH网络结构

无线MESH网络具有分布式网络所提供的冗余机制和重新路由功能。通常,无线MESH网络由MESH路由和MESH客户端组成。该网络允许每个节点都发送和接收信号,终端设备之间自动连成网状结构,设备节点具有自动路由能力。添加或移动设备时,网络能够自动发现拓扑变化,并自动调整通信路由,以获取最有效的传输路径。无线MESH网络的网络拓扑共有骨干网型MESH、客户端型MESH、混合型MESH三种结构。

1.1.1 骨干网型MESH结构

通信网络中,MESH路由器通过无线技术相连,组成具有自动配置、自我愈合能力的网络骨干。它们之间以点对点或多次跳转的通信方式相连,形成MESH结构。网络中一些MESH路由与上层网络连接,使整个骨干网络与上层网络连通。MESH路由器采用相同无线技术的客户端,可以直接与骨干网络中的路由相连,从而接入上层网络。

1.1.2 客户端型MESH结构

客户端型MESH结构网络采用多点对多点的通信方式,由使用相同无线技术的客户端直接互联而成。与星型网络相比,客户端型MESH结构没有采用衔接节点,因此每个客户端设备必须具有自动配置和路由功能。这样既可以实现相邻节点之间的直接通信,又可保证不相邻节点间通过多跳方式完成数据通信。

1.1.3 混合型MESH结构

混合型MESH结构网络是以上两种结构网络的合理结合,既有骨干网络、客户端网络,又在客户端和路由器之间形成MESH结构的网络。混合型MESH结构如图1所示。

图1 混合型MESH结构Fig.1 Hybrid MESH structure

图1中,实心圆表示 MESH路由,空心圆表示MESH客户端。

1.2 MESH结构的特性

在MESH结构无线传感器网络中,每个节点可以使用的链路数较多,这样能够避免网络“接入点”的繁重工作量,可从根本上解决网络中特殊节点能量消耗过快以及后续相关问题。

每个节点都具有选路功能,一旦某条链路故障,节点可自动跳转到其他可选链路,从而提高了网络的可靠性。多条可选路径可减轻服务执行时发生碰撞的可能性,减少碰撞造成的影响。与星型网络相比,MESH结构网使无线链路设计更简化、可扩展性更高、维护更简单。

无线传输之间互相影响的固有特性所导致的同一信道相邻节点间的干扰,以及基于竞争型MAC层接入机制所导致的多跳传输的不确定性,是保证无线MESH网络实时可靠传输需要解决的关键问题。同时,工业现场环境的复杂性和无线传输的全空间性,使得无线信号在传输的过程中常常发生衰变、中断以及出现各种缺陷,如频散、多径时延、干扰和安全相关问题。因此,工业无线MESH传感器网络必须解决路由路径的可靠性、实时性和安全性问题。

2 无线传感器网络的搭建

考虑到工业环境中静态设备对可靠性和网络容量的要求,本文选择混合型MESH结构网络作为模型仿真网络。

2.1 OMNeT++仿真软件

基于C++对象化网络建模实验床(objective modular network testbed in C++,OMNeT++)是一款开源的、面向对象的离散事件网络模拟器。它是一种用来构架实际系统结构的有效工具。其主要特征是分级嵌套模块和模块之间以消息的方式进行通信和拓扑语言描述。

在OMNeT++平台中搭建的网络模型由相互之间以消息方式通信的分级嵌套模块组成[8]。其中,模块嵌套没有深度限制,模块间通过交换消息建立通信。消息代表实际网络中的帧、信息包、任务等可移动实体。消息可以直接发送到目的地,也可以通过门和链接沿预定义的路径传送,传递过程对用户是透明可见的。

在OMNeT++搭建的网络模型中,链接可以被赋予传播延时、比特误差率和数据速率三个参数。传播延时是由于消息通过信道传输而引起的到达时间的延迟量。比特误差率指定了比特数据在传输时发生错误的概率。当设置了一定数据速率时,“消息发送”对应于消息的第一个比特的传送,“消息到达”对应于最后一个比特的接收。但数据速率在令牌环协议和光纤分布式数据接口协议中并不适用。

在搭建仿真模型时,首先创建描述网络节点和相互链接的拓扑文件(.ned),然后编写C++代码实现模块功能(.cc),从而完成对通信网络的模拟检测[9]。

2.2 仿真网络组成及其功能

本文中搭建的通信网络模型仅包括ISO七层网络协议中的三层:物理层、数据链路层和网络层。仿真网络由网关、路由、终端节点这三种设备子模块组成。设备模块功能由应用层、路由层、物理层子模块实现。仿真网络结构如图2所示。

图2 仿真网络结构图Fig.2 Structure of the simulation network

2.2.1 设备模块功能

通信网络包含网关、路由器和终端节点三种设备。网关作为网络模型中的上层通信设备,中间层是路由器,终端节点作为网络的通信网络终端。网关与路由器之间为星型连接,路由器与终端设备之间形成混合型MESH结构。

网关将本地网络与其他工业网络设备相连接,由有线电源供电,实现协议转换、数据映射、对消息进行本地处理等功能。路由设备是全功能节点,由有线电源供电,连接现场终端设备和网关,具有优化网络、减少网关负担、延长现场终端节点寿命的作用。终端节点为精简功能设备,在网络覆盖范围内随机分布,具有获知自身在本地网络的相对位置的能力,负责实现工业现场数据采集等功能。

通信网络运行时,终端节点将在工业现场中采集到的数据发送到所属路由设备进行本地处理;路由设备对数据进行分析,将整合结果上传至网关或发送请求给该数据的终端节点。上述过程中,通信网络通过由路由算法选择的路由路径来完成数据传输。

2.2.2 功能实现模块

设备模块内部三个子模块实现设备相应的应用层、路由层、物理层功能,子模块相互之间通过“门”连接。

应用层模块用于设定设备通信地址、数据包发送时间间隔、数据包的长度,实现确定数据传输的目标节点、产生或接收数据包等功能。

路由层模块用于设定终端节点和路由设备通信距离、数据传输速率、传输延时,建立网络设备与邻近设备之间的连接,并完成数据路由路径的选择任务。

物理层模块用于设定仿真设备的物理框架结构,如发射接收数据端口,实现设备物理层的数据接收、发送、丢弃等相关控制。

2.3 最短路径路由算法

Dijkstra算法是一种贪心算法,用来解决带权图(权值为非负数)的单源最短路径问题,实现寻找从某一源节点发送到所有其他节点的最短路径的功能。

Dijkstra算法的输入包含一个有权重的有向图G和G中的一个源节点vi。以V表示G中所有节点的集合。每一个有向图中的边都是由两个节点所形成的有序元素对。(u,v)表示从节点u到节点v有路径相连。以E表示所有边的集合,而边的权重则由权重函数W:E→[0,∞]定义。因此,W(u,v)就是从节点 u到节点v的非负权。任意两个节点之间路径的权,就是该路径上所有边的权值总和。也就是说,如果路径(u,v)由边 e0,e1,…,ek-1组成,那么 W(u,v)定义如下:

已知节点vi及vj,通过Dijkstra算法可以找到vi到vj的最小权值路径,也称为vi到vj的最短路径。

对于每一个节点vi,Dijkstra算法将记录ki、di和pi三条信息。这三条信息的含义具体说明如下。

①ki是一个布尔值型的标记,它表示到源节点vi的最短路径已知。

②di是从vi到vj的已知的最短路径长度。算法开始时,最短路径是未知的,di也是不确定的。在算法执行期间,算法检查候选路径并修改di的值。

③pi是源节点的前驱。

在每次执行过程中,只有一个节点的ki设置为true。在运行O(|V|)次之后算法终止,即可找出当前源节点vi到vj所有的最短路径。

本文中,网络设备分布及设备间的链接形成有向图G。初始化时,每个设备分别充当源节点vi,将所有设备间连接权值都设置为1,以跳数选择路径,即上述算法得出的路由路径为最小跳数路径。

3 仿真结果及分析

采用OMNeT++通信网络仿真平台搭建的通信网络模型包含一个网关设备、三个路由设备和60个终端节点设备,数据传输路径选择经典的最短路径算法实现。网络中数据传输速率为106bit/s,信道延时为0.01 ms,数据包长度为 1024 B。

按源节点、目的节点的属性不同,网络通信传输分为以下四种数据传输类型:①工业现场的终端设备将采集到的数据传输到路由设备;②路由设备根据数据包中目的节点信息确定是否转发至其他路由设备或经网关发送至其他网域;③路由设备之间必要信息的相互备份;④路由设备将经过处理整合的数据上报网关。混合型MESH结构包含前三种传输方式。

3.1 通信网络参数配置

在网络模型中,定义网关设备、路由设备在网络中的位置固定,终端节点设备在整个布网范围内随机分布。

在网络初始化时,需要做以下工作:建立网关与路由设备间、各路由设备间的连接;路由设备根据自身的通信范围,搜索邻近终端设备并建立连接,同时形成路由表;终端节点设备搜索分布在通信范围内的邻近终端设备并建立连接,形成路由表。

在通信仿真过程中,源节点在可选地址中随机产生数据包的目的地址,然后根据存储的路由表信息确定数据包的传输路径,最后将数据包按照选定的路径传输至目的地址。

3.2 仿真结果及分析

采集仿真过程的前3200个事件作为分析对象,共完成282个分源节点和目的节点间的数据包传输。数据包传输信息和传输跳数信息分别如表1、表2所示。

表1 数据包传输信息Tab.1 Transmission information of the data packet

表2 传输跳数信息Tab.2 Information of transmission hops

由表1和表2可以看出,仿真网络随机产生的数据包被均匀地传输到各个路由设备,且传输过程绝大多数在两跳之内完成。

数据包路由路径如表3所示。

表3 数据包路由路径Tab.3 Routing paths of data packets

在采样过程中,各数据传输各自沿上述路径完成2、4、3、2次数据传递,验证了网络中路径传输的可靠性和确定性。

4 结束语

本文针对工业环境对无线传感器网络的特殊需求,对比现有的无线通信协议,选择应用灵活的OMNeT++通信网络仿真平台,成功搭建了混合MESH结构无线传感器网络模型。同时,采用经典的最短路径算法搜索源/目的节点数据路由路径,实现了路由路径的确定性。

[1]Hu Zhihua,Li Baochun.On the fundamental capacity and lifetime limits of energy-constrained wireless sensor networks[C]//Realtime and Embedded Technology and Applications Symposium,2004:2-9.

[2]牟连佳,牟连泳.无线传感器网络及其在工业领域应用研究[J].工业控制计算机,2005,18(1):3-5.

[3]Akyldiz I F,Wang Xudong,Wang Weilin.A survey on wireless mesh networks[J].Computer Networks,2005,4(4):445-487.

[4]Li Pengfei,Li Jiakun,Nie Luhua,et al.Research and application of ZigBee protocol stack[C]∥Measuring Technology and Mechatronics Automation,2010,6(2):1031-1034.

[5]Zhao Jingdong,Wang Qin,Yu Feng.A route-based scheduling in wireless multi-hop mesh networks for collision avoidance[C]∥Wireless Communications,2009:1-4.

[6]Anna N,Fredrik H,Stig P,et al.When HART goes wireless:understanding and implementing the WirelessHART standard[C]∥Emerging Techologies and Factory Automation,2008:899-907.

[7]Fan Jing,Yin Shitang,Wu Qiong,et al.Study on refined deployment of wireless mesh sensor network[C]∥Wireless Communications Networking and Mobile Computing,2010:1-5.

[8]石为人,黄河,鲜晓东,等.OMNeT++与NS2在无线传感器网络仿真中的比较研究[J].计算机科学,2008(10):53-57.

猜你喜欢

网关数据包路由
基于FPGA的工业TSN融合网关设计
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
路由重分发时需要考虑的问题
信号系统网关设备的优化
C#串口高效可靠的接收方案设计
天地一体化网络地面软网关技术及其应用