«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (10): 153-159  DOI: 10.19678/j.issn.1000-3428.0059439
0

引用本文  

曹乐, 胡晓辉, 乔钰. 一种车载自组织网络连通性维护方法[J]. 计算机工程, 2021, 47(10), 153-159. DOI: 10.19678/j.issn.1000-3428.0059439.
CAO Le, HU Xiaohui, QIAO Yu. A Connectivity Maintenance Method for Vehicular Ad Hoc Network[J]. Computer Engineering, 2021, 47(10), 153-159. DOI: 10.19678/j.issn.1000-3428.0059439.

基金项目

国家自然科学基金(11461038);甘肃省科技支撑计划(2020A-033)

作者简介

曹乐(1996-), 女, 硕士研究生, 主研方向为车载自组织网络;
胡晓辉, 教授;
乔钰, 硕士研究生

文章历史

收稿日期:2020-09-04
修回日期:2020-11-10
一种车载自组织网络连通性维护方法
曹乐 , 胡晓辉 , 乔钰     
兰州交通大学 电子与信息工程学院, 兰州 730070
摘要:车载自组织网络(VANET)中的高速移动性节点和动态的网络拓扑结构使得车辆间通信链路存在传输时延长、连接时间短的问题。通过引入双簇头选择算法,提出一种改进的AODV路由协议(AODV-CMIRP),用于VANET的连通性维护。利用分簇技术降低全局网络拓扑的动态性,通过引入节点的相对移动度和相对速度作为簇头选择指标,并选取辅助簇头节点以延长车载自组织网络整体生存时间。仿真结果表明,在保证网络连通性和稳定性的前提下,相比CBDRP和AODV协议,AODV-CMIRP协议具有较低的平均端到端时延和较高的分组投递率,能够有效延长簇头生存时间并提高网络的稳定性。
关键词车载自组织网络    双簇头    路由协议    簇头生存时间    平均端到端时延    
A Connectivity Maintenance Method for Vehicular Ad Hoc Network
CAO Le , HU Xiaohui , QIAO Yu     
School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China
Abstract: Vehicular Ad Hoc Networks(VANET) are characterized by high-speed mobile vehicle nodes and dynamic network topology, which increases the transmission delay of communication links between vehicles and reduces connection time.For the maintenance of VANET connectivity, this paper proposes an improved AODV routing protocol, AODV-CMIRP, which introduces a selection algorithm based on dual cluster heads to reduce the influence of dynamic changes of the global network topology.The relative mobility and relative speed of nodes are introduced as the index of cluster head selection, and the auxiliary cluster head node is selected to ensure the overall lifetime of VANETs.The simulation results show that the AODV-CMIRP protocol can ensure the network connectivity and stability while exhibiting a lower average end-to-end delay and higher packet delivery fraction than CBDRP and AODV protocols.The proposed protocol can effectively prolong the cluster head lifetime and improve network stability.
Key words: Vehicular Ad Hoc Network(VANET)    dual cluster heads    routing protocol    cluster head lifetime    average end-to-end delay    

开放科学(资源服务)标志码(OSID):

0 概述

车载自组织网络(Vehicular Ad Hoc Network,VANET)是在交通环境中车辆与车辆、车辆与固定接入点、车辆与基础设施之间相互通信组成的开放式移动自组织网络(Mobile Ad Hoc Network,MANET)[1]。VANET通信包括车辆当前位置及移动速度信息、实时路况信息、车辆故障信息等[2]。VANET利用MANET技术可以快速地建立一个临时的车辆间无线通信网络。车辆间无线通信主要是源车辆将自身的车辆信息以及行驶过程中收集到的道路交通信息发送给目标车辆,从而方便目标车辆的司机对接收到的交通信息和可能出现的安全问题做出及时反应[3]。如何寻找和维护从源车辆到目标车辆的路由以保证数据传输的实时性、完整性和有效性是VANET路由协议研究的重点[4]。因此,设计一种基于分簇技术延长簇头(Cluster Head,CH)节点生存周期,降低VANET全局拓扑动态性的路由协议,是提高网络稳定性的有效方式,对实现高效稳定的车辆间通信具有十分重要意义[5]

