CN106060888B - 一种基于复杂网络中心性的vanet分簇路由方法 - Google Patents
一种基于复杂网络中心性的vanet分簇路由方法 Download PDFInfo
- Publication number
- CN106060888B CN106060888B CN201610361674.3A CN201610361674A CN106060888B CN 106060888 B CN106060888 B CN 106060888B CN 201610361674 A CN201610361674 A CN 201610361674A CN 106060888 B CN106060888 B CN 106060888B
- Authority
- CN
- China
- Prior art keywords
- node
- cluster
- cluster head
- backbone
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种基于复杂网络中心性的VANET分簇路由方法,包括以下步骤:根据复杂网络中心性推举出簇头节点,建立簇头;网络中所有簇头节点根据收到的确认信息挑选骨干路径,骨干路径上的节点设为骨干节点,建立骨干网;骨干网建立以后,簇头和骨干节点的所有邻居被设置为成员节点,簇结构形成;骨干节点和簇头通过Hello报文对簇结构进行维护和解散;根据相应的规则进行数据包的转发。本发明通过骨干节点拓展了簇头的控制范围,减少了簇的总数,提高了分簇算法的性能,在分组到达率、控制开销等方面的表现更好,更适用于车载自组网环境。
Description
技术领域
本发明属于车辆自组织网络无线通信技术领域,特别是一种基于复杂网络中心性的VANET分簇路由方法。
背景技术
车载自组网(Vehicular Ad hoc Network,VANET)是智能交通系统的重要组成部分,是移动自组网(Mobile Ad hoc Network,MANET)技术在交通领域的新应用。在VANET环境中,车辆之间、车辆与路边通信设施之间通过无线连接进行信息交互。通过VANET提供的通信平台,车辆不但能获取邻近车辆的位置、速度、加速度、方向等信息,从而最大程度避免碰撞等交通事故,还能准确获悉人眼视距以外的实时交通状况,从而便于选择最优行车路线,避免拥堵。VANET还可以提供Internet接入服务,增强旅行舒适性。VANET技术在交通安全、辅助驾驶、车联网、物联网等领域都有很广阔的应用前景。
传统的MANET路由方法以节约能源为主要目标,并且是基于网络节点作低速无约束运动的前提而设计的。然而VANET具有高动态拓扑、频繁的网络分割、节点运动可预测等独特性质,因此传统的MANET路由方法无法适用于能源充足、节点高速运动的VANET环境。此外,城市场景中存在路边建筑物的遮挡、无线电干扰等外部因素的影响,VANET节点之间的通信链路会出现频繁中断的现象,因此基于城市场景建立端到端的路由往往会产生较大的控制开销,并且路由的有效期很短。目前VANET分簇路由方法方面的研究较热。相比于其他类型的路由方法,分簇路由方法可将网络拓扑变化的影响限制在局部范围内,减少了参与路由计算节点数目。簇头将成员节点的数据进行融合然后再转发,减少了数据通信量。此外分簇结构有利于对网络进行管理和同步,具有较好的可扩展性和服务发现功能。但是在VANET环境中,现有分簇路由方法存在簇结构不稳定、控制开销较大、延迟大等突出问题亟待解决。
发明内容
本发明的目的在于提供一种结构稳定、数据到达率高、延迟小、控制开销小的基于复杂网络中心性的VANET分簇路由方法。
实现本发明目的的技术解决方案为:一种基于复杂网络中心性的VANET分簇路由方法,包括如下步骤:
步骤1,网络中的全部节点发起簇头推举过程,建立簇头:设定推举过程的局部搜索范围为l,对任意节点a,首先进行深度为l的广度优先搜索,记录下搜索到的邻居节点及邻居节点的中心性;所有邻居节点构成集合S,a节点保存自己与S中节点的所有路径,然后将a节点自己的中心性与S中邻居节点中心性进行对比,如果存在中心性比a节点中心性大的邻居节点,则a节点对集合S中中心性最大的邻居节点发出确认信息,同意该中心性最大的邻居节点作为簇头,如果不存在,则a节点本身设为簇头;
步骤2,网络中所有簇头节点根据收到的确认信息挑选骨干路径,建立骨干网:向簇头节点h发送确认信息的邻居节点构成候选骨干节点集B;计算h节点与B中节点之间的所有路径的中心性,选出m条中心性最大的路径作为簇的骨干路径,骨干路径上的节点作为簇的骨干节点,最终簇头和骨干节点构成骨干网;
步骤3,建立成员节点:骨干网建立以后,簇头和骨干节点的所有邻居被设置为成员节点,当一个节点是不同簇的骨干节点的共同邻居时,该节点随机选择其中的一个簇加入;
步骤4,骨干节点和簇头通过Hello报文对簇结构进行维护和解散;
步骤5,基于所形成的簇结构进行数据包的转发,完成VANET分簇路由。
进一步地,步骤1所述网络中的全部节点发起簇头推举过程,建立簇头,具体如下:
(1.1)发出簇头声明:所有不在簇内的节点,周期性地向邻居节点广播簇头声明报文,收到簇头声明报文的节点将做出两个判断:一、判断自己是否为簇头或骨干路径上的节点;二、判断自己与上一跳车辆之间的链路生存时间是否大于规定的阈值Tthre,当其中任意一个判断为是时,将簇头声明报文丢弃不做处理,当两个判断均为否时对此簇头声明报文做出如下处理:
①判断簇头声明报文是否已达规定的最大跳数l,如果已经到达l,簇头声明报文不再进行转发,反之将簇头声明报文转发给邻居节点,为了避免簇头声明报文在网络里形成环路,规定簇头声明报文只能转发给该簇头声明报文储存路径以外的节点,即只能沿着简单路径转发;
②节点将簇头声明报文源节点的中心性与自己的中心性进行对比,如果自己的中心性较高则发出驳回报文,驳回源节点建立簇头的请求,如果自己的中心性较低则根据如下的方法将簇头声明报文存储下来:首先建立一个最佳源即候选簇头节点的簇头声明报文队列,队列中储存了来自当前最佳源的簇头声明报文,当最佳源再次收到新的簇头声明报文时,将此簇头声明报文的源节点与自己储存的最佳源节点进行对比,如果新收到的簇头声明报文的源节点中心性更高,则清空旧的最佳源的簇头声明报文队列,将新收到的簇头声明报文加入队列,若新收到的簇头声明报文源节点恰是最佳源,则将此簇头声明报文添加至队列末尾;
(1.2)发出驳回报文:当一个节点收到比自己中心性低的节点发来的簇头声明报文时,该节点通过驳回报文对簇头声明报文予以驳回,通过簇头声明报文和驳回报文的交互最终选择出中心性最高的节点作为簇头;当节点收到驳回报文后,在停止声明窗口期TSAW内停止簇头的建立,等待其他节点形成簇,如果经过一个停止声明窗口期TSAW以后还是不能加入簇中,则此节点重启簇头的声明过程即返回步骤(1.1),否则进入下一步;
(1.3)发送同意报文:对于收到簇头声明报文的节点,从记录下第一个声明报文时算起,直到经历一个声明报文的监听窗口期TAHW以后,该节点分析所有收到的簇头声明报文,然后向最佳源发送同意报文;:
(1.4)簇头建立:如果节点发出簇头声明报文后的一段等待建立窗口期TWCC内,没有收到任何驳回报文,该节点成为簇头。
进一步地,步骤2所述网络中所有簇头节点根据收到的确认信息挑选骨干,建立骨干网,具体步骤如下:
(2.1)对等待建立窗口期TWCC内收到的全部同意报文进行分析,选择其中度中心性最大的m条路径作为簇的骨干路径;
(2.2)簇头节点挑选出骨干路径之后,沿着骨干路径发送通知报文,通知报文携带了簇头路由表的完整拷贝,收到通知报文的节点将自己的网络身份设置为骨干节点,然后建立本簇的名片信息,最终簇头和骨干节点构成骨干网,骨干网建立以后,簇头节点继续按照时间周期TII重复发送通知报文,用来维持簇头与骨干节点的联系,并且更新本簇的名片信息。
进一步地,步骤3所述建立成员节点的过程如下:
簇头节点和骨干节点的所有一阶邻居构成簇的成员节点集合,如果一个节点是两个以上不同簇的骨干节点的共同一阶邻居,那么该节点随机挑选一个簇,并成为成员节点;如果有不属于任何簇的剩余节点,那么这些剩余节点之间重新发起分簇过程,即重复步骤1~3,直到所有节点全部加入簇之中,最终形成簇头带动骨干节点共同控制成员节点的层次结构。
进一步地,步骤4所述骨干节点和簇头通过Hello报文对簇结构进行维护和解散,具体过程如下:
骨干节点通过Hello报文维持与簇头的联系,位于骨干路径末端的骨干节点,按照时间周期THI产生Hello报文,并通过骨干路径向簇头转发,Hello报文的作用包括两个:一、验证簇结构的完整性;二、通知簇头节点有哪些成员节点新加入或离开了簇;每个收到Hello报文的沿途骨干节点都把自己的邻居信息加入到当前的Hello报文中,簇头节点收到来自骨干路径的Hello报文后,更新该骨干路径控制下的全部簇成员的名单,当簇头节点在簇头有效时间窗口期TCHV收不到骨干路径的Hello报文时,认为骨干网的链路已经断裂,停止通知报文的周期性发送,该簇头节点并将自己的身份设置为普通节点,簇头消失;同理,当骨干节点在展臂时间窗口期TCMV收不到来自簇头的通知报文时,该骨干节点将自己的身份设置为普通节点,并且不再参与Hello报文的转发,从而脱离簇。
进一步地,步骤5所述基于所形成的簇结构进行数据包的转发,完成VANET分簇路由,具体如下:
(5.1)待转发数据的节点将数据包交付给自己的簇头,收到数据包后查询路由表,更新数据包数据结构中的Go for gateway和Go for destination两个bool值的内容,Gofor gateway的值为真表示本簇内无法送达,需要通过网关转发;Go for destination的值为真表示在本簇内即可完成交付;
(5.2)骨干节点通过这两个bool值的类型判断将数据包转发给网关或是直接在簇内交付;如果数据需要网关转发,则骨干网将数据包送至网关节点,网关节点收到数据包后,转发给相应的目的簇的骨干节点,该骨干节点再将数据包转发至簇头;
(5.3)重复步骤(5.1)~(5.2),直到数据包送至目的节点。
本发明与现有技术相比,其显著优点为:(1)基于复杂网络中心性的VANET分簇路由方法推举中心性高的节点作为簇头,与簇头之间的通信链路维持时间较长的节点作为簇头的骨干节点,形成簇头协同骨干节点共同控制簇成员的簇结构。该路由方法通过骨干节点拓展了簇头的控制范围,减少了簇的总数,提高了分簇算法的性能。与经典路由方法(AODV、LCA等)的性能相比,该路由方法在分组到达率、控制开销等方面的表现更好,更适用于车载自组网环境。
附图说明
图1是本发明基于复杂网络中心性的VANET分簇路由方法的流程图。
图2是声明报文的数据结构图。
图3是最佳源信息数据结构图。
图4是驳回报文数据结构图。
图5是同意报文数据结构图。
图6是名片信息的建立与通知报文的转发流程图。
图7是通知报文数据结构图。
图8是名片信息数据结构图。
图9是多级簇结构示意图。
图10是Hello报文数据结构图。
图11是路由表信息结构图。
图12是路由信息的建立的流程图。
图13是数据包数据结构图。
图14是数据包传递过程示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细说明。
本发明基于复杂网络中心性的VANET分簇路由方法,包括如下步骤:
步骤1,根据复杂网络中心性,网络中的全部节点发起簇头推举过程,建立簇头。网络中的全部节点发起簇头推举过程:设定推举过程的局部搜索范围为l,对任意节点a,首先进行深度为l的广度优先搜索,记录下搜索到的邻居节点及邻居节点的中心性(定义为节点的度);所有邻居节点构成集合S,a节点保存自己与S中节点的所有路径,然后将a节点自己的中心性与S中邻居节点中心性进行对比,如果存在中心性比a节点中心性大的邻居节点,则a节点对集合S中中心性最大的邻居节点发出确认信息,同意该中心性最大的邻居节点作为簇头,如果不存在,则a节点本身设为簇头;具体步骤如下:
(1.1)发出簇头声明。所有不在簇内的节点,周期性地向邻居节点广播簇头声明报文(Head Announce Packet,HAP)。收到声明的节点将做出两个判断:一、判断自己是否为簇头或骨干路径上的节点;二、判断自己与上一跳车辆之间的链路生存时间是否大于协议规定的阈值Tthre(即通过GPS与电子导航系统判断Tthre时间内两车的距离是否会超出最大通信距离)。当其中任意一个判断为是时,将声明报文丢弃,不做处理。当两个判断均为否时对此报文做出如下处理:
①判断簇头声明报文是否已达规定的最大跳数l,如果已经到达l,簇头声明报文不再进行转发,反之将簇头声明报文转发给邻居节点,为了避免簇头声明报文在网络里形成环路,规定簇头声明报文只能转发给该簇头声明报文储存路径以外的节点,即只能沿着简单路径转发;
②节点将簇头声明报文源节点的中心性与自己的中心性进行对比,如果自己的中心性较高则发出驳回报文,驳回源节点建立簇头的请求,如果自己的中心性较低则根据如下的方法将簇头声明报文存储下来:首先建立一个最佳源即候选簇头节点的簇头声明报文队列,队列中储存了来自当前最佳源的簇头声明报文,当最佳源再次收到新的簇头声明报文时,将此簇头声明报文的源节点与自己储存的最佳源节点进行对比,如果新收到的簇头声明报文的源节点中心性更高,则清空旧的最佳源的簇头声明报文队列,将新收到的簇头声明报文加入队列,若新收到的簇头声明报文源节点恰是最佳源,则将此簇头声明报文添加至队列末尾
收到声明报文处理的流程图如图1所示,声明报文的数据结构设计如图2所示,最佳源信息数据结构设计如图3所示。
(1.2)发出驳回报文。当一个节点收到比自己中心性低的节点发来的声明报文时,该节点通过驳回报文(Reject Packet,RP)对声明报文予以驳回。通过声明报文和驳回报文的交互最终选择出中心性最高的节点作为簇头。当节点收到驳回报文后,在停止声明窗口期TSAW(Stop Announce Window)时间窗口内停止簇头的建立,等待其他节点形成簇。如果经过一个停止声明窗口期TSAW以后还是不能加入簇中,则此节点重启簇头的声明过程即返回步骤(1.1),否则进入下一步;
驳回报文数据结构设计如图4所示。
(1.3)发送同意报文。对于收到声明报文的节点,从记录下第一个声明报文时算起,直到其经历一个声明报文的监听窗口期TAHW(Announce Hearing Window)以后,该节点分析所有收到的声明报文,然后向最佳源发送同意报文。同意报文数据结构包含两个整形变量,两个数组。其数据结构设计如图5所示。一个数组用于储存同意报文的转发路径,另一个数组用以储存转发路径上节点的全部邻居节点。由于两点之间可能存在多条路径,每个声明报文都代表了最佳源节点到当前节点之间的一条路径,所以当前节点可能存储了多个来自最佳源的声明报文。对于当前节点队列中的每个声明报文,都要生成一个与之相对应的同意报文。同意报文的转发路径是其对应声明报文的反向路径。同意报文在转发的过程中,将路径上的节点的全部邻居节点记录到数组中,通过数组将每条路径所能控制的节点汇总至簇头,簇头利用这些信息挑选骨干,建立骨干路径。
步骤4:簇头建立。如果节点发出声明报文后的一段等待建立窗口期TWCC(Wait toCreate Cluster)内,没有收到任何驳回报文,该节点成为簇头。
步骤2,网络中所有簇头节点根据收到的确认信息挑选骨干节点,建立骨干网:向簇头节点h发送确认信息的邻居节点构成候选骨干节点集B。计算h节点与B中节点之间的所有最短路径的中心性(定义为路径上所有节点的度的),从中选出m条中心性最大的路径作为簇的骨干路径,骨干路径上的节点作为簇的骨干节点,具体如下:
(2.1)对窗口期TWCC内收到的全部同意报文进行分析,选择其中度中心性最大的m条路径作为簇的骨干路径,伪代码如表1所示:
表1
(2.2)簇头节点挑选出骨干路径之后,沿着骨干路径发送通知报文,通知报文携带了簇头路由表的完整拷贝。收到通知报文的节点将自己的网络身份设置为骨干节点,然后建立本簇的名片信息,最终簇头和骨干节点构成骨干网。骨干网建立以后,簇头节点继续按照时间周期TII(Inform Interval)重复发送通知报文,用来维持簇头与骨干节点的联系,并且更新本簇的名片信息。图6展示了2号节点通过通知报文的展臂得知自己不是这条展臂的末端,继续将通知报文传递给下面5号节点的过程。图7和图8分别是通知报文数据结构图和名片信息数据结构图。
步骤3,建立成员节点:骨干网建立以后,簇头和骨干节点的所有邻居被设置为成员节点,当一个节点是不同簇的骨干节点的共同邻居时,该节点随机选择其中的一个簇加入;具体过程如下:
簇头节点和骨干节点的所有一阶邻居构成簇的成员节点集合,如果一个节点是两个以上不同簇的骨干节点的共同一阶邻居,那么该节点随机挑选一个簇,并成为成员节点;如果有不属于任何簇的剩余节点,那么这些剩余节点之间重新发起分簇过程,即重复步骤1~3,直到所有节点全部加入簇之中,最终形成簇头带动骨干节点共同控制成员节点的层次结构,簇结构形成。
最终建立的多级簇结构示意图如图9所示。
步骤4,骨干节点和簇头通过Hello报文对簇结构进行维护和解散,具体过程如下:
骨干节点通过Hello报文维持与簇头的联系,位于骨干路径末端的骨干节点,按照时间周期THI(Hello Interval)产生Hello报文,并通过骨干路径向簇头转发,Hello报文的作用包括两个:一、验证簇结构的完整性;二、通知簇头节点有哪些成员节点新加入或离开了簇;每个收到Hello报文的沿途骨干节点都把自己的邻居信息加入到当前的Hello报文中,簇头节点收到来自骨干路径的Hello报文后,更新该骨干路径控制下的全部簇成员的名单,当簇头节点在簇头有效时间窗口期TCHV(Cluster Head Validity)收不到骨干路径的Hello报文时,认为骨干网的链路已经断裂,停止通知报文的周期性发送,该簇头节点并将自己的身份设置为普通节点,簇头消失;同理,当骨干节点在展臂时间窗口期TCMV(ClusterMainstay Validity)收不到来自簇头的通知报文时,该骨干节点将自己的身份设置为普通节点,并且不再参与Hello报文的转发,从而脱离簇。
Hello报文的数据结构设计如图10所示。
步骤5,基于所形成的簇结构进行数据包的转发,完成VANET分簇路由,具体如下:
a、路由表的建立与更新
如果一个节点可以同时直接联系到至少两个属于不同簇的骨干节点,那它就是协议规定的网关节点。网关节点根据时间周期TGEII(Gateway Exchange InformationInterval)交换不同簇的骨干节点的名片信息,其算法伪代码如表2所示:
表2
网关节点将邻居骨干节点的名片信息进行封装,生成网关报文,然后网关节点将来自不同簇的网关报文相互交换。交换后的网关报文沿骨干路径转发至对应的簇头,通过这种信息交换机制,簇头可以得知其他簇内的路由信息,从而建立起网络全局路由表。路由表信息结构设计如图11所示。
簇头中存储了一张全局路由表,用于记录到达其他节点的路由信息。图12展示了簇头节点建立与更新路由信息的流程。对于某个节点i,簇头首先判断i节点是否在本簇内,如果是,将路由表中i节点的簇内标识置为真。如果否,则将簇内标识置为假,然后分析来自其他簇的网关报文中的路由信息,选择其中距i节点最近的簇作为下一跳的转发地址,如果距离相等,则选取其中时间戳最新的。协议规定了路由信息的有效期TRIV(RoutingInformation Validity),超出有效期的路由信息会失效。簇头节点将网络中全部节点的路由信息组合起来,从而形成一张整个网络的路由表。
b、数据包传递过程
(5.1)待转发数据的节点将数据包交付给自己的簇头。收到数据包后查询路由表,更新数据包数据结构中的Go for gateway和Go for destination两个bool值的内容。Gofor gateway的值为真表示本簇内无法送达,需要通过网关转发。Go for destination的值为真表示在本簇内即可完成交付。
(5.2)骨干节点通过这两个bool值的类型判断将数据包转发给网关或是直接在簇内交付。如果数据需要网关转发,则骨干网将数据包送至网关节点。网关节点收到数据包后,转发给相应的目的簇的骨干节点,骨干节点再将数据包至其簇头;
(5.3)重复步骤(5.1)~(5.2),直到数据包送至目的节点。
数据包数据结构图见图13,数据包传递过程如图14所示。
实施例1
本发明的方法测试:
本仿真实验采取visual studio 2015软件,使用C++语言编写。在windows2003server系统的服务器平台上运算。实验选取一个的模型地图,地图中设置横向11条,纵向11条的双向街道,同方向街道之间的间隔为w(1000m),街道交叉的地方为交通路口,其中共有121个路口。相关参数设定为:仿真区域大小L=1000m×1000m,节点数量N=100,节点速度v=15m/s,数据包生成率ρ=1.01,节点通信范围r=1500m。
通过实验仿真分析,该路由的骨干网的链路持续时间阈值Tthre存在一个最佳取值范围,在此范围内分组到达率与端到端延迟都可以到达最佳值。在本实验的参数下,Tthre的最佳值约在50s-150s之间。
本实验中共对比了三种路由协议在模拟环境下的表现:基于中心性的分簇路由方法、按需矢量路由方法(AODV)、最小ID分簇路由方法(LCA)。实验结果证明本发明提出的方法在分组到达率、控制开销等方面的表现好于AODV与LCA路由方法更适用于车载自组网环境。
Claims (6)
1.一种基于复杂网络中心性的VANET分簇路由方法,其特征在于,包括如下步骤:
步骤1,网络中的全部节点发起簇头推举过程,建立簇头:设定推举过程的局部搜索范围为l,对任意节点a,首先进行深度为l的广度优先搜索,记录下搜索到的邻居节点及邻居节点的中心性,中心性定义为节点的度;所有邻居节点构成集合S,a节点保存自己与S中节点的所有路径,然后将a节点自己的中心性与S中邻居节点中心性进行对比,如果存在中心性比a节点中心性大的邻居节点,则a节点对集合S中中心性最大的邻居节点发出确认信息,同意该中心性最大的邻居节点作为簇头,如果不存在,则a节点本身设为簇头;
步骤2,网络中所有簇头节点根据收到的确认信息挑选骨干路径,建立骨干网:向簇头节点h发送确认信息的邻居节点构成候选骨干节点集B;计算h节点与B中节点之间的所有路径的中心性,选出m条中心性最大的路径作为簇的骨干路径,骨干路径上的节点作为簇的骨干节点,最终簇头和骨干节点构成骨干网;
步骤3,建立成员节点:骨干网建立以后,簇头和骨干节点的所有邻居被设置为成员节点,当一个节点是不同簇的骨干节点的共同邻居时,该节点随机选择其中的一个簇加入;
步骤4,骨干节点和簇头通过Hello报文对簇结构进行维护和解散;
步骤5,基于所形成的簇结构进行数据包的转发,完成VANET分簇路由。
2.根据权利要求1所述的基于复杂网络中心性的VANET分簇路由方法,其特征在于,步骤1所述网络中的全部节点发起簇头推举过程,建立簇头,具体如下:
1.1发出簇头声明:所有不在簇内的节点,周期性地向邻居节点广播簇头声明报文,收到簇头声明报文的节点将做出两个判断:一、判断自己是否为簇头或骨干路径上的节点;二、判断自己与上一跳车辆之间的链路生存时间是否大于规定的阈值Tthre,当其中任意一个判断为是时,将簇头声明报文丢弃不做处理,当两个判断均为否时对此簇头声明报文做出如下处理:
①判断簇头声明报文是否已达规定的最大跳数l,如果已经到达l,簇头声明报文不再进行转发,反之将簇头声明报文转发给邻居节点,为了避免簇头声明报文在网络里形成环路,规定簇头声明报文只能转发给该簇头声明报文储存路径以外的节点,即只能沿着简单路径转发;
②节点将簇头声明报文源节点的中心性与自己的中心性进行对比,如果自己的中心性较高则发出驳回报文,驳回源节点建立簇头的请求,如果自己的中心性较低则根据如下的方法将簇头声明报文存储下来:首先建立一个最佳源即候选簇头节点的簇头声明报文队列,队列中储存了来自当前最佳源的簇头声明报文,当最佳源再次收到新的簇头声明报文时,将此簇头声明报文的源节点与自己储存的最佳源节点进行对比,如果新收到的簇头声明报文的源节点中心性更高,则清空旧的最佳源的簇头声明报文队列,将新收到的簇头声明报文加入队列,若新收到的簇头声明报文源节点恰是最佳源,则将此簇头声明报文添加至队列末尾;
1.2发出驳回报文:当一个节点收到比自己中心性低的节点发来的簇头声明报文时,该节点通过驳回报文对簇头声明报文予以驳回,通过簇头声明报文和驳回报文的交互最终选择出中心性最高的节点作为簇头;当节点收到驳回报文后,在停止声明窗口期TSAW内停止簇头的建立,等待其他节点形成簇,如果经过一个停止声明窗口期TSAW以后还是不能加入簇中,则此节点重启簇头的声明过程即返回步骤1.1,否则进入下一步;
1.3发送同意报文:对于收到簇头声明报文的节点,从记录下第一个声明报文时算起,直到经历一个声明报文的监听窗口期TAHW以后,该节点分析所有收到的簇头声明报文,然后向最佳源发送同意报文;
1.4簇头建立:如果节点发出簇头声明报文后的一段等待建立窗口期TWCC内,没有收到任何驳回报文,该节点成为簇头。
3.根据权利要求1所述的基于复杂网络中心性的VANET分簇路由方法,其特征在于,步骤2所述网络中所有簇头节点根据收到的确认信息挑选骨干,建立骨干网,具体步骤如下:
2.1对等待建立窗口期TWCC内收到的全部同意报文进行分析,选择其中度中心性最大的m条路径作为簇的骨干路径;
2.2簇头节点挑选出骨干路径之后,沿着骨干路径发送通知报文,通知报文携带了簇头路由表的完整拷贝,收到通知报文的节点将自己的网络身份设置为骨干节点,然后建立本簇的名片信息,最终簇头和骨干节点构成骨干网,骨干网建立以后,簇头节点继续按照时间周期TII重复发送通知报文,用来维持簇头与骨干节点的联系,并且更新本簇的名片信息。
4.根据权利要求1所述的基于复杂网络中心性的VANET分簇路由方法,其特征在于,步骤3所述建立成员节点的过程如下:
簇头节点和骨干节点的所有一阶邻居构成簇的成员节点集合,如果一个节点是两个以上不同簇的骨干节点的共同一阶邻居,那么该节点随机挑选一个簇,并成为成员节点;如果有不属于任何簇的剩余节点,那么这些剩余节点之间重新发起分簇过程,即重复步骤1~3,直到所有节点全部加入簇之中,最终形成簇头带动骨干节点共同控制成员节点的层次结构。
5.根据权利要求1所述的基于复杂网络中心性的VANET分簇路由方法,其特征在于,步骤4所述骨干节点和簇头通过Hello报文对簇结构进行维护和解散,具体过程如下:
骨干节点通过Hello报文维持与簇头的联系,位于骨干路径末端的骨干节点,按照时间周期THI产生Hello报文,并通过骨干路径向簇头转发,Hello报文的作用包括两个:一、验证簇结构的完整性;二、通知簇头节点有哪些成员节点新加入或离开了簇;每个收到Hello报文的沿途骨干节点都把自己的邻居信息加入到当前的Hello报文中,簇头节点收到来自骨干路径的Hello报文后,更新该骨干路径控制下的全部簇成员的名单,当簇头节点在簇头有效时间窗口期TCHV收不到骨干路径的Hello报文时,认为骨干网的链路已经断裂,停止通知报文的周期性发送,该簇头节点并将自己的身份设置为普通节点,簇头消失;同理,当骨干节点在展臂时间窗口期TCMV收不到来自簇头的通知报文时,该骨干节点将自己的身份设置为普通节点,并且不再参与Hello报文的转发,从而脱离簇。
6.根据权利要求1所述的基于复杂网络中心性的VANET分簇路由方法,其特征在于,步骤5所述基于所形成的簇结构进行数据包的转发,完成VANET分簇路由,具体如下:
5.1待转发数据的节点将数据包交付给自己的簇头,收到数据包后查询路由表,更新数据包数据结构中的Go for gateway和Go for destination两个bool值的内容,Go forgateway的值为真表示本簇内无法送达,需要通过网关转发;Go for destination的值为真表示在本簇内即可完成交付;
5.2骨干节点通过这两个bool值的类型判断将数据包转发给网关或是直接在簇内交付;如果数据需要网关转发,则骨干网将数据包送至网关节点,网关节点收到数据包后,转发给相应的目的簇的骨干节点,该骨干节点再将数据包转发至簇头;
5.3重复步骤5.1~5.2,直到数据包送至目的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610361674.3A CN106060888B (zh) | 2016-05-26 | 2016-05-26 | 一种基于复杂网络中心性的vanet分簇路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610361674.3A CN106060888B (zh) | 2016-05-26 | 2016-05-26 | 一种基于复杂网络中心性的vanet分簇路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106060888A CN106060888A (zh) | 2016-10-26 |
CN106060888B true CN106060888B (zh) | 2019-04-16 |
Family
ID=57174769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610361674.3A Active CN106060888B (zh) | 2016-05-26 | 2016-05-26 | 一种基于复杂网络中心性的vanet分簇路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106060888B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107613579A (zh) * | 2017-10-31 | 2018-01-19 | 深圳零智创新科技有限公司 | 一种基于自组网的车辆间导航数据共享方法、装置及系统 |
CN107911293A (zh) * | 2017-10-31 | 2018-04-13 | 天津大学 | 一种基于地理位置的流量路由树构建方法 |
CN110557799B (zh) * | 2019-09-26 | 2020-06-09 | 中南大学 | 一种智慧城市边缘网络中基于移动车辆的数据采集方法 |
CN111194018B (zh) * | 2020-01-06 | 2021-03-02 | 北京邮电大学 | 面向车辆自组网的移动边缘数据上传方法及系统 |
CN115696648B (zh) * | 2022-10-20 | 2023-09-01 | 杭州憬知梦蓝科技有限公司 | 一种漂浮式海洋水文监测装置的远程控制系统及方法 |
CN115865785B (zh) * | 2023-02-27 | 2023-05-30 | 南京邮电大学 | 一种基于k-means聚类的VANET分簇路由方法 |
CN115955680B (zh) * | 2023-03-14 | 2023-05-16 | 南京邮电大学 | 一种基于分簇连通的虚拟骨干网建立及路由方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100576826C (zh) * | 2007-12-14 | 2009-12-30 | 北京科技大学 | 一种基于信号连接强度的车载Ad hoc网络分簇方法 |
CN101286911B (zh) * | 2008-03-05 | 2011-05-18 | 中国科学院嘉兴无线传感网工程中心 | 基于网格和分簇相结合的无线传感器网络组网方法 |
CN102149160B (zh) * | 2011-04-20 | 2013-10-30 | 宁波职业技术学院 | 一种用于无线传感网络的能量感知路由算法 |
-
2016
- 2016-05-26 CN CN201610361674.3A patent/CN106060888B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106060888A (zh) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106060888B (zh) | 一种基于复杂网络中心性的vanet分簇路由方法 | |
Chen et al. | ASGR: An artificial spider-web-based geographic routing in heterogeneous vehicular networks | |
Hilmani et al. | Automated real‐time intelligent traffic control system for smart cities using wireless sensor networks | |
CN106961707B (zh) | 一种vanet中基于连通性的多因素决策路由协议 | |
Majumdar et al. | An efficient routing algorithm based on ant colony optimisation for VANETs | |
CN104640168B (zh) | 基于q学习的车载自组织网络路由方法 | |
CN104010047B (zh) | 一种基于Android的容断交通信息传播原型系统 | |
CN109640369A (zh) | 一种基于自适应功率的车载网可靠通信方法 | |
CN105282813B (zh) | 一种车载网络环境下的路由方法、装置及系统 | |
CN107690169A (zh) | 一种适用于车联网的gpsr路由协议的转发方法 | |
Khekare | Design of emergency system for intelligent traffic system using VANET | |
Ardakani et al. | CNN: A cluster-based named data routing for vehicular networks | |
CN108811022A (zh) | 一种面向车辆网应用环境的动态高效路由方法 | |
Nagaraj et al. | Performance Evaluation of Proactive and Reactive Protocols in VANET | |
Skiles et al. | A geographical hybrid solution for inter-vehicular communication in VANET | |
CN107040884A (zh) | 一种基于邻域强连通性的移动自组网数据传输方法 | |
CN104010340B (zh) | 一种基于节点运动趋势的城市车辆网络消息多播路由方法 | |
Yelure et al. | ACO–IBR: a modified intersection‐based routing approach for the VANET | |
Alowish et al. | Stabilized clustering enabled V2V communication in an NDN-SDVN environment for content retrieval | |
CN104837173A (zh) | 一种带停车节点的城域车载通信系统 | |
Ramakrishnan et al. | Comprehensive analysis of Highway, Manhattan and Freeway mobility models for vehicular ad hoc network | |
Shahi et al. | A comparative study on efficient path finding algorithms for route planning in smart vehicular networks | |
Manel et al. | SODV speed based ad hoc on demand vector link routing protocol: A routing protocol for VANET networks | |
Choksi et al. | Power constrained performance evaluation of aodv, olsr and dsdv routing protocols for vehicular ad-hoc networks | |
Wu et al. | MEDAL: A moving direction and destination location based routing algorithm for vehicular ad hoc networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |