基于GPCR 的车辆自组织网络路由优化方法

2020-08-02 05:10谷志茹李敏龙永红舒小华荣青
通信学报 2020年7期
关键词:投递权值路由

谷志茹,李敏,龙永红,舒小华,荣青

(湖南工业大学交通工程学院,湖南 株洲 412008)

1 引言

行车安全问题一直是交通领域最受关注的问题。降低交通事故伤亡率通常从2 个方面入手,一方面,通过在车辆上安装制动辅助系统和电子稳定控制系统;另一方面,通过在车辆上安装安全带和安全气囊等保护设施。随着车载传感器技术的快速发展,诸如盲区检测技术、车道偏离检测技术、前向碰撞预警技术等投入使用,在一定程度上能够降低交通事故的发生率,但传感器的测量精度和可靠性存在一定的局限性,在恶劣的天气条件及其他不可抗因素的影响下,性能会显著下降。为了解决传感器性能的不足,许多科研人员利用车车(V2V,vehicle to vehicle)之间、车路(V2R,vehicle to road)之间交互信息,来提升车辆对周围环境和突发事故的感知能力,降低事故发生率。近年来,V2X 技术已成为国内外的研究热点,该技术是一种预防式的安全技术,除了解决行车安全问题外,还将在提升交通通行效率、缓解拥堵、减轻环境污染等方面发挥显著作用。

VANET(vehicle Ad Hoc network)属于无线通信网络领域,它是MANET(mobile Ad Hoc network)的新兴领域,其目的是提高驾驶员的安全性和乘客的舒适性。VANET 是一种无线网络,通过安装在每个节点(车辆)上的无线通信设备[1],使节点同时成为网络的参与者和协作者。节点通过与其传输范围内的中间节点进行通信,形成网络。VANET是自组织网络,不依赖任何固定的网络基础设施,但是有一些固定节点充当路边单元,以便为车辆网络提供地理位置数据或进入互联网的入口[2]。节点的高速动态性是VANET 的主要特点,这导致了网络拓扑结构的快速变化[3]。为了提供可靠的服务,VANET 面临许多挑战。建立稳定可靠的路由是其主要挑战之一,因此需要进行更多的研究,来推动VANET 的发展。

传统的车联网络由协议主要分为2 种:一种是基于拓扑的路由协议,另一种是基于位置的路由协议。

基于拓扑的路由协议通过利用网络中的链路信息将数据分组从源节点发送到目标节点,这种方式并不适于高速移动的车辆节点网络。节点的高速移动性导致网络的拓扑结构快速变化,依赖网络中的链路信息可能无法成功将数据分组发送到目标节点,并且节点移动导致实时更新的网络中的路由表信息量非常大,同时网络开销也很大,所以这种方式并不适于车联网[4]。

基于位置的路由协议利用节点的地理位置信息建立从源节点到目标节点的数据链路,这种方式充分适应车辆节点高速动态的特点。与基于拓扑的路由协议不同,基于位置的路由协议不需要任何路由维护,只有在需要转发数据分组时才确定数据链路,因此网络的开销小。上述特点使基于位置的路由协议更适于车联网。基于位置的路由协议主要分为以下5 种。

1) 基于贪婪算法的路由协议,例如 GPSR(geographic perimeter stateless routing)[5]和GPCR(greedy perimeter coordinator routing)[6]。在源节点知道其目标节点的位置情况下,这种路由协议贪婪选择将数据分组转发到离目标节点更近的邻居节点,直到数据分组成功地发送到目标节点。节点在转发数据时,不需要知道除目标节点和邻居节点以外的节点的状态信息,减少了路由维护的开销。转发数据时,选择的下一跳节点只有一个,不用洪泛转发数据。

