严其飞,罗颖光,张 阳
(国防科技大学信息通信学院,湖北 武汉 430014)
移动自组网(MANET,mobile ad-hoc network)具有不依赖基础设施,自组织,快速展开,抗毁性强[1]等优点,已经被广泛应用于重大突发事件场景下区域范围内的应急通信。随着现代网络技术的发展和应用场景的拓展,MANET网络节点数量规模较大时出现的自身能源消耗激增,网络开销大等问题较为突出,其中,路由协议开销是主要因素之一。
当前,MANET路由策略主要有先应式路由、按需式路由、混合式路由、地理位置路由以及基于软件定义移动自组网(SD-MANET)的路由控制策略等。先应式路,如DSDV协议[2]、OLSR[3]协议、STAR协议[4]、WRP协议[5]以及与QoS技术[6]、深度学习[7]、Q-Learning[8]等结合的改进路由协议,网络中所有节点都保存有到其他所有节点的路由信息,并周期性进行路由分组广播,优点是能够及时反馈网络结构的变化,节点间路由延时较小,但当网络节点数量较大时,存在网络收敛速度慢和控制开销大的问题[9]。按需式路由,如AODV协议[10]、DSR协议[11]、TORA[12]协议,以及基于蚁群优化[13]和负载均衡[14]的改进路由协议等,与先应式路由不同,为了减小路由控制开销,只有在需要发送数据时才启动路由发现过程,路由开销相对较小,但发送数据前需要首先启动路由发现过程,因此路由延时较大,且在大规模和高动态自组网络中仍然存在控制开销大的问题[15]。混合式路由协议,如ZRP协议[16],以及基于自适应分簇的改进路由[17],这种路由协议是先应式路由协议和按需路由协议的结合,但是该路由协议仍无法解决大规模网络下路由控制开销大的问题。地理位置路由协议,如LAR协议[18],不需要维护路由,当需要进行路由选择时,利用当前节点位置、邻节点位置以及目标节点位置的相关信息,按照一定的算法选择一个邻节点作为下一跳路由,较适用于节点数量规模大、拓扑高动态的网络[19],但是对定位设备依赖性较高,限制了应用场景。SD-MANET将SDN引入移动自组网,通过预先建立网络控制器对全网节点工作状态进行监控,解决MANET中QoS保证[20]和负载平衡等问题,也可通过网络控制器向全网节点下发路由表实现全网路由功能,但网络控制器需要预先建立,临机调整难度较大,难以适用于突发事件下用户业务量多,节点位置移动快,既设固定设施缺乏[21],部分节点能量消耗快,寿命短等应急通信场景,且全网对于控制器的依赖性较大,当控制器出现故障或损毁时,网络的稳定性将受影响。
路由开销大与路由选择时间长等问题,限制了MANET的应用场景和应用范围,为此本文以降低路由开销信息的冗余度和链路状态精确反馈为出发点,设计提出一种基于链路状态监视的自组网路由策略。首先,根据监视能力最优策略竞选产生监视节点,其次,由监视节点通过监视链路对全网链路状态进行监视,精确获取全网拓扑信息,全网其余节点根据实际需要可向监视节点查询通向目标节点的路由信息,最后通过仿真实验验证了策略的有效性和可行性。
1.1 自组网路由开销问题分析
从先应式和按需式等路由协议的算法可知,传统路由协议在路由生成和维护过程中,路由开销主要来自于以下两个过程:
1)路由建立过程。先应式路由通过定期向其他节点广播路由信息分组来建立路由,这使得其他节点都保存了到该节点的路由信息,因此存在一定的路由信息冗余;按需式路由则在需要发送数据时通过广播方式启动路由发现过程,该过程也使得其他节点保存了到该节点的路由信息,同样存在路由信息的冗余。通过上述路由机制可知,在路由建立的过程中,先应式路由和按需式路由都存在路由信息冗余的问题,而传统的路由协议少有消除这种冗余的机制。
2)链路状态反馈过程。先应式路由通过周期广播的方式对变化的网络结构进行维护,从而将网络状态的变化反馈至路由信息中,因此这种网络状态的变化被反馈到了每个节点中,而非只反馈到受影响的节点;按需式路由,则在需要时广播路由分组信息,对变化的网络路由信息进行维护,从而实现网络状态变化的反馈,向每个节点反馈变化。从上述分析可知,先应式路由和按需式路由在对链路状态的反馈上均存在冗余现象,反馈信息不够精简。
1.2 路由开销应对策略
通过上述分析可知,路由协议可以进行以下3个方面的改进:
1)降低路由开销信息的冗余度,减少不必要的路由开销。
2)对链路状态进行精确反馈,使得只在链路状态变化时反馈到受影响的节点。
3)路由信息共享机制,网络中的节点能够通过一定的机制实现路由信息的共享,而不必保存该节点至其他所有节点的路由信息。
本文提出一种基于链路监视的路由选择策略,主要方法是将路由信息进行共享并对网络状态进行精确反馈,从而减少路由信息分发,降低路由开销。如图1所示,该路由策略主要分为以下步骤:
图1 路由策略示意图
步骤1:通过竞争策略形成监视节点(MN,Monitor Node),主要用于保存全网的拓扑信息。同步生成监视链路(ML,Monitoring Link)用于对网络状态进行精确监视。
步骤2:普通节点(ON,Ordinary Node)收集网络拓扑信息,通过ML向MN进行发送,当网络状态发生变化时,ON还通过ML向MN发送链路状态变化信息。
步骤3:ON向MN发送路由咨询请求,MN计算出合适的路由后,通过ML发送给ON,ON根据获取的路由信息向目标节点发送数据。
3.1 监视链路生成
MN的生成主要采用竞争的方式进行。在网络的初始时刻,每个节点首先计算一个数值,用于表征节点承担监视任务的能力大小,称为监视能力值(MCV,Monitoring Capacity Value)。MCV由式(1)能力计算函数得到,其中e1,e2,…,en是节点计算自身的监视能力值时需要考虑的因素,如链路带宽、自身能量、邻居节点数目等,计算MCV时需要考虑哪些因素要视具体情况而定。
MCV=f(e1,e2,…,en)
(1)
在计算自身监视能力值的同时,节点在内部保存一个监视节点记录(MNR,Monitoring Node Record),用于记录指向MN的情况,监视节点记录的格式如图2所示。
图2中,监视能力值用于记录MN的MNR;跳数表示该节点到MN需要经过的跳数;任期用于确定MN可以承担多长时间的任务,MN采用任期制,当节点承担MN时间超过任期时,全网将重新发起MN的竞选过程;版本号对该节点第几次担任MN进行标识;序列号用于标识MNR的新旧,也起到时间同步的作用;定时主要用于对MN的生存状态进行检测,如果在定时时间内未收到来自MN的消息,则认为MN已经死亡,将重新发起ML的生成过程;监视节点地址用于记录MN的物理地址;下一跳节点地址用于记录ON通向MN的下一跳节点地址。
在网络的初始时刻,节点默认自己为MN,即在MNR中的下一跳地址指向自己,并保存自身MCV数值。计算出自身MCV后,节点采用洪泛广播的方式向其他节点通报自身MCV以竞争MN,广播的报文称为竞选(CAM,Campaign)分组,CAM分组的格式如图3所示。
图3中,类型用于对CAM分组进行标识;保留、前缀长度为分组数据自身相关的数据(下同),用于对分组长度等数据进行记录;跳数、版本号、序列号、任期、监视能力值和监视节点地址与图2中相应字段作用相同(下同)。
节点收到来自其他节点的CAM分组后,按照图4所示流程进行处理:
图4 竞选分组接收处理流程
步骤1:将收到的CAM分组中的MN地址与本地MNR中的MN地址进行比较,如果相等则转入步骤2,如果不相等则转入步骤3。
步骤2:将CAM分组中的跳数与本地MNR中的跳数进行比较,如果小于本地MNR跳数,则修改MNR中下一跳节点地址和跳数为CAM中的下一跳节点和跳数,随后向其他周围节点广播该CAM分组并转入步骤4。
步骤3:将CAM分组中的MCV与本地MNR中的MCV进行比较,如果小于本地MNR中的MCV,则丢弃该分组,如果大于本地MNR中的MCV,则向周围其他节点广播该竞选分组,并转入步骤4。
步骤4:向MNR中的下一跳节点发送竞选应答(CAM-RES,Campaign Response)分组,若MNR中的下一跳节点发生改变,则同时向原下一跳节点发送CAM-RES分组,竞选应答分组的格式如图5所示。
图5中,类型用于对分组进行标识,版本号、序列号和监视节点地址来自于本地MNR中相应的信息。CAM-RES分组的作用主要是向原下一跳节点和新的下一跳节点告知CAM-RES分组发送节点有关信息。新的下一跳节点在收到CAM-RES分组后,将保存分组发送节点地址,形成反向链路;旧的下一跳节点收到CAM-RES分组后,将在本地保存指向该节点的反向链路删除。
随着监视节点的产生,每个节点都产生了指向监视节点的链路,即监视链路ML,可以看到只需要一遍洪泛就可以产生ML和MN,网络的收敛速度加快,拓扑控制信息减少。
ML形成后,ON将通过ML向MN发送邻节点列表(NNL,Neighbor Node List)分组,主要用于ON向MN反馈其邻接的节点信息,NNL分组的格式如图6所示。
图6中,发送节点地址为产生NNL分组的源节点地址,邻节点地址即为与该节点相邻的所有节点的地址。
MN收到来自ON的NNL分组后,在本地建立邻接关系表格(ART,Adjacency Relation Table),用于记录每个节点的邻节点信息,ART的格式如图7所示。
图7中,状态信息表示与该节点周围链路的状态情况。随着MN对链路信息的收集,全网拓扑结构信息同时在MN中形成,为全网拓扑信息共享以及最优路由获取提供了支撑。
3.2 链路状态监视
自组网由于网络结构的动态性,节点间的链路状态随时可能改变,从而影响节点间的路由。传统路由策略使用广播的方式向其他节点告知链路状态变化信息,造成了控制信息的浪费,本文策略则对链路状态进行精确反馈,尽量减小链路改变带来的影响,主要包含监视链路维护和链路状态反馈两方面内容。
3.2.1 监视链路(ML)维护
自组网中链路状态的改变,会带来网络拓扑的改变,同样可能会改变ML的结构,此时需要对ML进行维护,ML的维护主要由MN周期性的洪泛广播巡视(TO,tour)分组进行,巡视分组的格式如图8所示。
节点收到TO分组后,按照图9所示进行处理。
图9 巡视分组接收处理流程
步骤1:将接收TO分组的版本号与本地MNR中的版本号进行比较,如果早于本地MNR版本号则丢弃分组,如果与本地MNR版本号相同进入步骤2,否则进入步骤3;
步骤2:将TO分组中的跳数与本地MNR跳数相比较,如果小于本地MNR跳数则进入步骤3,否则丢弃分组;
步骤3:将本地MNR的版本号、跳数修改为与TO分组相同,下一跳地址修改为发送TO分组的邻节点地址。
对于MNR中的定时若归零,则认为在规定时间内没有收到来自MN的TO分组,视为MN死亡,节点将重新发起MN竞选过程,并生成新的ML。
因为MN承担了更多的任务,所以对自身资源的消耗也更大,对整个网络来说也更重要,为此可做以下几点考虑:一是为了避免MN资源消耗至死的情形,以加强整体网络的顽存性,采用监视任务任期制,当MNR中的任期时间到期后,则由MN沿监视链路发送重新竞选消息,全网重新发起竞选过程,生成新的MN和ML;二是从安全性角度考虑,节点可能遭受网络攻击,可在MN内设置入侵检测功能,当检测到被入侵后,可启用MN的遥毙功能,以尽可能保证网络的安全和避免网络拓扑信息的泄露。
3.2.2 链路状态反馈
为了使MN及时获取网络拓扑的变化情况,当节点间的连接状态发生改变时,可由ON沿ML向MN对变化的链路进行反馈。ON对连接状态的反馈通过向MN发送邻接关系变化(ARC,Adjacency Relation Change)分组的方式完成,ARC分组的格式如图10所示。
图10中,链路状态标识表示链路的通断状态,邻节点地址是与该节点的连接状态发生改变的节点。
3.3 路由获取
由前述过程可知,MN中保存有完整的网络拓扑信息,任意两个节点间的路由信息都可以由MN计算得到,因此要获取某节点的路由信息,只需向MN请求获取,由MN计算好路由并发送给请求节点。节点对路由的请求通过向MN发送路由请求(RREQ,Routing Request)分组的方式完成,RREQ分组的格式见图11。
RREQ分组通过ML发送至MN,当MN收到来自ON的RREQ分组后,通过一定的算法计算出最适合该节点的路由,然后路由信息封装于路由回复(RRES,Routing Response)分组中,发送至路由请求节点,RRES分组的格式如图12所示。
为对本文设计的路由策略进行实验分析,将采用NS-3平台进行仿真。实验将本文路由策略与DSDV协议和AODV协议进行仿真比较。路由开销和路由延迟是衡量移动自组网的重要指标,因此重点考察本文策略与DSDV和AODV在不同网络规模下的路由开销和不同网络动态性下的路由延迟,其中网络规模由网络中的节点数目来表征,网络动态性由节点的移动速度来表征,节点数目越多,网络规模越大,节点运动速度越快,网络动态性越高。
实验环境参数设置如表1所示,经过仿真后,本文所提方法与DSDV协议、AODV协议仿真比较结果如图13、图14所示。
表1 仿真参数设置
图13 不同网络规模下路由开销对比
图14 不同速度下路由延时对比
图13为不同网络节点数量下3种路由策略开销对比,从图中可以看出,随着网络规模的增加,3种路由策略的路由开销都在增大,DSDV协议路由开销增加最快,AODV协议次之,本文方法最慢。这主要是因为DSDV协议采用的是周期性广播机制,导致链路状态未变化和没有数据传输请求时产生了不必要的路由维护信息;AODV协议采用的是按需式广播机制,虽然在时间累积上,相对于DSDV协议路由维护信息开销较小,但是由于将路由信息广播至与网络拓扑变化无关节点,也产生了不必要的路由维护信息;本文所提方法采用了路由信息共享机制和链路状态精确反馈机制,减少了不必要的路由维护信息,降低了路由控制开销。
图14为不同网络节点移动速度下3种路由策略的路由延时对比,从图中可以看出,随着网络动态性的增加,3种路由策略的路由延迟都随着网络动态性的增强而增加。随着网络动态性的增加,DSDV协议的路由延迟增加最快,本文策略次之,AODV协议最慢,主要是因为DSDV协议周期性广播机制未能及时反馈链路变化,导致路由信息失效;AODV在需要时发起路由请求机制,能够较大可能保证发送数据时路由反馈了最新的网络状态;本文算法的延迟增加趋势介于两者之间,首先是因为本文策略对链路状态的及时反馈减小了路由延迟,其次是当受损的链路是监视链路时,又会导致路由咨询时间较长,从而使路由延迟增加,最后由于监视节点担负着路由反馈的任务,导致占用较大的链路带宽,造成一定的网络拥塞,也导致路由延迟增加。
基于以上分析可知,本文所提方法较DSDV和AODV协议在路由开销上具有一定的优势:一是基于路由信息共享和链路监视机制可以有效减小大规模移动自组网中的路由开销;
二是本文策略由于对链路进行精确反馈,能够有效减小网络路由延迟,但对监视链路的变化较为敏感;
三是本文策略对承担监视任务的节点有较高的任务要求,对其资源占用较多。
针对传统自组网路由协议在大规模高动态自组网中路由开销较大的问题,本文提出了一种基于链路监视的路由策略,该策略旨在通过链路监视和路由共享实现降低路由开销。后续将针对本文策略中监视链路的健壮性和如何自动选择能力较强的监视节点进行深入研究。
猜你喜欢路由链路分组天空地一体化网络多中继链路自适应调度技术移动通信(2021年5期)2021-10-25基于星间链路的导航卫星时间自主恢复策略空间科学学报(2020年3期)2020-07-24铁路数据网路由汇聚引发的路由迭代问题研究铁道通信信号(2020年9期)2020-02-06一种基于虚拟分扇的簇间多跳路由算法太原科技大学学报(2019年3期)2019-08-05分组搭配小学生学习指导(低年级)(2019年3期)2019-04-22探究路由与环路的问题网络安全和信息化(2018年3期)2018-11-07怎么分组小学生学习指导(低年级)(2018年9期)2018-09-26分组小学生导刊(低年级)(2017年1期)2017-06-12基于预期延迟值的扩散转发路由算法电信科学(2016年11期)2016-11-23基于3G的VPDN技术在高速公路备份链路中的应用中国交通信息化(2014年3期)2014-06-05