文献[6]结合基于位置路由和基于簇路由协议的特点,提出一种基于簇头生存期的路由协议,簇头的选取主要取决于车辆的当前速度和到预定向簇边缘的距离,并未考虑簇内节点间的相对移动性。文献[7]将聚类问题转化为切割图问题,设计了一种基于谱聚类和力导向算法的新方法,选择邻居数最多的节点作为簇头,但在簇头节点移动速度较快时,导致簇成员离开过于频繁,从而影响网络稳定性。文献[8]提出一种基于软件定义网络(Software Defined Network,SDN)的社会感知分簇方法,基于车辆间距离、相对速度和车辆属性选择簇头,但未考虑因竞争簇头造成的时延对通信质量的影响。文献[9]设计了一种基于移动区域的体系结构,提出一种基于移动对象建模和索引技术的新方法。该方法根据车辆的运动模式进行分簇,提升了消息传递率,但在复杂多变的VANET环境中,当簇头车辆的运动模式发生改变时,都需要进行重选簇头,导致产生过多的开销。文献[10]提出一种基于簇的无监督VANET演进图(CVoEG)模型,选择簇内具有最大的特征中心度分数作为簇头节点。该模型在静态或车辆拓扑结构变化较小的情况下表现不佳,更适合于具有高速变化和间距变化的情况。文献[11]提出一种基于粒子群优化的分簇路由算法,根据节点的方向、速度和邻居节点个数来确定簇头,有效减少了端到端时延,但簇头生存时间较短。文献[12]提出一种基于多目标元启发式的VANET分簇算法,使用双簇头进行转发,有效延长了簇的生存时间,但无法保证传输时延。

VANET环境下接入网车辆的高速移动性使得车与车、车与基站之间的通信大多基于无线链路,节点在一段时间内频繁地进入和离开其他节点的通信范围,导致簇头生存时间较短、传输时延较大、网络稳定性不佳等问题,从而影响通信质量。本文依据最大化簇头生存时间原则选取簇头,将节点的相对移动度和相对速度作为节点稳定度的主要参考指标,选出每个簇内稳定度最佳的节点作为簇头,负责簇间数据交换。同时结合双簇头设计思想选取辅助簇头,有效避免因竞争簇头带来的时延差,从而保证VANET消息传输的有效性和完整性。

1 双簇头的改进路由协议设计

由于道路上车辆速度及方向是不断变化的,且车辆的速度及位置与车辆通信密切相关,因此同一簇内的车辆应当具有更相似的运动模式。簇的划分主要采用以下2种方式:1)适合具有路标或车辆以中等速度行驶的预分割道路,物理上将道路重新分割成相等的路段,同一路段内的节点属于同一簇,选取距离道路分段中间最近的节点作为簇头(Cluster Head,CH);2)适用于道路上车辆高速移动的情况,同一簇内车辆移动方向相同并且具有相近的移动速度[13],当车辆在道路上高速移动时,车辆频繁地加入或离开所在簇,使CH重选过程变得频繁,从而对网络的稳定性产生不利影响[14]。本文提出一种基于最佳稳定度的双簇头选择算法,选取每个簇内稳定度最佳的节点作为CH,稳定度次佳的节点作为辅助簇头(Auxiliary Cluster Head,ACH),降低了重选CH造成的影响,从而达到车载无线自组织网络连通性维护的目的。

1.1 双簇头的VANET网络结构

将车辆按一定规则划分为簇,并选择CH和ACH负责其簇的协调任务。当CH处于活跃状态,ACH处于休眠状态,记录来自同一簇内CH的数据副本;当CH发生错误或不可预知的紧急情况,ACH将做好准备,负责CH的工作任务。不属于CH邻居节点的车辆必须获取另一个簇,一跳以内的车辆会在其路由表中检查其通信的CH数量,同一簇内既不是CH也不是ACH的节点为成员节点(Member Node,MN)。VANET结构中的簇如图 1所示。

Download:
图 1 VANET结构中的簇 Fig. 1 Clusters of VANET structure

图 1可以看出,簇中的车辆通过CH从基站(Base Station,BS)获得服务,减少了通信过程中的信令开销。簇中的车辆使用IEEE 802.11p接口通过CH发送和接收数据,车载用户可以无缝访问运营商的服务,降低了成本,减轻了蜂窝负担并节省了许可频谱资源。ACH记录来自CH的消息副本,并随时准备应对紧急情况。当CH移动速度过快或其他原因离开该簇,ACH立即作为CH开始工作,并选取新的ACH,以降低因竞争簇头造成的时延影响。

1.2 簇的划分

簇的划分主要是基于BS和具有无线网络接口的车辆以及到达角度($ \theta $)、接收信号强度($ {R}^{\mathrm{S}} $)和车辆间距离(Vehicle Distance,VD)3个因素。

1)BS初始分组

在BS侧,根据相似的$ \theta $$ {R}^{\mathrm{S}} $,将车辆大致分为几个分组,然后将分组信息发送给该区域中的车辆。根据文献[15],在MAC协议中,车辆的传输面被分成$ \alpha $个等度$ (360/\alpha ) $的传输角$ ({C}_{1}, {C}_{2}, \cdots , {C}_{\alpha }) $,通过将每个传输角赋给唯一的一个车辆组,形成$ \alpha $个方向群。在笛卡尔空间中,每个分组的特征是向量$ \boldsymbol{F}=(\mathrm{c}\mathrm{o}\mathrm{s}{\theta }_{F}, \mathrm{s}\mathrm{i}\mathrm{n}{\theta }_{F}) $,其中$ {\theta }_{F} $为倾斜角。车辆先使用GPS设备确定其倾斜角$ {\theta }_{F} $,从而确定其在笛卡尔空间中的矢量坐标;然后通过不同的传输角和$ {R}^{\mathrm{S}} $来定义不同的车辆组,每个车辆组的$ {R}^{\mathrm{S}} $特征满足公式:

$ \left|{R}_{T}^{\mathrm{S}}-{R}_{T-1}^{\mathrm{S}}\right|\le 1-{\mathrm{e}}^{-\frac{\mathrm{\Delta }v}{\lambda }} $ (1)

其中:$ {R}_{T}^{\mathrm{S}} $$ {R}_{T-1}^{\mathrm{S}} $分别为在时刻$ T $$ T-1 $处接收到的信号强度值;$ \mathrm{\Delta }v={v}_{T}-{v}_{T-1} $$ {v}_{T} $$ {v}_{T-1} $表示在时刻$ T $$ T-1 $车辆的移动速度值,即$ 0 <{v}_{T-1} $$ {v}_{T}<{v}_{\mathrm{m}\mathrm{a}\mathrm{x}} $$ {v}_{\mathrm{m}\mathrm{a}\mathrm{x}} $为车辆的最大速度;$ \lambda $为相对于BS的位置移动速度在特定移动方向上单位增加或减少时信号强度的变化率。当车辆向BS移动时,信号强度会不断增加,反之亦然。车辆向BS移动的速度越快,其接收到的信号强度增加越快;车辆离开BS的速度越快,接收到的信号强度下降越快。

2)簇的细分

在依据行车方向和信号强度对车辆初始分组后,根据IEEE 802.11p无线传输范围对车辆进行分簇。在从基站接收到车辆分组列表之后,车辆使用VD来细化该组并形成簇。由于BS预测的车辆位置信息可能不准确,文献[16]中车辆采用IEEE 802.11p广播消息验证VD,并更新分组列表,最后根据传输范围形成簇,车辆的传输范围$ L $如式(2)所示:

$ L\le {H}_{\mathrm{m}\mathrm{a}\mathrm{x}}\times (1-\varepsilon ) $ (2)

其中:$ {H}_{\mathrm{m}\mathrm{a}\mathrm{x}} $为最大IEEE 802.11p传输范围;$ \varepsilon $为当前位置的无线信道衰落情况。将城市道路以车辆传输范围作为依据划分为簇。为保证相邻两个簇间的正常通信,本文以车辆传输范围的$ \frac{1}{2} $划分为簇,那么相邻两簇的簇头一定存在于对方的传输范围内[4]

根据文献[17],用$ {d}_{\mathrm{B}} $表示从CH到BS的平均距离,簇内成员与其CH之间的平均距离用$ {d}_{\mathrm{C}}^{2} $表示。$ {d}_{\mathrm{B}} $如式(3)所示:

$ {d}_{\mathrm{B}}={\int }_{A}\sqrt{{x}^{2}+{y}^{2}}\frac{1}{A}\mathrm{d}A $ (3)

$ {d}_{\mathrm{C}}^{2} $如式(4)所示:

$ {d}_{\mathrm{C}}^{2}={\int }_{0}^{{x}_{\mathrm{m}\mathrm{a}\mathrm{x}}}{\int }_{0}^{{y}_{\mathrm{m}\mathrm{a}\mathrm{x}}}({x}^{2}+{y}^{2})\rho (x, y)\mathrm{d}x\mathrm{d}y=\frac{{m}^{2}}{2\mathrm{\pi }f} $ (4)

其中:$ \rho (x, y) $是节点分布;假设CH选择标准满足预期条件,A为场景面积,单位为$ {\mathrm{m}}^{2} $,有$ N $个节点均匀分布,节点在该场景中成为CH的最佳概率$ {P}_{\mathrm{b}} $如式(5)所示:

$ {P}_{\mathrm{b}}=\frac{{K}_{\mathrm{b}}}{N} $ (5)

其中:$ {K}_{\mathrm{b}} $为最佳簇数,取决于场景和节点数$ N $的大小,且主要与CH与BS之间的距离相关[17]。构造的最佳簇数如式(6)所示:

$ {K}_{\mathrm{b}}=\frac{m}{\mu {d}_{\mathrm{B}}^{2}}\times \sqrt{\frac{N}{2\mathrm{\pi }}} $ (6)

其中:设$ \mu $为0.01,将$ m $的长度设置为100 m,节点个数$ N $设置为100,那么当75 m < dB < 100 m时,根据式(6)得出所构造的最佳簇数为$ 4 <{K}_{\mathrm{b}}<7 $

2 双簇头的改进AODV路由协议算法

在分簇之后,需要选取CH,以便有效将消息传输到BS。本文提出一种双簇头的AODV-CMIRP路由协议用于VANET环境,根据节点相对移动度和相对速度对CH进行选取。