GpsrJ+[7]路由协议是对GPCR 的改进,通过预测其相邻的连接节点将数据分组转发到对应路段,来提高GPCR 的分组投递率,减少了修复策略下使用的路由跳数,能够使路由方案更快地恢复到贪婪转发策略。GPSR-L(greedy perimeter stateless routing with lifetime)[8]和P-GPSR(probabilisticgeographic perimeter stateless routing)[9]在GPSR 的基础上提出具有生存周期的节点概念。根据车辆节点是否具有良好的链接质量和生存周期,选择最合适的中继节点,以便在车辆节点之间顺利地传播消息。GCRP(greedy curvemetric based routing protocol)[10]为了解决因城市环境下建筑物、树木等障碍物降低信号质量和分组成功接收的概率等问题,提出了利用曲率距离代替欧氏距离来选择下一跳中继节点。AGPSR(adaptive greedy perimeter stateless routing)[11]在GPSR 的基础上,通过在邻居表中添加信息,以选择最佳的链路路径。针对交通事故、道路死角等问题造成的链路断裂,通过绕过在修复策略下交付前一个分组的节点,从而避免链路断裂再次发生。

2) 基于移动预测的路由协议,例如DGRP(directional greedy routing protocol)[12]、PDGR(predictive directional greedy routing)[13]、PGRP(predictive geographic routing protocol)[14]和MPBRP(mobility prediction based routing protocol)[15]等。在这种路由协议中,对节点的位置进行预测,在节点的选取中对节点的运动方向和位置的参考指标进行权衡,一定程度上减少了路由跳数和端到端时延。但这种路由需对当前节点及其所有邻居节点的位置进行预测,增加了系统的计算任务,增大了网络开销。

3) 基于容忍延迟的路由协议,例如GeoDTN+Nav(geographic DTN routing with navigator)[16]。这种路由协议通过延迟容忍的存储转发方案来减轻网络分区和间歇性连接的影响,从而提高了路由的可达性。但是这种路由协议实时性较差,当数据分组缓存至某一节点,且该节点始终找不到合适的机会转发时,会因为数据分组堆积过多导致信息丢失。

4) 基于拓扑和位置相结合的路由协议,例如GPCR-D(greedy perimeter coordinator routing with dijkstra)[17]和HybTGR(hybrid routing protocol based on topological and geographical)[18]。在这种路由协议中,根据节点的移动速度、路由链路寿命、节点附近车辆数量和到目标节点的距离等参数,为每个网络节点分配一个权值,根据权值来判断采用基于拓扑或者位置的路由协议。其实施较复杂,并存在频繁切换路由协议的问题,而且会增大系统网络的开销,降低实时性。

5) 基于仿生算法的路由协议,例如 EGSR(enhanced geographical source routing)[19]、GSO(glowworm swarm optimization)[20]和 ASGR(artificial spider-web-based geographic routing)[21]。在这种路由协议中,采用仿生算法选取最优路径投递数据分组,能够减少网络开销,降低端到端时延,但是这种路由协议不适于高速动态的场景。

由上述可知,后4 种路由协议存在算法实现较复杂、不适应高速移动的车联网等缺陷,本文主要研究基于贪婪算法的路由协议。

现有基于贪婪算法的路由协议不够完善,在实施中存在以下不足。

1) 贪婪转发策略在选择节点时存在局部最优,单纯地依靠判断与目标节点的距离来选择下一跳节点缺乏全局性考虑。

2) 在贪婪转发策略失效时使用的右手定则[22]存在弊端。

3) 在稀疏网络中效果不佳,容易陷入路由空洞,导致路由“死亡”。

为了解决这些不足,本文从以下几个方面对GPCR 进行改进,形成新的W-GPCR 协议。

1) 将节点的运动方向和密度纳入考虑范围内,通过权重计算,选择最优的下一跳节点。

2) 通过权重计算,使数据分组投递的方向永远是朝着目标节点的方向收敛,解决了右手定则的弊端。

3) 设计受限转发策略,通过权重选择能够避免数据分组再次往路由空洞的方向投递,寻找其他隐藏路径向目标节点投递数据分组。

2 W-GPCR 协议的形成

传统的贪婪转发策略在选取下一跳节点时,只考虑下一跳节点与目标节点的距离远近,这样选取节点容易陷入局部最优,而在全局路径上未必最优。除了节点之间的距离会影响路由性能外,其他因素(如节点运动方向和节点密度等)也会对路由性能起着举足轻重的影响。

1) 节点运动方向对路由性能的影响

