多信道无线Mesh网络中一种改进的DSDV路由算法
2019-11-01唐建清邹国霞
唐建清 邹国霞
摘要:本文针对无线Mesh网络主干网部署变动少的特性,设计了多信道无线Mesh网络中DSDV路由算法,利用OMNeT++5.3对DSDV路由原算法和改进后算法进行仿真对比,在仿真时间、消息数量、网络传输参数相同情况下,主要从丢包数量情况进行统计,仿真结果证明当消息都发往同一个地址时,算法改进前后没有太大差别,当消息发往全网任意一个地址时,改进后的多信道DSDV算法丢包量明显少于改进前的DSDV算法,而且在同等条件下,消息缓存容量大的丢包量会明显减少。
关键词:Mesh;DSDV路由;多信道;丢包量
中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2019)07-0122-03
0 引言
无线Mesh网络(Wireless Mesh Network,WMN)骨干网络节点基本静止并且节点没有能量限制,因此无线Mesh网络与移动Ad hoc网络(Mobile Ad hoc Network,MANET)与无线传感器网络(Wireless Sensor Network,WSN)有所不同,造成MANET和WSN中的路由技术无法直接应用于WMN,为此研究者提出了很多WMN路由协议。比如文献[1]基于物理信道质量、流间和流内干扰的影响提出了EPBW(Expected Path Bandwidth),并在EPBW基础上设计了一种分布式路由协议EPBWR(Expected Path Bandwidth Routing),在吞吐量和网络的动态性的适应方面进行了仿真。文献[2]提出了RHCA(Routing based on Hybrid Channel Assignment,RHCA),该算法是针对多射频多信道的一种分布式路由算法。主要考虑网络负载及节点位置实时变化等实际场景。
针对DSDV路由协议改进并应用于无线Mesh网络只搜索到文献[3],其他大部分是DSDV路由在无线Mesh网络中的应用或几种路由仿真分析,如文献[4-5]。其中文献[3]基于DSDV提出了一种跨层路由设计方案,并从吞吐量,延时方面进行了仿真,仿真结果表明方案改进很好,但是由于增加了跨层功能,所以路由算法实现优点复杂。本文将从丢包率和多信道方面改进DSDV路由算法。
1 经典DSDV路由算法
WMN骨干网络节点基本静止并且节点没有能量限制[1]。本文主要考虑网络拓扑变化不大的Mesh网络,因此采用表驱动协议,而在表驱动协议中,DSDV(Destination-Sequenced Distance-Vector )路由是比较经典而且执行效率高的协议。
DSDV路由协议中,每个节点保存一个路由表,路由表维护着本节点到网络内部所有可达目的节点的路由。路由表条目(目的节点IP,目的节点序列号,距离目的节点的路由跳数)中的节点序列号更新基于以下原则:当一个节点同时接收到多个不同序列号更新时,首选路由为序列号大的路由,序列号相同时,首选路由为跳数少的路由[4]。
2 用于多信道的改进DSDV算法
2.1 多信道
早期的无线Mesh网络是基于单信道的,在单信道无线Mesh网络中,会出现“饥饿”现象,即当跳数大于4跳以上,节点吞吐量为0。这样就容易造成节点响应不公平和系统吞吐量小的问题。现在Mesh 路由器多采用多射频多信道技术,可以有效减少碰撞和干扰,通过同时在不同信道上通信,可以提高响应速度和提升系统性能[7]。
多信道是将信道频率带宽分割成若干个更窄的子信道频率带宽,为了能够在不同的子信道上同时传输数据,邻近的无线路由器需要工作在互不重叠的信道,如此可有效避免信道重叠造成的相互干扰。例如IEEE 802.16a工作于2~11GHz的公开波段,2.4G频段的工作频率为2.4-2.4835GHz,将83.5MHz频带划分为13个子信道,各子信道中心频率相差5MHz,向下向上分别扩展11MHz,信道带宽22MHz,相近无线路由器应选择互不重叠的信道工作,如(1、6、11),(1、7、13),最多可用的正交信道为3条[8]。
2.2 改进算法思想
本文主要针对无线Mesh网络的骨干网,网络中每个节点具有多个射频通信接口,采用静态信道分配,依据具体的网络规模以及节点间的逻辑连接关系,对每条逻辑无线链路进行信道分配。这样Mesh网络中每个节点就有多个逻辑无线链路。设计的改进DSDV算法中,每个节点需要维护一个路由表,路由表条目为:(目的节点IP,转发的逻辑无限链路编号,目的节点序列号,距离目的节点的路由跳数)其中“转发的逻辑无限链路编号”决定了数据的流向,数据从哪一个信道进行传输。当有n个信道时,就相当于有n个数据流向。这样会大大提高网络的利用效率。
3 改进算法性能仿真
3.1 逻辑网络拓扑图(图1)
网络采用3*9个节点,每个节点有四个信道,网络延迟0.1ms, 数据传输率1Gbps。包大小4096 bytes。
3.2 仿真结果对比
3.2.1 消息队列缓存为20时,网络丢包情况对比
(1)当包都发往节点0时如图2,图3。
(2)当目的地址为网络中任意节点时如图4,图5。
3.2.2 队列缓存为5个消息时
(1)目的地址为0节点如图6,图7。
(2)目的为任意地址如图8,图9。
4 仿真结果分析
上图中Mesh表示原始的DSDV路由算法,Mesh_ DSDV表示改进的DSDV路由算法。
当缓存为20时,图2和图3可以看出由于都往节点发送信息,因此造成了瓶颈,改进前后差别不多;图4和图5可以看出,当目的地址为任意节点时,改进后的算法丢包数量非常少,相对于原始DSDV路由网络性能安全很多。
当缓存为5时,图6和图7由于目的节点固定一个,所以改进前后差别不大;图8和图9可以看出,当目的地址为任意节点时,改进后的算法丢包数量相对于原始DSDV路由减少很多。
在不同缓存下,同样的算法性能也会不同,缓存小时网络丢包量比较多。
5 结语
根据多信道原理,对DSDV算法进行改进,通过在原DSDV算法基础上增加逻辑无限链路编号信息,采用OMNeT++5.3仿真,从改变缓存大小方面进行测试原DSDV和改进DSDV的丢包情况,仿真结果表明,无论在那种缓存情况下,改进DSDV路由性能比原DSDV要好,同时缓存越大网络丢包情况越少。
参考文献
[1] 邓晓衡,刘强,李旭,陈志刚.链路质量与负载敏感的无线Mesh网络路由协议[J].计算机学报,2013,36(10):2109-2118.
[2] 钟朗,李广军,杨学敏,杨云乐.无线Mesh网络中一种分布式路由方案[J].电子技术应用,2015,41(7):81-84.
[3] 张博,罗卫,贾方.基于DSDV的无线Mesh网络跨层路由设计[J].计算机工程,2009,35(5):91-93.
[4] 潘丽君,李厚民.战术分队网络中DSDV与AODV协议应用仿真[J].系统仿真学报,2014,26(10):2476-2480+2485.
[5] 陳珊珊,姚善化.矿灾管理系统中DADV与AODV协议的仿真对比[J].煤矿安全,2013,44(5):120-122.
[6] 裴廷睿,曾文丽,张朝霞.基于无线Mesh网络的路由协议性能比较分析[J].湘潭大学自然科学学报,2009,31(4):115-119.
[7] 王继红,石文孝,李玉信.无线Mesh网络部分重叠信道分配综述[J].通信学报,2014,35(5):141-154.
[8] 魏振春,吴亚伟,张本宏.一种用于多信道无线Mesh网络的信道分配方法[J].电子测量与仪器学报,2015,29(8):1144-1150.