2.1 系统模型

假设专用短程通信(Dedicated Short Range Communication,DSRC)是用于交换数据包的无线技术,DSRC在PHY层和MAC层上使用802.11p标准。本文还有以下5个假设:1)每辆车都配有GPS接收器,且具有相同的无线电范围,车辆可通过GPS了解其自身的位置,并使用导航系统绘制其在道路上的位置图,通过特定的位置服务获得目的节点的当前位置;2)簇的大小受其簇头无线电范围的限制;3)车辆行驶速度介于5~20 m/s;4)同一簇内的车辆向同一方向行驶;5)车辆的时钟都是同步,车辆配有足够的计算资源,并且车辆节点的缓冲区足够大,能够存储大量数据。

2.2 簇头选择算法

针对VANET中节点速度快、网络拓扑变化频繁的特点,本文提出一种双簇头的路由改进算法,选出簇内稳定性最好的节点作为CH,确保在最长时间内CH与簇内其他节点的距离不会过大,从而降低通信链路发生断裂的概率。

根据节点连续两次接收到邻居节点数据包的发射功率之比来计算节点的相对移动度[18],节点$ {V}_{i} $相对节点$ {V}_{j} $的相对移动度如式(7)所示:

$ {M}_{i}\left(j\right)=10\times \mathrm{l}\mathrm{g}\frac{{R}_{ij}^{\mathrm{n}\mathrm{e}\mathrm{w}}}{{R}_{ij}^{\mathrm{o}\mathrm{l}\mathrm{d}}} $ (7)

其中:$ {M}_{i}\left(j\right) $为节点$ {V}_{i} $相对节点$ {V}_{j} $的相对移动度;$ {R}_{ij}^{\mathrm{n}\mathrm{e}\mathrm{w}} $$ {R}_{ij}^{\mathrm{o}\mathrm{l}\mathrm{d}} $分别为节点$ {V}_{i} $在当前时间间隔与上一时间间隔内接收到节点$ {V}_{j} $的发射功率。若$ {R}_{ij}^{\mathrm{n}\mathrm{e}\mathrm{w}}<{R}_{ij}^{\mathrm{o}\mathrm{l}\mathrm{d}} $,则$ {M}_{i}\left(j\right)<0 $,表示两者之间的距离正在变大;若$ {R}_{ij}^{\mathrm{n}\mathrm{e}\mathrm{w}}>{R}_{ij}^{\mathrm{o}\mathrm{l}\mathrm{d}} $,则$ {M}_{i}\left(j\right)>0 $,表示两者之间的距离正在变小。

对于任意节点$ {V}_{i} $,如果其周围存在$ {N}_{\mathrm{L}} $个邻居节点,需要计算$ {N}_{\mathrm{L}} $$ {M}_{i}\left(j\right) $值,通过计算节点$ {V}_{i} $对其所有邻居节点的相对移动度总和,得到节点$ {V}_{i} $相对其所有邻居节点的平均相对移动度:

$ {M_i} = \frac{{\sum\limits_{k = 1}^{{N_{\rm{L}}}} {\left| {{M_i}\left( {{j_k}} \right)} \right|} }}{{{N_{\rm{L}}}}} $ (8)

其中:$ {M}_{i} $为节点$ {V}_{i} $的平均相对移动度;$ {M}_{i}\left({j}_{k}\right) $为节点$ {V}_{i} $相对于其第$ k $个邻居节点的相对移动度;$ {N}_{\mathrm{L}} $为节点$ {V}_{i} $的邻居节点总数。$ {M}_{i} $的值越小代表节点$ {V}_{i} $相对于其邻居节点的移动性越低,节点越稳定;反之,$ {M}_{i} $越大表示其相对邻居节点的移动性越高,节点稳定度越低。

节点$ {V}_{i} $的相对速度[13]如式(9)所示:

$ {Q_i} = \frac{{\sum\limits_{k = 1}^{{N_{\rm{L}}}} {\left| {{x_i} - {x_k}} \right|} }}{{{N_{\rm{L}}}}} $ (9)

其中:$ {Q}_{i} $为节点$ {V}_{i} $相对于其周围$ {N}_{\mathrm{L}} $个相邻节点的平均相对速度;$ {x}_{i} $为节点$ {V}_{i} $的当前速度;$ {x}_{k} $为节点$ {V}_{i} $的第$ k $个邻居节点的速度。$ {Q}_{i} $越大,表示$ {V}_{i} $节点相对于邻居节点的相对速度越大,节点稳定度越低。

在选择簇头的过程中,节点$ {V}_{i} $通过与其相邻节点进行节点间的信息交换计算出自身的稳定度,如式(10)所示:

$ {S}_{i}=\frac{1}{{M}_{i}\times {Q}_{i}} $ (10)