如图1(a)所示,节点A 向目标节点D 发送数据分组,节点B、C 都比节点A 更靠近目标节点D。其中节点C 与节点A 的运动方向相反,但比节点B 更靠近目标节点D,节点B 与节点A 的运动方向相同,按照传统的贪婪转发策略,将选择节点C 作为下一跳节点,但是可能会出现这样的情况:当投递完数据分组后,节点的位置发生了变化,如图1(b)所示。当数据分组投递至节点C 时,节点C 选择的下一跳节点将会是节点B,这样就造成了多余的路由跳数,倘若在选择下一跳节点时,引入节点运动方向作为参考量,而不是单纯只靠节点之间距离作为选择的依据。在节点A选择下一跳节点时,能够对节点B、C 的运动方向及与目标节点D 的距离进行综合考虑来选择节点B 作为下一跳节点,这将大大减少路由跳数,缩短端到端时延。

图1 节点运动方向对路由性能的影响

2) 节点密度对路由性能的影响

如图2 所示,节点A 向目标节点D 发送数据分组,其邻居节点B、C 到目标节点的距离一样,但是节点B 信号覆盖范围内的节点密度要比节点C的大。由图2 可知,如果节点A 将数据分组转发至节点B 时,其后续建立路由路径的可行性要比节点C 的更大,因此节点密度也是影响路由性能的重要指标之一。节点密度越大,说明其路由可能性越大,越有可能建立可靠的路由链路,提高数据分组的投递率。

图2 节点密度对路由性能的影响

本文在现有贪婪转发策略的基础上进行优化,在判断下一跳节点与目标节点的距离的前提下,引入下一跳节点的运动方向和节点密度等参考因素,而不是单纯判断下一跳节点与目标节点的距离,这样能够减少局限性,提供最优解。

如果当前节点到目标节点的距离小于其邻居节点到目标节点的距离,贪婪转发策略将会失效,从而执行修复策略。传统的修复策略采用右手定则投递数据分组,如图3 所示。节点A 向节点F 发送数据分组,按照右手定则,沿逆时针方向遍历其邻居节点,重复进行,直到数据分组抵达目标节点或者满足贪婪转发的条件脱离修复策略。图3 中按照右手定则投递数据分组得到的链路路径为A—B—C—D—F。

图3 按右手定则投递数据分组

如图4 所示,节点A 向目标节点I 发送数据分组,按照右手定则选取的下一跳节点为节点C,重复进行,数据分组将会朝着远离目标节点的方向投递,这将使数据分组无法成功投递到目标节点,导致通信失败。

图4 数据分组投递远离目标节点

在修复策略下,节点之间距离、节点的运动方向和节点密度都不能作为主要的参考量,但是可以通过衡量数据分组的投递方向与节点指向目标节点的方向所成夹角的余弦值大小来判断数据分组是朝着目标节点方向投递,还是远离目标节点方向投递。如图4 所示,AB 和AC 为数据分组投递的方向,cos(AB,AI) 和cos(AC, AI) 分别为其夹角的余弦值,余弦值越大,说明数据分组投递的方向是朝着目标节点方向投递的。

本文在现有修复策略的基础上进行优化,将数据分组的投递方向作为主要参考量,使数据分组投递的方向永远朝着目标节点的方向收敛,从而避免了右手定则导致的数据分组投递远离目标节点和路由环路等问题。

当节点在转发数据分组时,发现在其信号覆盖范围内找不到下一跳节点进行数据分组投递,称这种情况为路由空洞现象。如图5 所示,节点A 向节点D发送数据分组,当数据分组投递至节点C 时,在其信号范围内找不到下一跳节点转发数据分组,陷入路由空洞。AC 为数据分组投递陷入路由空洞的方向。重新路由的数据分组投递方向与路由空洞方向所成夹角的正弦值越大,说明数据分组不是朝着路由空洞的方向投递的,重新路由陷入路由空洞的概率越小。

图5 路由空洞现象示意

本文提出了一种受限转发策略,在重新选择路由时,避免节点再次向路由空洞的方向投递数据分组,减少不必要的路由开销。

3 W-GPCR 协议

图6 W-GPCR 协议架构

