CN103619046B - 自适应车辆密度的车载网络单播路由方法 - Google Patents

自适应车辆密度的车载网络单播路由方法 Download PDF

Info

Publication number
CN103619046B
CN103619046B CN201310629146.8A CN201310629146A CN103619046B CN 103619046 B CN103619046 B CN 103619046B CN 201310629146 A CN201310629146 A CN 201310629146A CN 103619046 B CN103619046 B CN 103619046B
Authority
CN
China
Prior art keywords
message
node
static
data message
crossing
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.)
Expired - Fee Related
Application number
CN201310629146.8A
Other languages
English (en)
Other versions
CN103619046A (zh
Inventor
蒲菊华
马坤
谢彧
陈佳
陈虞君
熊璋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN
Original Assignee
RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN filed Critical RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN
Priority to CN201310629146.8A priority Critical patent/CN103619046B/zh
Publication of CN103619046A publication Critical patent/CN103619046A/zh
Application granted granted Critical
Publication of CN103619046B publication Critical patent/CN103619046B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

一种自适应车辆密度的车载网络单播路由方法,其路由过程包括:移动节点的路由过程,以及静态节点的路由过程。移动节点的路由过程包括:邻居状态信息维护、发送报告报文、发送离开报文、发送路由请求、接收路由应答、转发报文。静态节点的路由过程包括:邻居状态信息维护、道路密度值表维护、道路时延表维护、接收路由请求、回复应答报文、通知道路密度变化。在网络密度较低时,移动节点能自动增加通信半径和数据报文生存期,在应用要求的时延范围内,提高成功率;在网络密度较高时,移动节点自动减小通信半径和数据报文生存期,提高成功率、降低时延的同时减小通信过程中的信号碰撞。在成功率、时延和开销之间取得了一个很好的平衡。

Description

自适应车辆密度的车载网络单播路由方法
技术领域
本发明涉及一种车载网络单播路由方法,更特别地说,是指一种面向网络密度异构和静态节点帮助的车载网络单播路由方法,即一种自适应车辆密度的车载网络单播路由方法,属于车载网络通信技术领域。
背景技术
车载网络是由装载了具有无线通信能力的传感器的移动车辆构成的移动自组织网络,作为一种新兴的网络形态,其带来的好处和研究挑战日益明显。车载网络使得车辆间共享数据成为可能,通过在车辆间进行路由可以实现以下需求:任意辆车可以将自己产生的信息分发给其他车辆;任意辆车可以与远在千里外的家中的电子设备通信。这些通信大大扩展了通信网络的覆盖范围,为改善驾驶者的便利和安全带来了可能。
车辆间单播路由是车载网络通信的重要基础,车辆也可称之为节点。源节点产生数据报文,需要将数据报文发送到数据报文的目的节点,它利用交通流量信息和节点的状态信息,决定一条从源节点到数据报文目的节点的路由,并按照这条路由,通过节点与节点之间的数据报文传递,将数据报文从源节点路由到数据报文目的节点。
由于车辆行驶导致网络中的无线连接频繁中断,车辆间的拓扑快速变化,建筑物对无线信号的遮挡中断传输,使得设计高效的单播路由方法在车载自组织网络研究中成为挑战。目前的车载网络单播路由方法大致可以分为三类:第一类是基于拓扑的路由,这类路由需要每一个节点维护网络的完整拓扑结构,根据路由算法算出一条从源节点到目的节点需要经过的节点路径,也可称为一条路由。这类路由为了维护拓扑需要频繁处理连接中断的情况,开销非常大,成功率却很低,仅适合密度均匀且拓扑稳定的网络。第二类是基于节点的路由,这类路由需要每一个节点根据自己收集的信息(包括交通流量信息和车辆的状态信息等信息)计算路由,这类路由中的节点能获取的信息有限,一旦进入没有节点的道路,将找不到后续的路由,在路口传输时没有考虑建筑物的遮挡,导致丢包率较大,仅适用于密度高的网络;第三类路由是基于路口的路由,这类路由仅在路口处做路由,一般由移动节点到达路口时做路由决策,或者在路口设置静态节点,由静态节点做路由决策,这类路由在成功率和开销之间有着很好的平衡,但当网络密度较低时,时延大大增加,不能适应网络密度的变化。上述路由认为网络中的密度是均匀分布的,仅适用于单一密度条件下的网络场景,没有考虑异构的网络密度给路由带来的影响。异构的网络密度是指,在车载网络中,同一时刻在不同的区域有不同的车辆密度,在同一区域不同的时刻也有不同的车辆密度。
本发明提出一种自适应车辆密度的车载网络单播路由方法。移动节点之间通过广播一跳报文,保存邻居节点信息。移动节点根据邻居车辆的状态动态调整广播报文的周期,当密度高时,降低广播的频率,当密度低时,增加广播的频率,有效限制了开销。静态节点在路口进行路由,考虑了建筑物对通信信号的遮挡,增加了传输的成功率。静态节点收集所在道路的移动节点发送的报告报文,获取网络密度等信息,将开销限制在了当前道路之内。静态节点利用这些网络密度信息计算相应的通信半径和数据报文生存期。在网络密度较低时,移动节点能根据静态节点计算的结果自动增加通信半径和数据报文生存期,在应用要求的时延范围内,提高成功率;在网络密度较高时,移动节点自动减小通信半径和数据报文生存期,提高成功率、降低时延的同时减小通信过程中的信号碰撞。本发明能适应不同的网络密度,在成功率、时延和开销之间取得了一个很好的平衡。
发明内容
(1)发明的目的
本发明的目的是提供一种自适应车辆密度的车载网络单播路由方法,它是基于异构的网络密度,利用静态节点收集和分发局部网络中的车辆密度信息,针对不同的车辆密度,选择不同的方式路由,从而能得到一条成功率高、时延低和开销小的路由。在此基础上,本发明充分利用交通流量信息,移动节点向静态节点报告的状态信息,分析网络中当前时刻当前区域的密度值,计算得到当前密度条件下的通信半径和数据报文生存期,以此来指导移动节点的路由过程。当网络中车辆密度过低时,静态路口将计算一个能够提高网络无线传输覆盖率的新的传输半径,并建议正在这个区域路由的节点提高传输半径,以提高成功率;计算一个更长的数据报文生存期,并建议正在这个区域路由的节点提高生存期来避免丢弃数据报文。当网络中车辆密度过高时,静态路口将计算一个能够避免无线传输碰撞的新的较小的传输半径,并建议正在这个区域路由的节点降低传输半径,来避免传输失败;计算一个减小的数据报文生存期,并建议正在这个区域路由的节点减小生存期来节省缓存数据报文等待队列和维护数据报文等待队列的开销。本发明解决了以往的路由仅适用于单一密度场景的问题,同时在各种密度条件下,都取得了成功率、时延和开销之间的平衡。
(2)技术方案
本发明的路由过程具体包括:移动节点的路由过程,以及静态节点的路由过程。车辆节点,又称为移动节点,移动节点的路由过程包括:邻居状态信息维护、发送报告报文、发送离开报文、发送路由请求、接收路由应答、转发报文。静态节点的路由过程包括:邻居状态信息维护、道路密度值表维护、道路时延表维护、接收路由请求、回复应答报文、通知道路密度变化。在本发明中,由于静态节点位于路口,所以对路口和静态节点不做明显的区分。
在本发明中,对于本发明所适用的场景进行了以下假设:
网络中的十字路口和T型路口处部署了静态节点,十字路口和T型路口统称为交叉路口;
网络中的移动节点和静态节点下载了静态的数字城市地图,包括路段和路口的编号、坐标位置、车道限速等;
网络中的移动节点均安装了GPS定位服务装置,可获取自己的当前坐标位置、当前移动速度;
网络中的移动节点和静态节点安装了位置服务软件,移动节点和静态节点可依靠此服务软件获得任意与之通信的目的结点的坐标信息。
本发明中的符号定义如下:
MN:任意移动节点;
IPMN:任意移动节点MN的IP地址;
在本发明中,IPMN也可指代任意移动节点MN。
LOCMN:任意移动节点MN的坐标位置;
SPMN:任意移动节点MN的移动速度;
DIRMN:任意移动节点MN的移动方向;
STATMN:任意移动节点MN的状态信息;
STATMN=(IPMN,LOCMN,SPMN,DIRMN):MN的状态信息STATMN包括MN的IP地址IPMN,MN的坐标位置LOCMN,MN的移动速度SPMN,MN的移动方向DIRMN
NEI_MMN:任意移动节点MN的邻居表,保存了MN通信范围内的移动节点的状态信息,这些移动节点也可称为MN的邻居移动节点。
NEI _ M MN = { STAT MN 1 1 , STAT MN 2 2 , . . . , STAT MNI i } : 其中表示任意移动节点MN的第一个邻居移动节点MN1的状态信息,表示任意移动节点MN的第二个邻居移动节点MN2的状态信息,表示任意移动节点MN的第i个邻居移动节点MNI的状态信息,也表示任意移动节点MN的最后一个邻居移动节点的状态信息;
MNS:任意源移动节点;
任意移动节点MN或静态节点SN发起一起报文的路由时,这个节点在这次路由过程中都可称为源节点。若任意源节点是移动节点,则称为源移动节点;
MND:任意目的移动节点;
任意源节点发起任意报文的路由时,与之通信的对方在这次路由过程中可称为目的节点。一个目的节点是移动节点,则称为目的移动节点,本发明中控制报文的目的节点也简称为目的节点,数据报文的目的节点称为数据报文目的节点;
MNN:路由过程中,MN的下一跳节点;
SN:任意静态节点;
IPSN:任意静态节点SN的IP地址;
在本发明中,IPSN表示静态节点SN的IP地址,节点和IP地址是一一对应的,因此IPSN也可指代静态节点SN。
SNS:任意源静态节点;
若任意源节点是静态节点,则称为源静态节点;
SND:任意目的静态节点;
一个目的节点是静态节点,则称为目的静态节点;
SNN:路由过程中,MN的下一跳路口的静态节点,也成为下一跳路口;
RD:任意道路;
RDCMN:任意移动节点MN当前所在的道路;
RDN:任意静态节点SN和SNN之间的道路;
任意移动节点MN当前所在的道路RDCMN上的驶离方向的静态节点;
任意移动节点MN当前所在的道路RDCMN上的驶向方向的静态节点;
任意移动节点MN当前所在的路口的静态节点;
当MN驶入一条新道路RDCMN时,即MN所在的路口为MN即将驶离的路口;当即将离开一条道路RDCMN时,即MN所在的路口为MN正在驶向的路口;
DERD:任意道路RD的密度值
IPRD:任意道路RD的IP地址;
RRD:任意道路RD的传输半径值;
NEI_RRD:任意道路RD的邻居表,保存道路RD上行驶的移动节点的状态信息;
NEI _ R RD = { STAT MN 1 1 , STAT MN 2 2 , . . . , STAT MNK k } , 其中表示任意道路RD上的第一个移动节点MN1的状态信息,表示任意道路RD上的第二个移动节点MN2的状态信息,表示任意道路RD的第k个邻居移动节点MNK的状态信息,也表示任意道路RD的最后一个移动节点的状态信息;
TOPOSN:任意静态节点SN的拓扑表,保存了静态节点SN所连接的道路的邻居表。
TOPO SN = { NEI _ R RD 1 1 , NEI _ R RD 2 2 , . . . , NEI _ R RDJ j } , 其中NEI_RRD1表示任意静态节点SN连接的第一条道路RD1上的邻居表,NEI_RRD2表示任意静态节点SN连接的第二条道路RD2上的移动节点的邻居表,NEI_RRDJ表示任意静态节点SN连接的第j条道路RDJ上的移动节点的邻居表,也表示任意静态节点SN连接的最后一条道路上的移动节点的邻居表;
DENSN:任意静态节点SN的道路密度表,保存了网络中所有道路的车辆密度值,初始值为道路的历史车辆密度数据。
其中为网络中任意第一条道路RD1的密度值,为网络中任意静态节点SN连接的第二条道路RD2的密度值,为网络中任意静态节点SN连接的第m条道路RDM的密度值,也是网络中任意静态节点SN连接的最后一条道路的密度值;
本发明使用的密度阈值下限;
本发明使用的密度阈值上限;
DELAYSN:任意静态节点SN的道路时延表;
其中为网络中任意第一条道路RD1的时延值,为网络中任意静态节点SN连接的第二条道路RD2的时延值,为网络中任意静态节点SN连接的第m条道路RDN的时延值,也是网络中任意静态节点SN连接的最后一条道路的时延值;
任意移动节点MNS产生的数据报文,数据报文目的节点为MND,数据报文源节点为MSGS,MSGS=MNS,数据报文目的节点为MSGD,MSGD=MND;
SAAR:本路由控制协议的名称,也为本协议的类型名称;
SAAR中的控制报文包括:
HELLO、REPORT、LEAVE、NOTIFY、REQUEST、REPLY六种报文;
HELLOMN=(TYPE,TST,IP_SMN,LOCMN,SPMN,DIRMN,TTL):
任意移动节点MN广播的HELLO报文。其中TYPE表示该报文的报文类型,TST表示发送报文时间的时间戳,TTL表示该报文的生存期,IP_SMN表示报文的源地址,IP_SMN=IPMN,表示报文源IP地址是IPMN,源节点是MN,剩余各项是移动节点MN的状态信息:MN的坐标位置LOCMN,MN的移动速度SPMN,MN的移动方向DIRMN
任意移动节点通过广播HELLO报文,向自己的邻居节点报告自己的状态,收到HELLO报文的邻居节点根据这些状态信息,保存通信范围内的拓扑结构。
REOIRT MN SN = ( TYPE , TST , IP _ S MN , IP _ D SN , LOC MN , SP MN , DIR MN , TTL ) :
任意移动节点MN发送给任意静态节点SN的REPORT报文,其中TYPE表示该报文的报文类型,TST表示发送报文时间的时间戳,TTL表示该报文的生存期,IP_SMN表示报文的源地址,IP_SMN=IPMN,表示报文源IP地址是IPMN,源节点是MN,IP_DSN表示报文的目的地址,IP_DSN=IPSN,表示报文目的IP地址是IPSN,目的节点是SN,剩余各项是任意移动节点MN的状态信息:MN的坐标位置LOCMN,MN的移动速度SPMN,MN的移动方向DIRMN
任意移动节点通过向静态节点发送REPORT报文,报告自己的状态,收到REPORT的静态节点可以根据这些状态信息,保存连接的道路上的拓扑结构。
LEAVE MN SNH = ( TYPE , TST , IP _ S MN , IP _ D MN , IP _ SN MN , TTL ) :
任意移动节点MN发给任意静态节点SNH的离开报文,其中TYPE表示该报文的报文类型,TST表示发送报文时间的时间戳,TTL表示该报文的生存期,IP_SMN表示报文的源地址,IP_SMN=IPMN,表示报文源IP地址是IPMN,源节点是MN,IP_DMN表示报文的目的地址,IP_DMN=IPSNH,表示报文目的IP地址是IPSNH,目的节点是SNH,IP_SNMN表示MN所在的静态节点SNC的地址;
当任意移动节点离开一条道路时,驶离的静态节点变为离开的静态节点,驶向的静态节点变为驶离的静态节点,并出现新的驶向的静态节点,任意移动节点向离开的静态节点发送LEAVE报文,通知离开的这条道路的时延;
NOTIFY SN = ( TYPE , TST , IP _ S SN , DEN RD new , IP RD , TTL ) :
任意源静态节点SN广播的NOTIFY报文。其中TYPE表示该报文的报文类型,TST表示发送报文的时间戳,TTL表示该报文的生存期,IP_SSN表示SN的IP地址,表示道路密度值,IPRD表示密度值发生改变的道路的IP地址,广播这个报文;
REQUEST MN SN = ( TYPE , TST , IP _ S MN , IP _ D MN , MSGD , TTL ) :
任意移动节点MN向静态节点SN发送的REQUEST报文,其中TYPE表示该报文的报文类型,TST表示发送报文时间的时间戳,TTL表示该报文的生存期,IP_SMN表示任意移动节点MN的IP地址,IP_DSN表示该报文的目的静态节点的IP地址,MSGD表示数据报文目的节点;
任意移动节点到达路口时,向所在路口的静态节点发送REQUEST报文,请求到数据报文目的节点的下一跳路口。
REPLY SN MN = ( TYPE , TST , IP _ N SN , RAD , TTL _ AD , IP _ S SN , IP _ D MN , MSGD , TTL ) , 静态节点SN发送给任意移动节点MN的REPLY报文,其中TYPE表示该报文的报文类型,TST表示发送报文时间的时间戳,TTL表示该报文的生存期,RAD表示传输半径,TTL_AD表示数据报文生存期,MSGD表示数据报文目的节点;
当静态节点收到任意移动节点的REQUEST报文,计算下一跳路口,传输半径和生存期,然后返回REPLY报文。
COMMON_HEADMNS=(TYPE,IP_NSN,RAD,TTL_AD)是数据报文头部,用于保存本发明计算的下一跳路口、传输半径和数据报文生存期,位于数据报文的头部。其中TYPE表示协议使用的路由协议类型,TYPE==SAAR。IP_NSN是路由中需要经过的下一跳路口的静态节点的IP地址。RAD是静态节点计算得到的传输半径,TTL_AD是静态节点计算得到的数据报文生存期。
在本发明中,处于路口的静态节点和路口的IP一致,由于在路口时实际做路由处理的是静态节点,所以,本发明中,下一跳路口,是指下一跳路口的静态节点,下一跳路口的IP,是指下一跳路口处的静态节点的IP。
本发明一种自适应车辆密度的车载网络单播路由方法,它包括两方面即:(一)任意移动节点MN的路由过程;(二)任意静态节点SN的路由过程。
(一)参见图1所示,在自适应车辆密度的车载网络单播路由方法中,任意移动节点MN的路由过程如下步骤所示:
步骤M-0-1:移动节点处理周期开始,若任意移动节点MN到达广播HELLO报文周期,则转步骤M-1广播HELLOMN报文,否则转步骤M-0-2。
步骤M-0-2:若任意移动节点MN到达报告周期,则转步骤M-2发送报文和报文,否则转步骤M-0-3。
步骤M-0-3:若任意移动节点MN离开路口静态节点SNC,则转步骤M-3发送报文,否则转步骤M-0-4。
步骤M-0-4:若任意移动节点MN需要向另一任意移动节点MND发送数据报文,则MN产生一条数据报文数据报文目的节点为另一任意移动节点MND,向MND路由该数据报文,转步骤M-4,否则转步骤M-0-5。
步骤M-0-5:若任意移动节点MN收到报文,则转步骤M-5,否则转步骤M-0-6。
步骤M-0-6:若任意移动节点MN收到HELLOMNA报文,则转步骤M-6,否则转步骤M-0-7。
步骤M-0-7:若任意移动节点MN收到数据报文,则转步骤M-7,否则转步骤M-0-8。
步骤M-0-8:若任意移动节点MN收到上述报文之外的其他报文,则转步骤M-8,否则转步骤M-0-9。
步骤M-0-9:若任意移动节点MN到达清除邻居表周期,则转步骤M-9清除过期邻居,否则转步骤M-0-10。
步骤M-0-10:若任意移动节点MN到达停止时间,则任意移动节点MN的路由过程结束,否则转步骤M-0-1。
步骤M-1:广播HELLO报文
MN根据邻居表中的邻居的速度的方差,调整广播周期。若速度方差增大,则增大广播频率,否则减小广播频率。MN按照这个周期广播一跳HELLO报文HELLOMN=(TYPE,TST,IP_SMN,IP_DMN,LOCMN,SPMN,DIRMN,TTL)。
步骤M-2:发送REPORT报文
步骤M-2-1:若MN移动一个传输半径的距离,则转步骤M-2-3,否则转步骤M-2-2。
步骤M-2-2:若MN在上个报告周期没有发送REPORT报文,则这个周期发送REPORT报文,转步骤M-2-3;否则步骤M-2结束。
步骤M-2-3:向静态节点发送报文,向静态节点发送报文。
REPORT MN SNH = ( TYPE , TST , IP _ S MN , IP _ D SNH , LOC MN , SP MN , DIR MN , TTL ) , 其中TYPE表示该报文的报文类型,TST表示生成该报文的时间,IP_SMN表示发送该报文的源节点的IP地址,即MN的IP地址,IP_DSNH表示MN所在道路的两个静态节点中驶离的那个静态节点的IP地址,LOCMN表示MN的坐标位置,SPMN表示MN的移动速度,DIRMN表示MN的移动方向,TTL表示该REPORT报文的生存期。
REPORT MN SHT = ( TYPE , TST , IP _ S MN , IP _ D SNT , LOC MN , SP MN , DIR MN , TTL ) , 其中TYPE表示该报文的报文类型,TST表示生成该报文的时间,IP_SMN表示发送该报文的源节点的IP地址,即MN的IP地址,IP_DSNT表示MN所在道路的两个静态节点中驶向的那个静态节点的IP地址,LOCMN表示MN的坐标位置,SPMN表示MN的移动速度,DIRMN表示MN的移动方向,TTL表示该报文的生存期。
步骤M-3:发送LEAVE报文
任意移动节点MN离开任意一个路口RDCMN时,MN以离开的静态节点SNH为目的节点发送LEAVE报文, LEAVE MN SNH = ( TYPE , TST , IP _ S MN , IP _ D MN , IP _ SN MN , TTL ) , 其中IP_SNMN=IPSNC,又有
步骤M-4:发送新数据报文
步骤M-4-1:判断MN是否位于路口。若MN位于路口,则将数据报文保存到请求队列,转步骤M-4-2,否则,转步骤M-4-3。
步骤M-4-2:MN向该路口的静态节点发送路由请求报文 REQUEST MN SNC = ( TYPE , TST , IP _ S MN , IP _ D MN , MSGD , TTL ) , 其中TYPE表示报文类型,TST表示发送报文的时间戳,IP_SMN表示MN的IP地址,IP_DMN表示该报文的目的静态节点的IP地址,MSGD表示数据报文的目的节点即MNB,TTL表示该请求报文的生存期。步骤M-4结束。
步骤M-4-3:初始化数据报文头部,将距离MN最近的路口设为下一跳路口,将传输半径和数据报文生存期设为默认值。转步骤M-5-3。
步骤M-5:收到REPLY报文
步骤M-5-1:MN收到静态节点发送给本节点的REPLY报文:
REPLY SNC MN = ( TYPE , TST , IP _ N SNC , RAD , TTL _ AD , IP _ S SNC , IP _ D SNC , MSGD , TTL ) , 检查请求队列中是否有数据报文,若有,则从请求队列取出数据报文,转步骤M-5-2更新数据报文头部,否则丢弃REPLY报文。
步骤M-5-2:将REPLY报文中的下一跳路口、传输半径和数据报文生存期保存到数据报文的头部,转步骤M-5-3。
步骤M-5-3:若MN的邻居中有距离下一跳路口更近的节点,其中距离下一跳路口最近的节点为下一跳节点MNN,则按RAD调整传输半径,向MNN转发数据报文,本步骤结束,否则转步骤M-5-4。
步骤M-5-4:MN将数据报文保存到等待队列。
步骤M-6:任意移动节点MN收到HELLO报文
步骤M-6-1:MN收到HELLOMNA=(TYPE,TST,IP_SMNA,IP_DMNA,LOCMNA,SPMNA,DIRMNA,TTL),MN检查邻居表NEI_MMN是否存在MNA的状态信息,若不存在,则将携带在HELLOMNA中的状态信息存入邻居表NEI_MMN中;否则,将邻居表中MNA的信息更新为HELLOMNA中的状态信息,转步骤M-6-2。
步骤M-6-2:MN检查等待队列中是否存有数据报文,若有,则取出数据报文,转步骤M-6-3;否则步骤M-6结束。
步骤M-6-3:取出数据报文中的下一跳路口、传输半径和数据报文生存期,转步骤M-5-3。
步骤M-7:收到数据报文。
步骤M-7-1:MN取出数据报文目的节点MSGD,若MN=MSGD,即为该数据报文的目的节点,则处理数据报文;否则,转步骤M-6-3。
步骤M-8:收到HELLO、REPLY之外的其他控制报文
步骤M-8-1:MN取出报文的目的节点,若MN为该报文的目的节点,则说明收到了错误路由的报文,丢弃该报文;否则,转步骤M-8-2。
步骤M-8-2:若MN的邻居中有距离控制报文目的点的下一跳节点MNN,则向MNN转发该报文,否则丢弃该报文。
步骤M-9:清除过期邻居,MN取出邻居表中生存时间过期的邻居信息并删除。
(二)参见图2所示,在自适应车辆密度的车载网络单播路由方法中,任意静态节点SN的路由过程如下步骤所示:
步骤S-0-1:新的静态节点处理周期开始,若任意静态节点SN收到报文,则转步骤S-1,否则转步骤S-0-2。
步骤S-0-2:若任意静态节点SN收到报文,则转步骤S-2,否则转步骤S-0-3。
步骤S-0-3:若任意静态节点SN收到NOTIFYSNA报文,则转步骤S-3,否则转步骤S-0-4。
步骤S-0-4:若任意静态节点SN收到报文,则转步骤S-4,否则转步骤S-0-5。
步骤S-0-5:若任意静态节点SN收到其他控制报文和数据报文,则转步骤S-5,否则转步骤S-0-6。
步骤S-0-6:若到达清除拓扑表周期,则转步骤S-6清除拓扑表中过期信息,否则转步骤S-0-7。
步骤S-0-7:若静态节点SN到达停止时间,则任意静态节点SN的路由过程结束,否则转步骤S-0-1。
步骤S-1:静态节点SN收到REPORT报文
步骤S-1-1: REPORT MN SNH = ( TYPE , TST , IP _ S MN , IP _ D SN , LOC MN , SP MN , DIR MN , TTL ) , 静态节点SN检查拓扑表TOPOSN,若TOPOSN中有任意移动节点MN的状态信息,则将MN的状态信息替换为报文中的状态信息;否则更新TOPOSN,将IP_SMN的状态信息保存到TOPOSN中,转步骤S-1-2。
步骤S-1-2:若道路的密度发生变化,则转步骤S-1-3广播NOTIFY报文,否则步骤S-1结束。
步骤S-1-3:报文NOTIFYSN=(TYPE,TST,IP_SSN,DENRD,IPRD,TTL):其中TYPE表示该报文的报文类型,TST表示发送报文的时间戳,TTL表示该报文的生存期,IP_SSN表示SN的IP地址,DENRD表示道路密度值,IPRD表示密度值发生改变的道路的IP地址,广播这个报文。
步骤S-2:收到LEAVE报文
步骤S-2-1:静态节点SN收到报文,取出报文的源节点地址IP_SMN,检查TOPOSN,若TOPOSN中有任意移动节点MN的状态信息,则删除这个节点的状态信息,否则丢弃该报文。转步骤S-2-2
步骤S-2-2:SN取出报文的时间戳TST另一静态节点IP_SNMN,可以得到本节点与IP_SNMN之间的道路时延值。用当前系统时间减去TST即为本节点与IP_SNMN之间的道路的当前时延值,DLRD=current-TST,按照公式1更新时延表DELAYSN中的时延。
DL RD new = α · DL RD old + ( 1 - α ) · DL RD cur - - - ( 1 )
其中,为DELAYSN中保存的旧道路时延值,是当前时刻道路RD的时延, DL RD cur = DL RD , α为控制系数。
步骤S-3:收到NOTIFYSNA报文
步骤S-3-1:静态节点SN收到报文NOTIFYSNA,取出DENRD和IPRD,根据公式2更新密度表,转步骤S-3-2。。
DEN RD new = α · DEN RD old + ( 1 - α ) · DEN RD cur - - - ( 2 )
其中,为密度表中保存的旧道路密度值,是当前时刻道路RD的密度, DEN RD cur = DEN RD , α为控制系数。
步骤S-3-2:SN继续广播这个NOTIFYSNA报文,直到报文的生存期到期被丢弃。
步骤S-4:收到报文
步骤S-4-1:计算下一跳路口
静态节点SN收到采用Dijkstra算法,根据密度表,计算SN到MSGD下一跳路口,即下一跳静态节点所在的路口SNN。
步骤S-4-2:计算传输半径
取出静态节点SN和SNN之间的道路RDN的密度值DENRDN,将密度值DENRDN与密度阈值下限和密度阈值上限进行比较,若说明道路连通度较低,需要节点根据公式3增大传输半径和数据报文生存期;否则,若说明道路连通度较好,不需要节点改变传输半径和数据报文生存期;否则,说明密度值大于最大密度阈值,道路连通度较高,为避免冲突,需要节点按公式3减小传输半径和数据报文生存期。静态节点SN根据公式3计算一个适应当前密度的传输半径。
其中,表示当前的传输半径,Rold为静态节点SN保存的旧传输半径,DENRDN为当前路口与下一跳路口之间的道路RDN的密度值,MAX_D为SN保存的移动节点中两两节点间最大的距离差。
步骤S-4-3:计算数据报文生存期
静态节点SN取出时延表中当前路口与下一跳路口之间的时延值,即为数据报文在本段路上的生存期
步骤S-4-4:生成并发送REPLY报文
静态节点SN根据计算出的下一跳路口SNN,传输半径和数据报文生存期生成应答报文。
REPLYSN=(TYPE,TST,IP_NSN,RAD,TTL_AD,IP_SSN,IP_DSN,MSGD,TTL),其中IP_DMN表示目的节点的IP地址,RAD表示计算的传输半径值TTL_AD表示计算的数据报文生存期IP_SSN表示该报文的源节点的IP地址,MSGD表示数据报文目的节点,TTL表示该报文的生存期。向目的节点发送REPLY报文。
步骤S-5:收到其他报文
SN收到其他报文时,丢弃该报文。
步骤S-6:清除过期的状态信息
静态节点SN检查拓扑表TOPOSN中超过移动节点的生存期的状态信息,删除这些状态信息,转步骤S-1-2。
(3)优点和功效
本发明自适应车辆密度的车载网络单播路由方法有如下优点:
1.本发明根据邻居车辆的状态动态调整广播报文的周期,有效限制了维护邻居拓扑的开销。
2.本发明利用静态节点在路口进行路由,避免了建筑物对通信信号的遮挡,增加了传输的成功率。
3.本发明利用静态节点的密度信息,动态调整路由过程中的传输半径和数据报文生存期,提高成功率、降低时延的同时减小通信信号碰撞的几率。
4.本发明中移动节点仅向最近的静态节点报告状态信息,有效地降低了静态节点维护网络拓扑的开销。
附图说明
图1是本发明中车载网络的任意移动节点MN的路由控制流程图。
图2是本发明中车载网络的任意静态节点SN的路由控制流程图。
图3是本发明中车载网络的通信场景。
具体实施方式
下面将结合附图对本发明做进一步的详细说明。
如图3所示,任意移动节点MN1需要向MN3发送数据报文,MN1移动到SN1时,向SN1发送路由请求,SN1回复应答报文,将下一跳路口地址(此情景中为SN2)、传输半径、数据报文生存期生成REPLY报文,发送给MN1,MN1在邻居节点中找到距离SN1最近的下一跳节点,即MN2,并将数据报文转发给MN2,由MN2继续路由,并最终发送至MN3。
若MN1位于RD0道路,则向SN0发送向SN1发送否则若MN1离开RD0,则向SN0发送报文。
若MN1位于RD1道路,则向SN1发送向SN2发送否则若MN1离开RD1,则向SN1发送报文。
(一)参见图1图和图3所示,在自适应车辆密度的车载网络单播路由方法中,任意移动节点MN1的路由过程如下步骤所示:
步骤M-0-1:移动节点处理周期开始,若任意移动节点MN1到达广播HELLO报文周期,则转步骤M-1广播HELLOMN1报文,否则转步骤M-0-2。
步骤M-0-2:若MN1到达报告周期,则转步骤M-2发送报文和报文,否则转步骤M-0-3。
步骤M-0-3:若MN1离开路口静态节点SN0,则转步骤M-3发送报文,否则转步骤M-0-4。
步骤M-0-4:若MN1需要向另一任意移动节点MN3发送数据报文,则MN1产生一条数据报文数据报文目的节点为MN3,向MN3路由该数据报文,转步骤M-4,否则转步骤M-0-5。
步骤M-0-5:若MN1收到报文,则转步骤M-5,否则转步骤M-0-6。
步骤M-0-6:若MN1收到HELLOMN2报文,则转步骤M-6,否则转步骤M-0-7。
步骤M-0-7:若MN1收到数据报文,则转步骤M-7处理数据报文,否则转步骤M-0-8。
步骤M-0-8:若MN1收到上述报文之外的其他报文,则转步骤M-8,否则转步骤M-0-9。
步骤M-0-9:若MN1到达清除邻居表周期,则转步骤M-9清除过期邻居,否则转步骤M-0-10。
步骤M-0-10:若MN1到达停止时间,则本次处理周期结束,否则转步骤M-0-1。
步骤M-1:广播HELLO报文
MN1根据邻居表中的邻居速度的方差,调整广播周期。若速度方差增大,则增大广播频率,否则减小广播频率。MN1按照这个周期广播一跳HELLO报文HELLOMN1=(TYPE,TST,IP_SMN1,LOCMN1,SPMN1,DIRMN1,TTL)。
步骤M-2:向静态节点发送REPORT报文
步骤M-2-1:若MN1移动一个传输半径的距离,则转步骤M-2-3,否则转步骤M-2-2。
步骤M-2-2:若MN1在上个报告周期没有发送REPORT报文,则这个周期发送REPORT报文,转步骤M-2-3。
步骤M-2-3:MN1向所在道路的两个静态节点SN0和SN1发送报文 REPORT MN 1 SN 0 = ( TYPE , TST , IP _ S MN 1 , IP _ D SN 0 , LOC MN 1 , SP MN 1 , DIR MN 1 , TTL ) REPORT MN 1 SN 1 = ( TYPE , TST , IP _ S MN 1 , IP _ D SN 1 , LOC MN 1 , SP MN 1 , DIR MN 1 , TTL ) .
步骤M-3:发送LEAVE报文
若MN1离开RD0,则MN1以离开的静态路口SN0为目的节点发送LEAVE报文, LEAVE MN 1 SN 0 = ( TYPE , TST , IP _ S MN 1 , IP _ D MN 1 , IP _ SN MN 1 , TTL ) , 否则本步骤结束。
步骤M-4:发送新数据报文
步骤M-4-1:判断是否位于路口。MN1产生一条数据报文数据报文目的节点为另一任意移动节点MN3,向移动节点MN3路由该数据报文。若MN1位于路口,则将数据报文保存到请求队列,转步骤M-4-2,否则,转步骤M-4-3。
步骤M-4-2:MN1向该路口的静态节点SN1发送路由请求报文 REQUEST MN 1 SN 1 = ( TYPE , TST , IP _ S MN 1 , IP _ D MN 1 , MSGD , TTL ) , 其中IP_SMN1=IPMN1,IP_DMN1=IPSN1,MSGD=MN3表示移动节点请求到谁的路由,数据报文目的节点即MN3,TTL表示该报文的生存期。
步骤M-4-3:初始化数据报文头部,将距离MN1最近的路口设为下一跳路口,将传输半径和数据报文生存期设为默认值。转步骤M-5-3。
步骤M-5:收到REPLY报文
步骤M-5-1:MN1收到静态节点SN1发送给本节点的REPLY报文:
REPLY SN 1 MN 1 = ( TYPE , TST , IP _ N SN 1 , RAD , TTL _ AD , IP _ D SN 1 , MSGD , TTL ) , 检查请求队列中是否有数据报文,若有,则从请求队列取出数据报文,转步骤M-5-2更新数据报文头部,否则丢弃REPLY报文。
步骤M-5-2:将REPLY报文中的下一跳路口IP_NSN1,即SN2,传输半径RAD和数据报文生存期TTL_AD保存到数据报文的头部,转步骤M-5-3。
步骤M-5-3:若MN1的邻居中存在下一跳节点,为MN2,则按RAD调整传输半径,向MN2转发数据报文,本步骤结束,否则转步骤M-5-4。
步骤M-5-4:MN1将数据报文保存到等待队列。
步骤M-6:MN1收到HELLO报文
步骤M-6-1:MN1收到HELLOMN2=(TYPE,TST,IP_SMN2,LOCMN2,SPMN2,DIRMN2,TTL),MN1检查邻居表NEI_MMN1是否存在源节点IP_SMN2的状态信息,若不存在,则将携带在HELLO报文中的状态信息存入邻居表NEI_MMN1中;否则,将邻居表中IP_SMN2的信息更新为HELLO报文中的状态信息,转步骤M-6-2。
步骤M-6-2:MN1检查等待队列中是否存有数据报文,若有,则取出数据报文,转步骤M-6-3;否则步骤M-6结束。
步骤M-6-3:取出数据报文中的下一跳路口、传输半径和数据报文生存期,转步骤M-5-3。
步骤M-7:收到数据报文。
步骤M-7-1:MN1取出数据报文目的节点MSGD,若MN=MSGD,若MN1为该数据报文的目的节点,则处理数据报文;否则,转步骤M-6-3。
步骤M-8:收到HELLO、REPLY之外的其他控制报文
步骤M-8-1:MN1取出报文的目的节点,若MN1为该报文的目的节点,则说明收到了错误路由的报文,丢弃该报文;否则,转步骤M-8-2。
步骤M-8-2:若MN1的邻居中有距离控制报文目的点的下一跳节点MN2,则向MN2转发该报文,否则丢弃该报文。
步骤M-9:清除过期邻居,MN1取出邻居表中生存时间过期的邻居信息并删除。
(二)参见图2和图3所示,在自适应车辆密度的车载网络单播路由方法中,SN1的路由过程如下步骤所示:
步骤S-0-1:新的静态节点处理周期开始,若任意静态节点SN1收到REPORT报文,则转步骤S-1处理报文,否则转步骤S-0-2。
步骤S-0-2:若SN1收到报文,则转步骤S-2,否则转步骤S-0-3。
步骤S-0-3:若SN1收到报文,则转步骤S-3,否则转步骤S-0-4。
步骤S-0-4:若SN1收到报文,则转步骤S-4,否则转步骤S-0-5。
步骤S-0-5:若SN1收到其他控制报文和数据报文,则转步骤S-5,否则转步骤S-0-6。
步骤S-0-6:若SN1到达清除拓扑表周期,则转步骤S-6清除拓扑表中过期信息,否则转步骤S-0-7。
步骤S-0-7:若静态节点SN1到达停止时间,则路由结束,否则转步骤S-0-1。
步骤S-1:静态节点SN1收到REPORT报文
步骤S-1-1:SN1收到
REPORTMN1=(TYPE,TST,IP_SMN1,IP_DSN1,LOCMN1,SPMN1,DIRMN1,TTL),静态节点检查拓扑表TOPOSN1,若TOPOSN1中有移动节点MN1的状态信息,则将MN1的状态信息替换为REPORT报文中的状态信息;否则更新TOPOSN1,将MN1的状态信息保存到TOPOSN1中,转步骤S-1-2。
步骤S-1-2:若更新TOPOSN1后道路RD0的节点密度发生变化,则广播NOTIFY报文,转步骤S-1-3,否则不做处理。
步骤S-1-3:生成报文 NOTIFY SN 1 = ( TYPE , TST , IP _ S SN 1 , DEN RD 0 new , IP RD 0 , TTL ) : 其中TYPE表示该报文的报文类型,TST表示发送报文的时间戳,TTL表示该报文的生存期,IP_SSN1表示SN1的IP地址,表示道路RD0密度值,IPRD0表示密度值发生改变的道路RD0的IP地址,广播这个报文。
步骤S-2:收到LEAVE报文
步骤S-2-1:静态节点SN1收到LEAVE报文,取出LEAVE报文的源节点MN1,检查TOPOSN1,若TOPOSN1中有移动节点MN1的状态信息,则删除这个节点的状态信息,否则丢弃该报文;否则转步骤S-2-2。
步骤S-2-2:SN1取出LEAVE报文的时间戳TST另一静态节点SN2,可以得到本节点与SN2之间的道路RD1的时延值。用当前系统时间减去TST即为道路RD1的当前时延值,DLRD1=current-TST,按照公式(1)更新时延表DELAYSN1中的时延。
DL RD 1 new = α · DL RD 1 old + ( 1 - α ) · DL RD 1 cur - - - ( 1 )
其中,为DELAYSN1中保存的旧道路时延值,是当前时刻道路RD1的时延,α为控制系数。
步骤S-3:收到NOTIFY报文
步骤S-3-1:静态节点SN1收到报文NOTIFYSN0,取出DENRD0和IPRD0,根据公式
(2)更新密度表,转步骤S-3-2。。
DEN RD 0 new = α · DEN RD 0 old + ( 1 - α ) · DEN RD 0 cur - - - ( 2 )
其中,为密度表中保存的旧密度值,是当前时刻道路RD0的密度, DEN RD 0 cur = DEN RD 0 , α为控制系数。
步骤S-3-2:SN1继续广播NOTIFYSN0,直到报文的生存期到期被丢弃。
步骤S-4:收到报文
步骤S-4-1:静态节点SN1采用Dijkstra算法,根据密度表,计算SN1到MN3下一跳路口为SN2。
步骤S-4-2:计算传输半径
静态节点SN1取出密度表中道路RD1的密度值DENRD1,根据公式(3)计算一个适应当前密度的传输半径。
其中,表示当前的传输半径,Rold为静态节点SN1保存的旧传输半径Rold,DENRD1为道路RD1的密度值,MAX_D为保存的移动节点中两两节点间最大的距离差。
步骤S-4-3:计算数据报文生存期
静态节点SN1取出时延表中当前路口与下一跳路口之间的时延值,即为数据报文在本段路上的生存期
步骤S-4-4:生成并发送REPLY报文
静态节点SN1根据计算出的下一跳节点SN2,传输半径和数据报文生存期生成应答报文。
REPLY SN 1 = ( TYPE , TST , IP _ N SN 2 , RAD , TTL _ AD , IP _ S SN 1 , IP _ D MN 1 , MSG MN 1 MN 3 , TTL ) , 其中 RAD = R RD 1 cur , TTL _ AD = TTL cur , 向MN1发送REPLY报文。
步骤S-5:收到其他报文
SN1收到其他报文时,丢弃该报文。
步骤S-6:清除过期的状态信息
静态节点SN1检查拓扑表TOPOSN1中超过移动节点的生存期的状态信息,删除这些状态信息,转步骤S-1-2。

Claims (1)

1.一种自适应车辆密度的车载网络单播路由方法,其特征在于:它包括两方面即:(一)任意移动节点MN的路由过程;(二)任意静态节点SN的路由过程;
(一)在自适应车辆密度的车载网络单播路由方法中,任意移动节点MN的路由过程按如下步骤进行:
步骤M-0-1:移动节点处理周期开始,若任意移动节点MN到达广播HELLO报文周期,则转步骤M-1广播HELLOMN报文,否则转步骤M-0-2;
步骤M-0-2:若任意移动节点MN到达报告周期,则转步骤M-2发送报文和报文,否则转步骤M-0-3;
步骤M-0-3:若任意移动节点MN离开路口静态节点SNC,则转步骤M-3发送报文,否则转步骤M-0-4;
步骤M-0-4:若任意移动节点MN需要向另一任意移动节点MND发送数据报文,则MN产生一条数据报文数据报文目的节点为另一任意移动节点MND,向MND路由该数据报文,转步骤M-4,否则转步骤M-0-5;
步骤M-0-5:若任意移动节点MN收到报文,则转步骤M-5,否则转步骤M-0-6;
步骤M-0-6:若任意移动节点MN收到HELLOMNA报文,则转步骤M-6,否则转步骤M-0-7;
步骤M-0-7:若任意移动节点MN收到数据报文,则转步骤M-7,否则转步骤M-0-8;
步骤M-0-8:若任意移动节点MN收到上述报文之外的其他报文,则转步骤M-8,否则转步骤M-0-9;
步骤M-0-9:若任意移动节点MN到达清除邻居表周期,则转步骤M-9清除过期邻居,否则转步骤M-0-10;
步骤M-0-10:若任意移动节点MN到达停止时间,则任意移动节点MN的路由过程结束,否则转步骤M-0-1;
步骤M-1:广播HELLO报文
MN根据邻居表中的邻居的速度的方差,调整广播周期;若速度方差增大,则增大广播频率,否则减小广播频率;MN按照这个周期广播一跳HELLO报文
HELLOMN=(TYPE,TST,IP_SMN,IP_DMN,LOCMN,SPMN,DIRMN,TTL);
步骤M-2:发送REPORT报文
步骤M-2-1:若MN移动一个传输半径的距离,则转步骤M-2-3,否则转步骤M-2-2;
步骤M-2-2:若MN在上个报告周期没有发送REPORT报文,则这个周期发送REPORT报文,转步骤M-2-3;否则步骤M-2结束;
步骤M-2-3:向静态节点发送报文,向静态节点发送报文;
其中TYPE表示该报文的报文类型,TST表示生成该报文的时间,IP_SMN表示发送该报文的源节点的IP地址,即MN的IP地址,IP_DSNH表示MN所在道路的两个静态节点中驶离的那个静态节点的IP地址,LOCMN表示MN的坐标位置,SPMN表示MN的移动速度,DIRMN表示MN的移动方向,TTL表示该REPORT报文的生存期;
其中TYPE表示该报文的报文类型,TST表示生成该报文的时间,IP_SMN表示发送该报文的源节点的IP地址,即MN的IP地址,IP_DSNT表示MN所在道路的两个静态节点中驶向的那个静态节点的IP地址,LOCMN表示MN的坐标位置,SPMN表示MN的移动速度,DIRMN表示MN的移动方向,TTL表示该报文的生存期;
步骤M-3:发送LEAVE报文
任意移动节点MN离开任意一个路口RDCMN时,
MN以离开的静态节点SNH为目的节点发送LEAVE报文,
LEAVE M N S N H = ( T Y P E , T S T , I P _ S M N , I P _ D M N , I P _ SN M N , T T L ) ,
其中IP_SNMN=IPSNC,又有
步骤M-4:发送新数据报文
步骤M-4-1:判断MN是否位于路口,若MN位于路口,则将数据报文保存到请求队列,转步骤M-4-2,否则,转步骤M-4-3;
步骤M-4-2:MN向该路口的静态节点发送路由请求报文 其中TYPE表示报文类型,TST表示发送报文的时间戳,IP_SMN表示MN的IP地址,IP_DMN表示该报文的目的静态节点的IP地址,MSGD表示数据报文的目的节点即MNB,TTL表示该请求报文的生存期,步骤M-4结束;
步骤M-4-3:初始化数据报文头部,将距离MN最近的路口设为下一跳路口,将传输半径和数据报文生存期设为默认值,转步骤M-5-3;
步骤M-5:收到REPLY报文
步骤M-5-1:MN收到静态节点发送给本节点的REPLY报文:
检查请求队列中是否有数据报文,若有,则从请求队列取出数据报文,转步骤M-5-2更新数据报文头部,否则丢弃REPLY报文;
步骤M-5-2:将REPLY报文中的下一跳路口、传输半径和数据报文生存期保存到数据报文的头部,转步骤M-5-3;
步骤M-5-3:若MN的邻居中有距离下一跳路口更近的节点,其中距离下一跳路口最近的节点为下一跳节点MNN,则按RAD调整传输半径,向MNN转发数据报文,本步骤结束,否则转步骤M-5-4;
步骤M-5-4:MN将数据报文保存到等待队列;
步骤M-6:任意移动节点MN收到HELLO报文步骤M-6-1:
MN收到HELLOMNA=(TYPE,TST,IP_SMNA,IP_DMNA,LOCMNA,SPMNA,DIRMNA,TTL),
MN检查邻居表NEI_MMN是否存在MNA的状态信息,若不存在,则将携带在HELLOMNA中的状态信息存入邻居表NEI_MMN中;否则,将邻居表中MNA的信息更新为HELLOMNA中的状态信息,转步骤M-6-2;
步骤M-6-2:MN检查等待队列中是否存有数据报文,若有,则取出数据报文,转步骤M-6-3;否则步骤M-6结束;
步骤M-6-3:取出数据报文中的下一跳路口、传输半径和数据报文生存期,转步骤M-5-3;
步骤M-7:收到数据报文;
步骤M-7-1:MN取出数据报文目的节点MSGD,若MN=MSGD,
即为该数据报文的目的节点,则处理数据报文;否则,转步骤M-6-3;
步骤M-8:收到HELLO、REPLY之外的其他控制报文
步骤M-8-1:MN取出报文的目的节点,若MN为该报文的目的节点,则说明收到了错误路由的报文,丢弃该报文;否则,转步骤M-8-2;
步骤M-8-2:若MN的邻居中有距离控制报文目的点的下一跳节点MNN,则向MNN转发该报文,否则丢弃该报文;
步骤M-9:清除过期邻居,MN取出邻居表中生存时间过期的邻居信息并删除;
(二)在自适应车辆密度的车载网络单播路由方法中,任意静态节点SN的路由过程按如下步骤进行:
步骤S-0-1:新的静态节点处理周期开始,若任意静态节点SN收到报文,则转步骤S-1,否则转步骤S-0-2;
步骤S-0-2:若任意静态节点SN收到报文,则转步骤S-2,否则转步骤S-0-3;
步骤S-0-3:若任意静态节点SN收到NOTIFYSNA报文,则转步骤S-3,否则转步骤S-0-4;
步骤S-0-4:若任意静态节点SN收到报文,则转步骤S-4,否则转步骤S-0-5;
步骤S-0-5:若任意静态节点SN收到其他控制报文和数据报文,则转步骤S-5,否则转步骤S-0-6;
步骤S-0-6:若到达清除拓扑表周期,则转步骤S-6清除拓扑表中过期信息,否则转步骤S-0-7;
步骤S-0-7:若静态节点SN到达停止时间,则任意静态节点SN的路由过程结束,否则转步骤S-0-1;
步骤S-1:静态节点SN收到REPORT报文
步骤S-1-1:静态节点SN检查拓扑表TOPOSN,若TOPOSN中有任意移动节点MN的状态信息,则将MN的状态信息替换为报文中的状态信息;否则更新TOPOSN,将IP_SMN的状态信息保存到TOPOSN中,转步骤S-1-2;
步骤S-1-2:若道路的密度发生变化,则转步骤S-1-3广播NOTIFY报文,否则步骤S-1结束;
步骤S-1-3:报文NOTIFYSN=(TYPE,TST,IP_SSN,DENRD,IPRD,TTL):其中TYPE表示该报文的报文类型,TST表示发送报文的时间戳,TTL表示该报文的生存期,IP_SSN表示SN的IP地址,DENRD表示道路密度值,IPRD表示密度值发生改变的道路的IP地址,广播这个报文;
步骤S-2:收到LEAVE报文
步骤S-2-1:静态节点SN收到报文,取出报文的源节点地址IP_SMN,检查TOPOSN,若TOPOSN中有任意移动节点MN的状态信息,则删除这个节点的状态信息,否则丢弃该报文;转步骤S-2-2
步骤S-2-2:SN取出报文的时间戳TST另一静态节点IP_SNMN,得到本节点与IP_SNMN之间的道路时延值;用当前系统时间减去TST即为本节点与IP_SNMN之间的道路的当前时延值,DLRD=current-TST,按照公式(1)更新时延表DELAYSN中的时延;
DL R D n e w = α · DL R D o l d + ( 1 - α ) · DL R D c u r - - - ( 1 )
其中,为DELAYSN中保存的旧道路时延值,是当前时刻道路RD的时延,α为控制系数;
步骤S-3:收到NOTIFYSNA报文
步骤S-3-1:静态节点SN收到报文NOTIFYSNA,取出DENRD和IPRD,根据公式(2)更新密度表,转步骤S-3-2;
DEN R D n e w = α · DEN R D o l d + ( 1 - α ) · DEN R D c u r - - - ( 2 )
其中,为密度表中保存的旧道路密度值,是当前时刻道路RD的密度,α为控制系数;
步骤S-3-2:SN继续广播这个NOTIFYSNA报文,直到报文的生存期到期被丢弃;
步骤S-4:收到报文
步骤S-4-1:计算下一跳路口
静态节点SN收到采用Dijkstra算法,根据密度表,计算SN到MSGD下一跳路口,即下一跳静态节点所在的路口SNN;
步骤S-4-2:计算传输半径
取出静态节点SN和SNN之间的道路RDN的密度值DENRDN,将密度值DENRDN与密度阈值下限和密度阈值上限进行比较,若说明道路连通度较低,需要节点根据公式3增大传输半径和数据报文生存期;否则,若说明道路连通度较好,不需要节点改变传输半径和数据报文生存期;否则,说明密度值大于最大密度阈值,道路连通度较高,为避免冲突,需要节点按公式(3)减小传输半径和数据报文生存期;静态节点SN根据公式(3)计算一个适应当前密度的传输半径;
其中,表示当前的传输半径,Rold为静态节点SN保存的旧传输半径,DENRDN为当前路口与下一跳路口之间的道路RDN的密度值,MAX_D为SN保存的移动节点中两两节点间最大的距离差;
步骤S-4-3:计算数据报文生存期
静态节点SN取出时延表中当前路口与下一跳路口之间的时延值,即为数据报文在本段路上的生存期
步骤S-4-4:生成并发送REPLY报文
静态节点SN根据计算出的下一跳路口SNN,传输半径和数据报文生存期生成应答报文;
REPLYSN=(TYPE,TST,IP_NSN,RAD,TTL_AD,IP_SSN,IP_DSN,MSGD,TTL),其中IP_DMN表示目的节点的IP地址,RAD表示计算的传输半径值TTL_AD表示计算的数据报文生存期IP_SSN表示该报文的源节点的IP地址,MSGD表示数据报文目的节点,TTL表示该报文的生存期,向目的节点发送REPLY报文;
步骤S-5:收到其他报文
SN收到其他报文时,丢弃该报文;
步骤S-6:清除过期的状态信息
静态节点SN检查拓扑表TOPOSN中超过移动节点的生存期的状态信息,删除这些状态信息,转步骤S-1-2。
CN201310629146.8A 2013-11-29 2013-11-29 自适应车辆密度的车载网络单播路由方法 Expired - Fee Related CN103619046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310629146.8A CN103619046B (zh) 2013-11-29 2013-11-29 自适应车辆密度的车载网络单播路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310629146.8A CN103619046B (zh) 2013-11-29 2013-11-29 自适应车辆密度的车载网络单播路由方法

Publications (2)

Publication Number Publication Date
CN103619046A CN103619046A (zh) 2014-03-05
CN103619046B true CN103619046B (zh) 2016-10-12

Family

ID=50169749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310629146.8A Expired - Fee Related CN103619046B (zh) 2013-11-29 2013-11-29 自适应车辆密度的车载网络单播路由方法

Country Status (1)

Country Link
CN (1) CN103619046B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106373392A (zh) * 2016-08-31 2017-02-01 东华大学 一种基于车辆自组织网络的消防车应急让行系统
CN106604395B (zh) * 2017-02-28 2020-04-07 华南理工大学 一种基于车流密度和跨层信息的有效广播周期信息的方法
CN109150728B (zh) * 2017-06-27 2022-08-23 航天恒星科技有限公司 基于赋权时空图的空天信息网络路由方法
CN109246596B (zh) * 2018-08-13 2020-06-16 常熟理工学院 一种高效的车载网路由方法
CN109640369B (zh) * 2018-11-29 2022-10-28 哈尔滨工程大学 一种基于自适应功率的车载网可靠通信方法
CN110418393B (zh) * 2019-01-17 2022-04-19 西安电子科技大学 基于节点相对移动速度的区域路由改进方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1781290A (zh) * 2003-03-13 2006-05-31 索尼株式会社 无线专用通信系统、终端、终端中的处理方法
US7184421B1 (en) * 2001-12-21 2007-02-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for on demand multicast and unicast using controlled flood multicast communications
CN101558676A (zh) * 2006-10-23 2009-10-14 泰克迪亚科技公司 用于在特别无线网络中路由单播及多播消息的方法及通信装置
CN102916889A (zh) * 2012-09-29 2013-02-06 西安电子科技大学 Vanet中基于多路径连通时间和信任度的即时路由选择

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8570930B2 (en) * 2009-12-08 2013-10-29 Electronics And Telecommunications Research Institute Location based vehicle multihop protocol unicast apparatus and routing method using the apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7184421B1 (en) * 2001-12-21 2007-02-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for on demand multicast and unicast using controlled flood multicast communications
CN1781290A (zh) * 2003-03-13 2006-05-31 索尼株式会社 无线专用通信系统、终端、终端中的处理方法
CN101558676A (zh) * 2006-10-23 2009-10-14 泰克迪亚科技公司 用于在特别无线网络中路由单播及多播消息的方法及通信装置
CN102916889A (zh) * 2012-09-29 2013-02-06 西安电子科技大学 Vanet中基于多路径连通时间和信任度的即时路由选择

Also Published As

Publication number Publication date
CN103619046A (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
CN103619046B (zh) 自适应车辆密度的车载网络单播路由方法
CN105657777B (zh) 基于链路质量和节点转发能力的路由协议设计方法
Ji et al. SDGR: An SDN-based geographic routing protocol for VANET
CN105307232B (zh) 一种车载自组织网络的基于连通概率的路由优化方法
KR100813611B1 (ko) 패킷 전송 시스템, 무선 기지국 및 패킷 전송 경로 최적화방법
Rao et al. GPSR-L: Greedy perimeter stateless routing with lifetime for VANETS
Raw et al. Performance comparison of Position based routing Protocols in vehicle-to-vehicle (V2V) Communication
Hu et al. An improved GPSR routing strategy in VANET
CN111343608B (zh) 一种基于位置信息的车联网强化学习路由方法
CN105407517B (zh) 路由方法、路由模块、车载终端和车载自组网路由系统
Asefi et al. A seamless quality-driven multi-hop data delivery scheme for video streaming in urban VANET scenarios
CN107438278A (zh) 一种轨道交通中无线局域网的信道管理方法及相关设备
Sharef et al. Robust and trust dynamic mobile gateway selection in heterogeneous VANET-UMTS network
CN103781141A (zh) 车载自组织网络的单播路由转发方法、芯片及通信系统
CN111050301B (zh) 一种基于动态拓扑的无人机网络olsr路由自适应方法
Han et al. Congestion and position aware dynamic routing for the internet of vehicles
Tu et al. GSPR-MV: A routing protocol based on motion vector for VANET
CN108024228A (zh) 一种基于路网和qos模型的车载网gpsr协议改进方法
CN109561392B (zh) 一种车联网行驶环境自适应动态感知路由
CN104837173B (zh) 一种带停车节点的城域车载通信系统
Macintosh et al. Local Area Network Dynamic (LANDY) routing protocol: A position based routing protocol for MANET
CN111093172B (zh) 一种gpsr车联网路由数据转发方法
Al-Kubati et al. Stable infrastructure-based routing for intelligent transportation systems
Benmir et al. An enhanced gpsr protocol for vehicular ad hoc networks
CN116321347A (zh) 基于Sarsa机器学习算法的车载命名数据网络路由方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161012

Termination date: 20171129

CF01 Termination of patent right due to non-payment of annual fee