其中:$ {S}_{i} $为自身稳定度的大小。$ {S}_{i} $值最大的节点将被选择为CH,即平均相对移动度和相对速度的减小节点被选为CH的概率越大。

簇内车辆主要通过CH与BS通信,如果簇内存在CH,且CH工作正常,那么CH负责簇间数据的转发,并将车辆数据的副本周期性发送到ACH;如果CH发生错误,那么ACH作为新的CH,承担CH的工作任务,然后选择新的ACH并将车辆数据传到新的ACH。一旦发现簇内没有CH和ACH则需要根据CH选择算法,选出新的CH和ACH。根据参数$ {M}_{i} $以及$ {F}_{i} $来确定选出接近于最佳稳定度的车辆节点作为CH和ACH。CH和ACH选择流程如图 2所示。

Download:
图 2 CH和ACH选择流程 Fig. 2 Selection procedure of CH and ACH

在进行周期性检测时,如果发现簇内没有CH或ACH,需要及时选择CH及ACH。若被选为CH,将节点状态更改为CH,向其邻居CH发送CH包并且向其ACH发送备份数据;若没有被选为CH而被选为ACH,将其状态更改为ACH,其邻居列表中有且仅有一个CH;若没有被选为CH或ACH,节点状态即为MN。双簇头选择算法如下:

算法1  双簇头选择算法

输入  簇内车辆速度、位置信息等

输出  簇内车辆节点的状态

//根据基站初始化组定义不同的车辆组,根据802.11p传//输范围形成簇。

1. 根据式(8)~式(9)计算车辆$ {\mathrm{V}}_{\mathrm{i}} $$ {\mathrm{M}}_{\mathrm{i}} $$ {\mathrm{Q}}_{\mathrm{i}} $

2.使用式(10)更新$ {\mathrm{S}}_{\mathrm{i}} $

3.if(簇内不存在CH)then

4.if(簇内不存在ACH)then

5.$ {\mathrm{S}}_{\mathrm{o}\mathrm{p}}={\mathrm{S}}_{\mathrm{s}\mathrm{u}\mathrm{b}}=0 $

6.if $ ({\mathrm{S}}_{\mathrm{i}}>{\mathrm{S}}_{\mathrm{o}\mathrm{p}}) $ then

7.$ {\mathrm{S}}_{\mathrm{s}\mathrm{u}\mathrm{b}}={\mathrm{S}}_{\mathrm{o}\mathrm{p}} $

8.$ {\mathrm{S}}_{\mathrm{o}\mathrm{p}}={\mathrm{S}}_{\mathrm{i}} $

9.$ {\mathrm{V}}_{\mathrm{j}}\_\mathrm{S}\mathrm{t}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{s} $= ACH //$ {\mathrm{S}}_{\mathrm{s}\mathrm{u}\mathrm{b}} $此时对应的车辆$ {\mathrm{V}}_{\mathrm{j}} $的状态更改为//ACH

10.$ {\mathrm{V}}_{\mathrm{i}}\_\mathrm{S}\mathrm{t}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{s} $= CH //$ {\mathrm{S}}_{\mathrm{i}} $此时对应的车辆$ {\mathrm{V}}_{\mathrm{i}} $的状态更改为CH

11.else $ ({\mathrm{S}}_{\mathrm{o}\mathrm{p}}>{\mathrm{S}}_{\mathrm{i}}>{\mathrm{S}}_{\mathrm{s}\mathrm{u}\mathrm{b}}) $

12.$ {\mathrm{S}}_{\mathrm{s}\mathrm{u}\mathrm{b}}={\mathrm{S}}_{\mathrm{i}} $

13.$ {\mathrm{V}}_{\mathrm{i}}\_\mathrm{S}\mathrm{t}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{s} $= ACH //$ {\mathrm{S}}_{\mathrm{s}\mathrm{u}\mathrm{b}} $此时对应的车辆$ {\mathrm{V}}_{\mathrm{i}} $的状态更改//为ACH

14.if(簇内存在ACH)then

15.ACH接管CH的工作,并重新选取ACH

16.else

//簇内CH正常工作

17.if($ {\mathrm{V}}_{\mathrm{i}}\_\mathrm{S}\mathrm{t}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{s} $== CH)then

18.CH采集数据,周期性地发送数据给BS,发送CH包给邻居CH,选择ACH并给其发送备份数据。

19.else

20.$ {\mathrm{V}}_{\mathrm{i}}\_\mathrm{S}\mathrm{t}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{s} $=MN

2.3 转发策略

在所提出的AODV-CMIRP路由协议中,车辆节点会周期性地向CH发送当前的位置和速度信息。本文使用的特殊控制有Hello包、CH数据包、ACH数据包。