W-GPCR 协议是一种基于权重选择的地理位置路由协议,针对不同的场景采用自适应权重参数比,从而选取最优的下一跳中继节点。图6 为W-GPCR协议架构。源节点应用层启动发送数据分组,执行路由发现的数据链路层采集数据获取传感器数据,并基于图7 所示的路由发现流程发现下一跳最优节点,并发送RREQ 给下一跳节点,下一跳节点成为当前节点,执行源节点。基于相同的路由发现策略,将RREQ 最终送达目标节点。目标节点收到源节点发送的RREQ 后,按路由发现过程确定的最优路径发送RREP。

图7 路由发现流程

由图7可知,当节点收到发送数据分组的请求时,获取自身及其邻居节点和目标节点的地理位置信息。如果遇路由空洞,则按照受限转发策略计算权值选取下一跳节点;否则,则判断节点到目标节点的距离是否大于其邻居节点到目标节点的距离。如果大于,则按照权重选择的贪婪转发策略,通过计算节点之间的距离、节点的运动方向和密度的综合权值,选择权值最大的邻居节点作为下一跳节点;否则,则按照权重选择的修复策略,通过计算节点的综合权值来判断数据分组投递的方向是否朝着目标节点的方向收敛,选择权值最大的邻居节点作为下一跳节点。判断下一跳节点是否是目标节点,如果是,则进程结束;否则,则重复进行上述步骤,直至找到目标节点。

3.1 权重选择的贪婪转发策略

本文针对节点之间的距离、节点运动方向、节点密度等参考因素,提出了一个计算综合权重的方式,如式(1)所示。

其中,Dnd为下一跳节点与目标节点在二维平面上的欧氏距离,Dpd为当前节点与目标节点的欧氏距离,vn为下一跳节点速度的向量,lnd为由下一跳节点指向目标节点的向量,neign为下一跳节点信号覆盖内邻居节点的数量,S为下一跳节点信号覆盖内的二维平面面积。判断下一跳节点与目标节点之间的距离远近,其值越大,说明下一跳节点越靠近目标节点。cos(vn,lnd)判断下一跳节点的运动方向是否趋向于目标节点的方向,其值越大,说明下一跳节点的运动方向越是朝着目标节点的方向收敛。判断下一跳节点信号覆盖范围内的节点密度的大小,其值越大,说明路由的可能性越大。g1、g2、g3为3 个参考量的权重占比,g1为节点之间距离的权重占比,g2为节点运动方向的权重占比,g3为节点密度的权重占比,g1,g2,g3∈[0,1]且g1+g2+g3=1。当节点与目标节点距离较远的情况下,的值将会很小,而的值不会受很大影响。为了权衡各个参数的影响,设g1>g2且g1>g3,因为在贪婪转发的策略下,节点之间距离是主要参考量,节点的运动方向和密度是辅助参考量。Gn为权重选择的贪婪转发策略选取的下一跳节点的权重值,通过计算每个邻居节点的权重值,权重值最大的邻居节点将被选为下一跳节点。

基于权重选择的贪婪转发策略如算法1 所示。算法1 中的符号如表1 所示。

算法1基于权重选择的贪婪转发策略的伪代码

表1 符号含义

步骤1)~步骤3)获取当前节点的位置坐标locp、速度向量vp和邻居节点数量neigp,步骤4)获取目标节点的位置坐标locd,步骤5)计算当前节点与目标节点在二维平面上的欧氏距离Dpd,步骤6)计算当前节点指向目标节点的向量lpd,步骤7)计算当前节点在二维平面上信号覆盖的面积S,步骤8)计算当前节点的权值G。步骤10)~步骤21)遍历当前节点信号覆盖内的所有邻居节点,计算比较得出权值最大的节点。其中,步骤11)~步骤13)获取每个邻居节点的位置坐标loci、速度向量vi和其邻居节点数量neigi,步骤14)计算每个邻居节点与目标节点的欧氏距离Did,步骤15)计算每个邻居节点指向目标节点的向量lid,步骤16)计算每个邻居节点的权值Gi,步骤17)~步骤20)判断是否有邻居节点的权值大于当前节点的权值,如果有,则将该邻居节点的权值Gi赋值给G,该邻居节点ni被选定为下一跳节点noden。步骤22)~步骤25)判断最优的下一跳节点是否为当前节点,如果是,则由当前节点携带数据分组;否则,则将数据分组发送至该节点。