1)Hello包。一个四字段的数据包,包含车辆$ {\mathrm{V}}_{i} $的序号($ {\mathrm{V}}_{i}\_\mathrm{I}\mathrm{D} $)、状态($ {\mathrm{V}}_{i}\_\mathrm{S}\mathrm{t}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{s} $)、该节点自身的稳定度($ {S}_{i} $)和邻居列表($ {\mathrm{V}}_{i}\_\mathrm{N}\mathrm{L} $)。其中状态字段获取3个可能值之一,分别是CH、ACH和MN。

2)$ \mathrm{C}\mathrm{H} $数据包。构成该数据包的字段分别为包ID($ \mathrm{P}\_\mathrm{I}\mathrm{D} $)、簇头ID($ \mathrm{C}\mathrm{H}\_\mathrm{I}\mathrm{D} $)、源车辆节点ID($ \mathrm{S}\_\mathrm{I}\mathrm{D} $)、目的车辆节点ID($ \mathrm{D}\_\mathrm{I}\mathrm{D} $)和目的簇头的ID($ \mathrm{D}\mathrm{C}\_\mathrm{I}\mathrm{D} $)。

3)$ \mathrm{A}\mathrm{C}\mathrm{H} $数据包。构成该包的字段分别为包ID($ \mathrm{P}\_\mathrm{I}\mathrm{D} $)、所在簇的簇头ID($ \mathrm{C}\mathrm{H}\_\mathrm{I}\mathrm{D} $)和CH备份数据($ \mathrm{C}\mathrm{H}\_\mathrm{D}\mathrm{T} $)。

开始时将道路上所有车辆的初始状态均设置为MN。所有的车辆相互之间交换Hello包,每辆车都会在Hello包中发送其邻居节点的信息,并完成CH选择。当源节点S需要向目的节点D发送数据包时,其主要步骤如下:

1)令源节点为当前节点。

2)首先当前节点检测是否与目的节点D在同一簇内。若在同一簇内,当前节点以最多2跳的方式将数据转发至目的节点D,并结束本次通信;若不在同一簇内,则启动路由决策过程。

3)根据CH提供的位置信息,建立包含当前节点、当前节点所在簇的CH、目的节点所在簇的CH和目的节点的骨干路由。当前节点先将请求消息RREQ发送给所在簇的CH,接收到RREQ的CH根据当前的位置信息,选择距离最近且簇内有足够车流量来保证连通性的邻居CH转发RREQ。邻居CH接收到RREQ后,根据该策略转发RREQ,直至消息转发至目的节点。

4)在转发RREQ消息的过程中,每个CH都记录RREQ的转发路径。目的节点在接收了RREQ消息后,按RREQ的转发路径,回复RREP消息至当前节点。若当前节点在规定时间内没有收到RREP消息,则默认为传输失败,并返回RRER消息;否则,当前节点开始向目的节点传输数据包。

3 仿真实验与分析 3.1 仿真环境

本文采用NS2网络模拟软件,在Ubuntu 18.04的环境下,对AODV-CMIRP协议进行仿真实验。为了能够模拟接近真实的城市环境道路交通场景及车辆运动行为,采用微观交通仿真软件SUMO生成街道模型和节点运动模型,AODV参数设置如表 1所示。

下载CSV 表 1 AODV参数设置 Table 1 AODV parameters setting
3.2 仿真结果及分析

实验选取原AODV协议与CBDRP协议[19]进行仿真模拟和对比分析。

3.2.1 簇头生存时间

簇头生存时间定义为车辆节点充当CH的持续时间,一个动态簇的生存时间很大程度上取决于簇头生存时间,簇头生存时间越长,该簇稳定性越高[20]。传输范围与簇头生存时间的关系如图 3所示。从图 3可以看出,当道路上的车辆个数为100,最大移动速度为20 m/s时,传输范围从100 m增大到400 m的簇头寿命变化情况。随着车辆传输范围增大,两种协议簇的规模均增加,因此簇头生存时间增加。在传输范围相同时,AODV-CMIRP协议的簇头生存时间较长。CBDRP协议选取簇头主要根据簇内节点的位置信息和速度矢量,并未考虑节点稳定度,而AODV-CMIRP协议将每个节点的相对速度和相对移动度作为节点稳定度的评价指标,选出簇内稳定度最佳的节点作为簇头,从而有效地延长了簇头生存时间。因此,在簇头生存时间上AODV-CMIRP协议表现更佳。

Download:
图 3 CBDRP、AODV-CMIRP协议簇头生存时间的对比 Fig. 3 Cluster head lifetime comparison of CBDRP and AODV-CMIRP protocols
3.2.2 平均跳数

平均跳数定义为网络中所有节点投递数据分组路由跳数的平均值,平均跳数越少,说明路由协议所消耗的网络带宽和时间越少,路由性能也更好[21]。CBDRP、AODV-CMIRP协议平均跳数对比如图 4所示。两种协议传输范围与数据分组从源节点到目的节点经过路径跳数平均值之间的关系。在传输范围相同时,CBDRP协议在分簇时并未考虑车辆的传输范围对分簇的影响,而AODV-CMIRP协议簇的划分与车辆的传输范围相关,且考虑到最佳分簇数量的上下限。因此,在平均跳数方面AODV-CMIRP协议表现更好。

Download:
图 4 CBDRP、AODV-CMIRP协议平均跳数对比 Fig. 4 Average hops comparison of CBDRP and AODV-CMIRP protocols
3.2.3 平均端到端时延

平均端到端时延为节点间投递数据分组耗费时间的平均值,用来衡量路由协议的实时性。平均端到端时延越小,说明路由协议投递数据分组的时间越短。AODV、CBDRP、AODV-CMIRP协议平均端到端时延对比如图 5所示,可以看出3种协议的平均端到端时延均随着节点数量的增加而逐渐降低。随着节点总数的增加,参与路由转发的节点也会增加,从而增加了满足路由转发条件的节点个数,降低了平均端到端时延。AODV-CMIRP协议采用双簇头传输数据分组,在计算相对稳定度的过程中考虑簇内节点数量对簇头选择的影响,所以平均端到端时延较小。CBDRP协议并未考虑节点数量变化对分簇后协议性能的影响,因此AODV-CMIRP协议的平均端到端时延更低。

Download:
图 5 AODV、CBDRP、AODV-CMIRP协议平均端到端时延对比 Fig. 5 Average end-to-end delay comparison of AODV, CBDRP, AODV-CMIRP protocols
3.2.4 分组投递率

分组投递率为目的节点接收到的数据包个数与源发送的数据包个数之比,反映了网络传输的可靠性。分组投递率越高,说明路由协议传输数据分组的成功率越大、丢失数据分组的可能性越小。AODV、CBDRP、AODV-CMIRP协议分组投递率对比如图 6所示,可以看出随着节点个数增加,数据的分组投递率均有所提升,因为节点个数增多时,节点的相遇概率会增加,提升了网络的连通性,降低了路由空洞的概率。AODV-CMIRP协议的簇头更稳定,在簇头选择过程中考虑了簇内车辆节点的相对速度和相对移动度,增强了路由协议的可靠性,保证了节点之间的正常通信,因此AODV-CMIRP协议分组投递率优于CBDRP协议。

Download:
图 6 AODV、CBDRP、AODV-CMIRP协议分组投递率对比 Fig. 6 Packet delivery fraction comparison of AODV, CBDRP, AODV-CMIRP protocols
4 结束语

本文提出一种用于车载自组织网络连通性维护的AODV-CMIRP路由协议。该协议根据最大化簇头生存时间原则选取簇头,将平均相对移动度和相对速度作为簇头稳定性的评判依据。仿真结果表明,与AODV、OBDRP协议相比,AODV-CMIRP协议在簇头生存时间、平均跳数、平均端到端时延、分组投递率四项指标上表现均较好,减少了网络重选簇头的次数,进而提高网络的稳定性。为进一步降低节点发射功率并均衡网络能耗,后续将对AODV-CMIRP协议中节点的能量特性进行研究。