3.2 权重选择的修复策略

当受限制的贪婪转发策略失效时,数据分组沿着街道方向投递至路口节点,路口节点将会对其信号覆盖范围内的所有邻居节点进行权值计算,计算所得权值最大的邻居节点将被选为下一跳节点。权重选择的修复策略下的权重计算方式为

其中,lpn为当前节点指向下一跳节点的向量表示,lpd为当前节点指向目标节点的向量表示。cos(lpn,lpd)的值用来判断选择的下一跳节点的方向(此方向不是节点的运动方向,而是数据分组的投递方向)是否趋向于目标节点的方向,其值越大,说明数据分组的投递方向趋向于目标节点的方向。r1、r2、r3为3 个参考量的权重占比,r1为节点之间距离的权重占比,r2为数据分组投递方向与目标节点方向所成夹角的余弦值的权重占比,r3为节点密度的权重占比,r1,r2,r3∈[0,1]且r1+r2+r3=1。因为在修复策略下,节点之间的距离不再作为主要参考量,而是取决于数据分组的投递方向是否朝着目标节点的方向收敛,从而将节点之间的距离和节点密度作为辅助参考量,因此设定r1<r2且r2>r3。Rn为权重选择的修复策略选取的下一跳节点的权重值,通过计算每个邻居节点的权重值,权重值最大的邻居节点将被选为下一跳节点。权重值的计算和下一跳节点的选取同样采用算法1。

如图8 所示,源节点A 向目标节点H 发送数据分组,当数据分组投递至路口节点C 时,按照右手定则来选择下一跳节点的话,节点D 将被选为下一跳节点,右手定则规划出的路由路径为A—B—C—D—E,这将导致数据分组朝着远离目标节点的方向投递。根据式(2)所示的权重计算式,通过计算得出RK>RD。由此可知,节点K 将被选为下一跳节点,通过权重选择的修复策略能够规划出路由路径A—B—C—K—J—I—H,成功地将数据分组发送至目标节点。

图8 权重选择的修复策略示意

3.3 受限转发策略

当陷入路由空洞时,节点将数据分组回退至所在街道的路口节点,由该路口节点重新路由,寻找其他路径将数据分组投递至目标节点。为了避免重新路由时数据分组被再次投递至陷入路由空洞的街道,提出受限转发策略下的权重计算式为

其中,lin为路口节点指向下一跳节点的向量表示;liv为路口节点指向陷入路由空洞的节点的向量表示;sin(lin,liv)的值用来判断重新路由时数据分组的投递方向是否趋向于陷入路由空洞的街道的方向,其值越大,说明重新路由所选取的下一跳节点再次陷入路由空洞的可能性越小。Nn为受限转发策略选取的下一跳节点的权重值,通过计算路口节点信号覆盖范围内的所有邻居节点的权重值,选择权重值最大的邻居节点作为下一跳节点进行数据分组投递。

如图9 所示,源节点O 向目标节点L 发送数据分组,按照贪婪转发策略,当数据分组投递至节点D 时陷入路由空洞,在其信号覆盖范围内找不到下一跳节点转发数据分组,此时按照本文提出的解决方案,数据分组将会回退至路口节点C,由节点C 重新路由寻找其他路径去投递数据分组。根据式(3)所示的权重计算式得出,NE=sin(lCE,lCD)<NF=sin(lCF,lCD),节点F 将被选为下一跳节点,节点E 不会被选为下一跳节点,避免了再次陷入路口空洞的困境,而数据分组投递至节点 F 之后,一条潜在的路由路径(O—C—F—G—H—I—J—K—L)也将被建立,这在很大程度上保证了节点之间正常通信的可靠性。

图9 受限转发策略示意

3.4 路由协议中的数据交互

在路由算法中,信息的传输协议是IEEE 802.11p专用短距离通信协议。W-GPCR 协议的数据交互如图10 所示,主要由以下4 个阶段组成:交换“hello”消息,创建邻居表;计算邻居节点的权值;发送RREQ分组和路由发现;发送RREP 分组和数据传输。

图10 数据交互的主要阶段