参考文献
[1]
YU C, ZHAO H, SI S Z, et al. Complex networks analysis method of VANET mobility model[J]. Acta Electronica Sinica, 2017, 45(6): 1449-1455. (in Chinese)
于冲, 赵海, 司帅宗, 等. 车载网运动模型的复杂网络解析方法[J]. 电子学报, 2017, 45(6): 1449-1455. DOI:10.3969/j.issn.0372-2112.2017.06.024
[2]
LI X, NAN J G. A weight-based clustering algorithm for vehicular ad hoc networks with the same mobile characteristics[J]. Journal of Air Force Engineering University (Natural Science Edition), 2020, 21(4): 55-60. (in Chinese)
李雪, 南建国. 基于加权的具有相同移动特性的车载自组网分簇算法[J]. 空军工程大学学报(自然科学版), 2020, 21(4): 55-60. DOI:10.3969/j.issn.1009-3516.2020.04.009
[3]
ZHANG W F, LEI L T, WANG X M, et al. Secure and efficient authentication and key agreement protocol using certificateless aggregate signature for cloud service oriented VANET[J]. Acta Electronica Sinica, 2020, 48(9): 1814-1823. (in Chinese)
张文芳, 雷丽婷, 王小敏, 等. 面向云服务的安全高效无证书聚合签名车联网认证密钥协商协议[J]. 电子学报, 2020, 48(9): 1814-1823. DOI:10.3969/j.issn.0372-2112.2020.09.020
[4]
YANG Y Q, ZHANG G A, JIN X L. Dual cluster head routing protocol base on vehicle density in VANETs[J]. Computer Science, 2018, 45(4): 126-130. (in Chinese)
杨羽琦, 章国安, 金喜龙. 车载自组织网络中基于车辆密度的双簇头路由协议[J]. 计算机科学, 2018, 45(4): 126-130.
[5]
LIU Q L, JIA M F, CHEN L, et al. Routing protocol for urban vehicular ad hoc networks[J]. Computer Engineering and Applications, 2017, 53(9): 121-126. (in Chinese)
刘期烈, 贾梦芳, 陈林, 等. 城市环境中车载自组织网络路由算法[J]. 计算机工程与应用, 2017, 53(9): 121-126.
[6]
ABUASHOUR A, KADOCH M. Performance improvement of cluster-based routing protocol in VANET[J]. IEEE Access, 2017, 5: 15354-15371. DOI:10.1109/ACCESS.2017.2733380
[7]
LIU G, QI N, CHEN J X, et al. Enhancing clustering stability in VANET: a spectral clustering based approach[J]. China Communications, 2020, 17(4): 140-151. DOI:10.23919/JCC.2020.04.013
[8]
QI W J, SONG Q Y, WANG X J, et al. SDN-enabled social-aware clustering in 5G-VANET systems[J]. IEEE Access, 2018, 6: 28213-28224. DOI:10.1109/ACCESS.2018.2837870
[9]
LIN D, KANG J, SQUICCIARINI A, et al. MoZo: a moving zone based routing protocol using pure V2V communication in VANETs[J]. IEEE Transactions on Mobile Computing, 2017, 16(5): 1357-1370.
[10]
KHAN Z, FAN P, FANG S, et al. An unsupervised cluster-based VANET-oriented evolving graph model and associated reliable routing scheme[J]. IEEE Transactions on Intelligent Transportation Systems, 2019, 20(10): 3844-3859. DOI:10.1109/TITS.2019.2904953
[11]
BAO X, LI H, ZHAO G, et al. Efficient clustering V2V routing based on PSO in VANETs[J]. Measurement, 2020, 152: 1-10.
[12]
ALSUHLI G H, KHATTAB A, FAHMY Y A. An evolutionary approach for optimized VANET clustering[C]//Proceedings of the 31st International Conference on Microelectronics. Washington D.C., USA: IEEE Press, 2019: 70-73.
[13]
LOUAZANI A, SEKHRI L. Petri net model for connectivity maintenance in VANET clustering-based routing algorithm[C]//Proceedings of International Conference on Advanced Aspects of Software Engineering. Washington D.C., USA: IEEE Press, 2016: 92-97.
[14]
SALEEM M A, ZHOU S, SHARIF A, et al. Expansion of cluster head stability using fuzzy in cognitive radio CR-VANET[J]. IEEE Access, 2019, 7: 173185-173195. DOI:10.1109/ACCESS.2019.2956478
[15]
BENSLIMANE A, TALEB T, SIVARAJ R. Dynamic clustering-based adaptive mobile gateway management in integrated VANET-3G heterogeneous wireless networks[J]. IEEE Journal on Selected Areas in Communications, 2011, 29(3): 559-570. DOI:10.1109/JSAC.2011.110306
[16]
DUAN X, WANG X, LIU Y, et al. SDN enabled dual cluster head selection and adaptive clustering in 5G-VANET[C]//Proceedings of the 84th Vehicular Technology Conference. Washington D.C., USA: IEEE Press, 2016: 1-5.
[17]
SMARAGDAKIS G, MATTA I, BESTAVROS A. SEP: a stable election protocol for clustered heterogeneous wireless sensor networks[C]//Proceedings of the 2nd International Workshop on Sensor and Actor Network Protocols and Applications. New York, USA: ACM Press, 2004: 1-11.
[18]
CHEN Z J, SHI X R. Clustering algorithm for mobile ad hoc networks[J]. Computer Engineering and Applications, 2007, 43(29): 159-161, 171. (in Chinese)
陈志军, 史杏荣. 一种适合移动自组网的分簇算法[J]. 计算机工程与应用, 2007, 43(29): 159-161, 171. DOI:10.3321/j.issn:1002-8331.2007.29.046
[19]
SONG T, XIA W W, SONG T C, et al. A cluster-based directional routing protocol in VANET[C]//Proceedings of the 12th International Conference on Communication Technology. Washington D.C., USA: IEEE Press, 2010: 1172-1175.
[20]
ZHAO Y, CHEN L, CHENG Z A, et al. Ant colony algorithm based cluster routing protocol vehicual ad hoc networks[J]. Computer Measurement & Control, 2016, 24(10): 259-262. (in Chinese)
赵悦, 陈雷, 程子傲, 等. 车载自组织网络中基于蚁群算法的簇路由协议[J]. 计算机测量与控制, 2016, 24(10): 259-262.
[21]
GU Z R, LI M, LONG Y H, et al. Routing optimization method based on GPCR for vehicular ad hoc network[J]. Journal on Communications, 2020, 41(7): 152-164. (in Chinese)
谷志茹, 李敏, 龙永红, 等. 基于GPCR的车辆自组织网络路由优化方法[J]. 通信学报, 2020, 41(7): 152-164.