首先单跳邻居节点之间交换“hello”消息,利用从“hello”消息中获得的信息,在每个节点上创建邻居表;然后计算每个邻居节点的权值,向邻居节点广播RREQ 数据分组或单播RREQ 数据分组,重复进行下去,直到RREQ 分组到达目标节点;最后通过RREP 分组将路由信息带回源节点,开始传输数据。

W-GPCR 协议的数据交互流程如图11 所示。首先通过向邻居节点广播“hello”消息来识别邻居节点并创建邻居表,计算每个邻居节点的权值,选择权值最大的邻居节点作为下一跳节点,如果下一跳节点的权值大于当前节点,则将它的权值插入RREQ 分组中,并且将RREQ 分组单播到该邻居节点,否则将当前节点的权值插入RREQ 分组中,并将其广播给所有邻居节点。在每个中继节点转发RREQ 分组的过程中,检查中继节点ID 是否与目标节点相同,如果ID 一致,则生成一个RREP 分组,并将其发送回源节点,否则重新计算邻居节点的权值,直到找到ID 一致的目标节点。

图11 数据交互流程

“hello”消息用于在邻居节点之间交换所需的信息。“hello”消息通过单跳通信在相邻节点之间广播,接收到来自邻居节点的“hello”消息后,节点在其邻居表中为该邻居节点创建一个信息表,如表2 所示。

表2 信息表

在W-GPCR 协议中,节点首先通过GPS 获得自己的位置坐标,通过安装的惯性测量单元(IMU,inertial measurement unit)获得节点的移动方向等信息;然后将这些所获得的信息插入一个“hello”消息中,并将其广播给它的单跳邻居节点;最后通过使用从“hello”消息中获得的信息,在每个节点上更新邻居表。W-GPCR 中“hello”消息的数据帧如图12 所示。

图12 “hello”消息的数据帧

4 仿真分析

使用交通仿真软件 SUMO(simulation of urban mobility)[23]和离散网络仿真软件(NS3)对GPSR、GPCR、GpsrJ+、GCRP、W-GPCR 等路由协议在不同场景下进行仿真,各个场景设定有不同的节点数和源节点-目的节点对数,能够比较真实地评估各个路由协议的性能。

4.1 仿真模型

如图13 所示,使用SUMO 建立了1 000 m×1 000 m 的仿真区域、9 个路口和12 条双向车道的道路交通模型。车辆的初始位置是随机分布的,车辆在街道上的运动受限于沿着街道运动的车辆跟随模型(Krauss 模型)。

图13 道路交通模型

通过设定20、40、60、80、100 个节点共计5 种不同的网络节点数来模拟不同的网络条件。每个车辆都配备有全向天线、传感器和精确的定位服务,能够获取其自身的位置坐标和行驶方向。将每个节点对(源节点-目的节点)的数据流量视为恒定比特率(CBR,constant bit rate),通过设定CBR 来生成固定512 B的数据分组[24-26]。模型的仿真参数如表3 所示。

表3 仿真参数

4.2 结果分析

为了评估网络中不同数据流量对路由性能的影响,将不同场景的CBR 按5 bit/s、10 bit/s、15 bit/s、20 bit/s 进行更改。通过30 次模拟运行,将所有仿真所得数据取其平均值,并设定95%的置信区间,最后以误差棒图的形式呈现。仿真中使用的性能指标定义如下。

1) 分组投递率

分组投递率是目标节点接收的分组总数Nreceice与源节点发送的分组总数Nsend之比,如式(4)所示。

分组投递率是节点之间投递数据分组成功的概率。分组投递率越大,说明路由协议交互数据分组的成功率越大、丢失数据分组的可能性越小,用来衡量路由协议的可靠性,能够保证节点之间的正常通信;反之,节点之间通信容易出现通信中断或数据丢失的现象。

2) 平均端到端时延

平均端到端时延是所有成功接收的数据分组时延的平均值,如式(5)所示。

端到端时延是节点之间投递数据分组所耗费的时间。端到端时延越小,说明路由协议投递数据分组所耗费的时间越少。网络中所有节点的端到端时延的平均值称为平均端到端时延,用来衡量路由协议的实时性。平均端到端时延越低,路由协议的实时性越强,相应的其处理速度也更快;反之,路由协议的实时性较差,路由协议的性能也较差。

3) 平均跳数

平均跳数是网络中所有节点跳数的平均值,如式(6)所示。

路由跳数是源节点发送数据分组到目标节点所经历的投递次数。路由跳数越少,说明路由协议投递数据分组所消耗的网络带宽和时间越少。网络中所有节点投递数据分组的路由跳数的平均值称为平均跳数。平均跳数越少,说明路由协议所消耗的网络带宽和时间越少;反之,所消耗的网络带宽和时间更多,路由性能也更差。

4.2.1 分组投递率

图14 显示了不同节点数和CBR 的分组投递率。随着网络中节点数的增加,网络的连通性提高了,遇到路由空洞的概率降低了,因此这5 种路由协议随着网络中节点数的增加,其分组投递率都在增大。在不同节点数和不同CBR 的网络中,W-GPCR 协议的分组投递率都要比GPCR、GPSR、GpsrJ+和GCRP 高。在CBR 分别为10 bit/s、15 bit/s、20 bit/s,节点数分别为20、40、60 的稀疏网络中,W-GPCR 协议的分组投递率更是比GPCR 和GPSR 高得多,这是因为W-GPCR 协议权重选择的修复策略通过权重选择下一跳节点,而不是单纯依靠右手定则去遍历节点,减少了路由冗余,避免了数据分组朝着远离目标节点的方向投递,提高了系统的稳定性。

4.2.2 平均端到端时延

图15 显示了不同节点数和CBR 的平均端到端时延。在不同节点数和不同 CBR 的网络中,W-GPCR 协议的平均端到端时延都要比GPCR、GPSR、GpsrJ+和GCRP 低,并且在相同CBR 的情况下,W-GPCR 协议在不同网络场景下的平均端到端时延都相差不大,相反,GPCR、GPSR、GpsrJ+和GCRP 的抖动很大,随着节点数增加,平均端到端时延逐渐降低。W-GPCR 协议的稳定性要比GPCR、GPSR、GpsrJ+和GCRP 更强,这是因为W-GPCR 协议权重选择贪婪转发策略,比起GPCR、GPSR、GpsrJ+和GCRP 单纯考量与目标节点的距离远近的贪婪转发策略更具备全局性,通过考量节点的运动方向和节点密度,选择邻居节点中权值最大的节点作为下一跳节点,避免数据分组投递陷入局部最优,极大地提高了W-GPCR 协议的性能。

图14 改变节点数和CBR 的分组投递率

图15 改变节点数和CBR 的平均端到端时延

4.2.3 平均跳数

图16 显示了不同节点数和CBR 的平均跳数。在不同节点数和不同CBR 的网络中,W-GPCR 协议的平均跳数都要比GPCR、GPSR、GpsrJ+和GCRP少,这是因为W-GPCR 协议在稀疏网络中针对路由空洞的受限转发策略,提供了更多的路由可能,所以数据分组成功投递至目标节点的概率更大。W-GPCR 协议能够减少数据分组投递的全局路径中多余的路由跳数,从而减少了系统网络开销。

图16 改变节点数和CBR 的平均跳数

5 结束语

车联网中高速移动的节点和拓扑结构的快速变化,使设计适合VANET 的路由协议面临很大的挑战。本文所提出的W-GPCR 协议在考虑与目标节点距离的前提下,结合节点的运动方向和密度设计权重计算算法。在车联网不同场景下,自适应选择权重参数比,从而得到最优的下一跳节点,极大地避免了陷入局部最优,克服了右手定则所带来的路由环路和远离目标节点的弊端,并且对陷入路由空洞的节点提出了解决方案。通过仿真结果表明,W-GPCR 协议在分组投递率、平均端到端时延和平均跳数上都要比GPCR、GPSR、GpsrJ+和GCRP更优。

猜你喜欢
投递权值路由
传统与文化的“投递”
一种融合时间权值和用户行为序列的电影推荐模型
基于5G MR实现Massive MIMO权值智能寻优的技术方案研究
数据通信网VRRP与MSTP联动引发的次优路由问题分析
路由选择技术对比
路由重分发时需要考虑的问题
强规划的最小期望权值求解算法∗
程序属性的检测与程序属性的分类
基于AODV 的物联网路由算法改进研究
大迷宫