车辆无线通信网络中的路由方法及车辆无线通信网络
技术领域
本发明涉及车辆无线通信领域,尤其涉及车辆无线通信网络中的路由方法及车辆无线通信网络,可广泛应用于存在多跳车辆节点的车辆无线通信网络中。
背景技术
未来的智能交通系统下,车辆自组织网络(Vehicular Ad hoc Network,简称VANET)作为新兴的车辆通信技术,提出了适用于车载无线环境的新一代无线通信技术,为车上的移动用户提供无缝的连接服务,可以实现车辆与车辆之间,车辆与路边基础设施之间的多跳无线通信,为车辆提供多种安全应用(如协助交通管理,碰撞预测等)和非安全应用(如路况指示,因特网接入等)。这些应用要求网络提供低时延高数据传输率的性能保证。
另一方面,不同于传统的移动自组织网络和传感器网络,VANET可能在交通十字路口使用固定的小区网关和无线局域网接入点来连接因特网、收集交通信息或者是为了路由目的。这使得VANET的组网结构更加复杂。无线路由协议的使用能够保证上层应用的正常运行,但严格的网络性能要求与复杂的网络结构,给网络通信提出了一些挑战。
车辆自组织网络具有高动态拓扑结构。VANET下移动的节点是汽车,其高速移动会带来网络拓扑的快速变化,而且车辆间建立的通信链路维持时间也不长。如果车辆的通信范围为250米,两辆以时速60公里速度相向行驶的车辆间的通信时间最多只有10秒钟。
传统GPS服务获取位置信息的信息更新不够迅速,导致位置信息不够准确。正因为这种不准确性,在高速移动环境下,使用GPS位置信息的路由决策可能会选择一个实际已经远离自己通信范围的节点发送数据,而导致持续的丢包。如何提高位置信息的准确性,将直接影响路由协议的性能。
车辆的移动是受城市道路限制的,因此是有规律的移动。同时,城市中的通信信号会受到建筑物、树木等障碍物的遮挡阻碍而中断。所以即使是通信范围内的车辆,特别是在十字路口附近的车辆,受障碍物影响也无法通信。如何利用车辆移动的规律特性,并且克服实际情况中障碍物遮挡问题对路由链路的影响,也是VANET路由设计需要解决的问题。
基于地理信息的路由每次转发实时选择下一跳节点,当选取不当时发包将会造成持续丢包,在没有一个完备的丢包检测的机制防护下会发生持续大规模丢包情况。怎样设计一种有效的预防机制,是路由策略亟待解决的问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种车辆无线通信网络中的路由方法及车辆无线通信网络。
为了解决上述技术问题,本发明公开了一种车辆无线通信网络中的路由方法,包括以下步骤:
步骤1,路由建立:进行路由请求和路由应答,在十字路口建立固定节点,即锚点,在锚点上建立锚点路由,所述锚点路由引导路由路径沿着道路建立,让承载上层业务的数据包传输沿着道路进行;路由建立过程中会使用到路由信令包:路由信令包包括路由请求包和路由应答包。
步骤2,路由转发:采用基于链路预测机制的自适应广播和基于链路预测机制的转发算法进行路由转发;
步骤3,路由维护。
本发明中,通过路由请求和路由应答建立基于十字路口的锚点路由表,包括:
路由请求:源节点发起路由请求包,在全网广播以找到目的节点;路由请求包包头包含以下信息:类型、广播ID、跳数统计、链路预测特征值、源节点号、目的节点号、锚点节点号和锚点位置;所述链路预测特征值为路由请求包途经路段各中继节点HELLO消息自适应广播周期的最小值;广播过程中,路由请求包每经过一个中继节点,在该节点上建立反向暂态路由,所述反向暂态路由为短生命周期指向源节点的反向路由;反向暂态路由在路由建立过程中引导路由应答包回复;当路由请求包经过锚点覆盖范围时,在锚点上建立反向暂态路由,同时在锚点上建立指向源节点的反向锚点路由,且路由请求包的锚点节点号和锚点位置字段更新到当前所经过的锚点的信息,锚点的信息包括锚点节点号和锚点位置;
路由应答:目的节点在接到路由请求包后,缓存路由请求包,等待毫秒级时间;对于多条路径的选择,路由方法以跳数最小为优先;当接收的不同路径路由跳数相同,则比较路由请求包中的链路预测特征值;链路预测特征值最大的路由优先选择;确定路由路径后,目的节点产生路由应答包,并沿着之前建立的反向暂态路由回复至源节点,途经锚点和锚点邻居时,更新锚点路由表中的正向锚点路由信息,所述锚点邻居为处于锚点通信范围内的节点;路由应答包包头包含信息如下部分:类型,源节点号,目的节点号、目的节点位置、目的节点速度和目的节点更新时刻,锚点节点号和锚点位置,备份锚点节点号和锚点位置;由此在十字路口处的锚点上建立锚点路由的同时,锚点范围内的所有节点也获得这一路由信息。
所述锚点路由表包括目的节点号、下一锚点号以及下一锚点位置;所述锚点是无线接入点,通过在自身的HELLO消息中加入anchor_标志告知所处十字路口处的节点;
所述HELLO消息是每个节点周期交互各自信息的信标信令包。
本发明中,所述路由回复过程使用单跳广播的传输方式,路由应答包使用广播形式被路由层接收,判断是否丢包交由路由层决定,通过节点监听邻居节点收到的路由应答包;对于锚点邻居,能够直接获取已经在锚点上建立好的锚点路由表信息。
本发明中,所述路由转发包括:
源节点收到路由应答包后,通过查询锚点路由,为每一个待发送的数据包设定一个锚点目标,所有数据包都通过基于链路预测机制的转发算法找寻下一跳节点并发往锚点目标;如果有缓存的数据包,则优先发送;中继节点收到数据包后,如果自身是锚点邻居,则先查询锚点路由更新锚点目标后,再使用基于链路预测机制的转发算法进行路由;如果自身不在锚点通信范围内,则直接使用基于链路预测机制的转发算法更新下一跳节点号继续转发;下一跳节点号是转发过程中的每个节点计算得到的下一个转发目标节点号;路由转发过程中,中继节点先判断目的节点是否为自己的邻居,如果是则直接转发;路由转发过程中使用基于链路预测机制的自适应广播通过HELLO消息交互邻居节点信息,由此可以提高转发效率。
本发明中,所述基于链路预测机制的转发算法为,通过对周围邻居的链路预测判断选择稳定可靠的传输节点作为下一跳转发节点:预测链路时间低于阈值的邻居节点被视为不可靠节点,判定不可靠的潜在链路;在可靠节点中选择到目的节点距离最近的下一跳节点转发。本发明基于链路预测机制的转发算法(Connectivity EstimateForwarding,CEF)是基于传统贪婪算法的改进。由于在所提路由方法中,CEF只会用于直线方向上的两区域数据传输,不会遇到局部最大问题造成路由失败。节点在选取下一跳节点时,首先查看邻居节点的预测链路时间,如果预测值小于HELLO消息广播周期,则可能在收到下次HELLO消息之前该邻居节点已经离开通信范围。故首先排除此类不可靠节点。在剩下的邻居节点中使用贪婪算法,需找到目的节点距离最近的邻居,即作为下一跳转发节点。如果无法在剩下节点找到下一跳备选节点,则表明所处通信环境不佳,本着尽力而为的原则,在所有邻居节点中使用贪婪算法以寻找下一跳节点。
本发明中,所述基于链路预测机制的自适应广播为:车辆节点计算周围邻居节点的预测链路时间,围绕初始广播周期进行加权计算自适应广播周期,作为自己HELLO消息的广播周期。车辆无线通信网络下路由协议多为基于地理信息的路由方案,对各个邻居节点的位置速度信息精确度有较高的要求。各节点通过广播HELLO消息获取更新邻居位置速度信息。节点通过计算各邻居节点的预测链路时间,加权平均后计算自身的广播周期,并围绕一个既定的广播周期浮动变化。由于各预测链路时间反应了周围通信环境状况,从而使广播周期能随视周围通信质量自适应调整。
本发明中,所述预测链路时间为:两个节点具有不同的移动速度,随着两者的移动,相互间位置的变化,当两者间距离将超过可信赖的通信距离,由此变为不连通状态,从连通状态到不连通状态的时间预测;
预测链路时间CT的计算方法如下:
预测链路时间CT通过计算两点间距离函数r(t)得到:
其中,
其中,
Δx和Δy表示两节点i、j位置坐标差,x
iy
i和x
jy
j是两节点i、j的坐标,
是节点j的速度分量,t
it
j是两节点获得位置速度信息的更新时刻;
所述基于链路预测机制的广播周期计算方法如下:
其中,T
0是一个固定的基准广播周期值,设置为1s,CT
i为节点到邻居i的预测链路时间,Val
i为广播周期计算的中间值,
为节点i所计算广播周期,它围绕T
0上下波动。
本发明中,所述路由维护包括源节点移动的路由维护和目的节点移动的路由维护;
对于源节点移动的路由维护,如果源节点移动通过一个十字路口后,认为当前锚点路由表信息失效,则源节点进行路由建立;如果源节点不移动,每间隔一定时段,判定锚点路由表信息过时,源节点将进行一次路由建立;若在上一个时段内已经进行过由于源节点移动触发的路由建立,则本次时段到时不进行路由建立;
对于目的节点移动的路由维护,在一次路由生命期内目的节点最多移过一个十字路口;若通过的十字路口为已建立的锚点路由的最后一个锚点,则该节点把自身位置和速度信息通过HELLO消息传给锚点和锚点的邻居;当数据包传到该十字路口时,该范围内节点利用目的节点留下的位置和速度信息更新数据包包头信息,然后用基于链路预测机制的转发算法进行路由转发;
若通过的十字路口为已建立的锚点路由以外的一个新的锚点所在地,则该节点把位置和速度信息传播到该十字路口范围内节点;数据包按源路由信息传到该节点原来位置时,其原邻居节点通过该节点之前留下的位置速度信息更新该目的节点的当前位置,进而把数据包发送到新的十字路口范围;数据包利用目的节点留下的位置和速度信息更新包头信息,最后用基于链路预测机制的转发算法传输到在新位置的目的节点。
本发明中链路预测机制包括如下内容:固定通信距离R内的一对节点被认定为相互连通,即可预见的通信链路。由于这两个节点具有不同的移动速度,则随着两者的移动,相互间位置的变化,在将来的某一时刻起,两者间距离将超过可以信赖的通信距离R,由此变为不连通状态。这一段从连通状态到不连通状态的时间预测,即双方链路预测。对于这一段时间的预测,考虑了通信双方节点的移动状态变化,是一种基于状态的动态预测,更适应车辆通信网络各状态时刻变化的特点。车辆通信网络下的节点通过周期性的HELLO消息交互信令信息,从而获取邻居节点的位置、速度等信息,进而根据自身信息,完成对相关节点的链路预测。
本发明还公开了一种车辆无线通信网络,每一辆汽车都安装搭载专用短程通信协议IEEE802.11p的无线通信模块,共同构成分布式的自组织网络,每一辆汽车就成为一个节点;
在十字路口处装有固定的静态无线节点,静态无线节点搭载专用短程通信协议IEEE802.11p的无线通信模块作为锚点,用于辅助路上节点通信或是收集十字路口信息;
锚点与路上节点共同组成车辆无线通信网络,锚点与路上节点通信无需入网过程。
本发明中车辆无线通信网络通信协议栈主要包括了物理层,媒体接入层,网络层,传输层和应用层,本发明主要涉及网络层路由部分。
有益效果:本发明采用基于链路预测的自适应广播机制保证了邻居节点信息充分交互,又根据周围通信环境状况自适应调整广播周期,可以减小网络路由信令包开销,提高路由性能。CEF转发算法的使用,保证了每跳传输的可靠性。在锚点协作下,建立基于十字路口的路由策略,在实际应用中让数据包沿着道路传输,可以有效避免传输信号被路边障碍物遮挡的问题。链路预测特征值在路由线路选取时的综合考虑,保证了所选路由在时延和可靠性上的最优选择。综合起来,本发明大大提高了路由在车辆无线通信网络中的使用性能,降低了端到端时延,保证了路由的可靠性。本发明可以给不同业务类型的业务提供服务质量保证,适应车辆无线通信网络应用需求,并能快速建立低时延高性能的可靠点到点通信。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是基于链路预测最优选择机制的可靠路由方法结构框图。
图2是基于链路预测机制的转发算法CEF流程图。
图3是源节点数据包发送流程图。
图4是中继节点数据包转发流程图。
图5是基于链路预测最优选择机制的可靠路由方法流程框图。
具体实施方式
如图1所示,本发明包括一种车辆无线通信网络中的路由方法,包括以下步骤:
步骤1,路由建立:进行路由请求和路由应答,在十字路口建立固定节点,即锚点,在锚点上建立锚点路由,所述锚点路由引导路由路径沿着道路建立,让承载上层业务的数据包传输沿着道路进行;
步骤2,路由转发:采用基于链路预测机制的自适应广播和基于链路预测机制的转发算法进行路由转发;
步骤3,路由维护。
所述通过路由请求和路由应答建立基于十字路口的锚点路由表,包括:
路由请求:源节点发起路由请求包,在全网广播以找到目的节点;路由请求包包头包含以下信息:类型、广播ID、跳数统计、链路预测特征值、源节点号、目的节点号、锚点节点号和锚点位置;所述链路预测特征值为路由请求包途经路段各中继节点HELLO消息自适应广播周期的最小值;广播过程中,路由请求包每经过一个中继节点,在该节点上建立反向暂态路由,所述反向暂态路由为短生命周期指向源节点的反向路由;反向暂态路由在路由建立过程中引导路由应答包回复;当路由请求包经过锚点覆盖范围时,在锚点上建立反向暂态路由,同时在锚点上建立指向源节点的反向锚点路由,且路由请求包的锚点节点号和锚点位置字段更新到当前所经过的锚点的信息,锚点的信息包括锚点节点号和锚点位置。
路由应答:目的节点在接到路由请求包后,缓存路由请求包,等待毫秒级时间;对于多条路径的选择,路由方法以跳数最小为优先;当接收的不同路径路由跳数相同,则比较路由请求包中的链路预测特征值;链路预测特征值最大的路由优先选择;确定路由路径后,目的节点产生路由应答包,并沿着之前建立的反向暂态路由回复至源节点,途经锚点和锚点邻居时,更新锚点路由表中的正向锚点路由信息,所述锚点邻居为处于锚点通信范围内的节点;路由应答包包头包含信息如下部分:类型,源节点号,目的节点号、目的节点位置、目的节点速度和目的节点更新时刻,锚点节点号和锚点位置,备份锚点节点号和锚点位置。
所述锚点路由表包括目的节点号、下一锚点号以及下一锚点位置;所述锚点是无线接入点,通过在自身的HELLO消息中加入anchor_标志告知所处十字路口处的节点;
所述HELLO消息是每个节点周期交互各自信息的信标信令包。
所述路由回复过程使用单跳广播的传输方式,路由应答包使用广播形式被路由层接收,判断是否丢包交由路由层决定,通过节点监听邻居节点收到的路由应答包;对于锚点邻居,能够直接获取已经在锚点上建立好的锚点路由表信息。
所述路由转发包括:源节点收到路由应答包后,通过查询锚点路由,为每一个待发送的数据包设定一个锚点目标,所有数据包都通过基于链路预测机制的转发算法找寻下一跳节点并发往锚点目标;如果有缓存的数据包,则优先发送;中继节点收到数据包后,如果自身是锚点邻居,则先查询锚点路由更新锚点目标后,再使用基于链路预测机制的转发算法进行路由;如果自身不在锚点通信范围内,则直接使用基于链路预测机制的转发算法更新下一跳节点号继续转发;下一跳节点号是转发过程中的每个节点计算得到的下一个转发目标节点号;路由转发过程中,中继节点先判断目的节点是否为自己的邻居,如果是则直接转发;路由转发过程中使用基于链路预测机制的自适应广播通过HELLO消息交互邻居节点信息。
所述基于链路预测机制的转发算法为,通过对周围邻居的链路预测判断选择稳定可靠的传输节点作为下一跳转发节点:预测链路时间低于阈值的邻居节点被视为不可靠节点,判定不可靠的潜在链路;在可靠节点中选择到目的节点距离最近的下一跳节点转发。
所述基于链路预测机制的自适应广播为:车辆节点计算周围邻居节点的预测链路时间,围绕初始广播周期进行加权计算自适应广播周期,作为自己HELLO消息的广播周期。
所述预测链路时间为:两个节点具有不同的移动速度,随着两者的移动,相互间位置的变化,当两者间距离将超过可信赖的通信距离,由此变为不连通状态,从连通状态到不连通状态的时间预测。
预测链路时间CT的计算方法如下:
预测链路时间CT通过计算两点间距离函数r(t)得到:
其中,
其中,
Δx和Δy表示两节点i、j位置坐标差,x
iy
i和x
iy
j是两节点i、j的坐标,
是节点j的速度分量,t
it
j是两节点获得位置速度信息的更新时刻;
所述基于链路预测机制的广播周期计算方法如下:
其中,T
0是一个固定的基准广播周期值,设置为1s,CT
i为节点到邻居i的预测链路时间,Val
i为广播周期计算的中间值,
为节点i所计算广播周期,它围绕T
0上下波动。
所述路由维护包括源节点移动的路由维护和目的节点移动的路由维护;
对于源节点移动的路由维护,如果源节点移动通过一个十字路口后,认为当前锚点路由表信息失效,则源节点进行路由建立;如果源节点不移动,每间隔一定时段,判定锚点路由表信息过时,源节点将进行一次路由建立;若在上一个时段内已经进行过由于源节点移动触发的路由建立,则本次时段到时不进行路由建立;
对于目的节点移动的路由维护,在一次路由生命期内目的节点最多移过一个十字路口;若通过的十字路口为已建立的锚点路由的最后一个锚点,则该节点把自身位置和速度信息通过HELLO消息传给锚点和锚点的邻居;当数据包传到该十字路口时,该范围内节点利用目的节点留下的位置和速度信息更新数据包包头信息,然后用基于链路预测机制的转发算法进行路由转发;
若通过的十字路口为已建立的锚点路由以外的一个新的锚点所在地,则该节点把位置和速度信息传播到该十字路口范围内节点;数据包按源路由信息传到该节点原来位置时,其原邻居节点通过该节点之前留下的位置速度信息更新该目的节点的当前位置,进而把数据包发送到新的十字路口范围;数据包利用目的节点留下的位置和速度信息更新包头信息,最后用基于链路预测机制的转发算法传输到在新位置的目的节点。
本发明还公开了一种车辆无线通信网络,每一辆汽车都安装搭载专用短程通信协议IEEE802.11p的无线通信模块,共同构成分布式的自组织网络,每一辆汽车就成为一个节点;在十字路口处装有固定的静态无线节点,静态无线节点搭载专用短程通信协议IEEE802.11p的无线通信模块作为锚点,用于辅助路上节点通信或是收集十字路口信息;锚点与路上节点共同组成车辆无线通信网络,锚点与路上节点通信无需入网过程。
本发明中锚点是无线接入点(Access Point,简称AP),通过在自身HELLO消息中加入anchor_标志告知所处十字路口处的节点。锚点的引入,把通信网络中的节点分为了两个层次:所有锚点和通信的端节点作为锚点层;其余所有节点作为普通层。因为锚点层的所有节点要维护各自部分的锚点路由表信息,而普通层中的节点无需维护路由表信息。锚点功能的设计原则是,在路口有其他节点时,锚点指挥它们转发数据包;当路口没有其他节点时,它自身就作为中继节点实现转发功能。
实施例
本实施例中路由请求包头包含如下信息:类型,广播ID,跳数统计,链路预测特征值,源节点号,目的节点号,锚点节点号和锚点位置。其各部分信息描述如表1所示:
表1,路由请求包头信息描述。
本实施例中路由应答包头包含信息如下部分:类型,源节点号,目的节点号,锚点节点号和锚点位置,备份锚点节点号和锚点位置。其中各部分信息如表2所示。
表2,路由请求包头信息描述。
锚点节点号和锚点位置和备用锚点节点号和锚点位置首先被初始化为目的节点的位置信息。路由应答包沿反向暂态路由回发中,路过锚点覆盖范围,有以下几种情况:
情况1.先被锚点邻居接收后,更新路由应答包信息,把备用锚点节点号和锚点位置更新为锚点节点号和锚点位置,锚点节点号和锚点位置更新为当前所在锚点节点号和锚点位置,再继续转发下一跳。
情况2.如果锚点是反向暂态路由中的一个中继节点,则不对路由应答包操作,直接转发。如果锚点不是反向暂态路由中的一个中继节点,则接收其他节点广播而来的路由应答包,在备用锚点号与自身节点号不相等的情况下,利用该路由应答包,更新锚点路由表。最后丢弃该数据包。
情况3.一般节点只接收发给自己的路由应答包,并继续转发。对于其他广播接收而来的路由应答包直接丢弃。
通过这一机制,可以实现锚点范围内的所有节点都维护了相同的锚点路由表信息。到路由应答包沿反向暂态路由回到源节点后,所有锚点路由均建立完成。锚点路由表在路由发现过程中建立在了锚点范围内的所有节点上。但随着通信的继续,节点移动,使得原来在锚点范围内的节点移出此区域,而又会有新的节点加入进来。对于新的节点,它们没有锚点路由信息。所以就需要锚点的周期广播。各锚点周期广播HELLO消息,其中包含了锚点路由表项。这样保证了不管网络拓扑如何变化,锚点范围内的节点都能获知锚点路由信息。
源节点移动问题带来的路由维护。如果源节点移动通过一个十字路口后,意味着之前建立的路由很可能不再是最优的路径。则源节点会重启路由建立过程。如果源节点不移动,时间过长也意味着之前路由信息的过时或失效。所以设定固定间隔,源节点将进行一次路由建立过程,若在上一个时段内已经进行过由于源节点移动触发的路由建立过程,则这一次到时将不再进行。
目的节点移动问题带来的路由维护。由于源节点移动路由维护机制的引入,在一次路由生命期内目的节点最多移过一个十字路口。若通过的十字路口为已建立的锚点路由的最后一个锚点,则该节点把自身位置速度信息通过HELLO消息传给锚点和锚点邻居。当数据包传到该十字路口时,目的节点位置信息由该范围节点利用目的节点留下的位置速度信息预测更新,然后再继续用CEF转发算法转发。若通过的十字路口为已建立的锚点路由以外的一个新的锚点所在地,则该节点同样把位置速度信息传播到该十字路口范围内节点。而数据包按源路由信息传到该节点原来位置时,其原邻居节点会通过该节点之前留下的位置速度信息预测更新该目的节点的当前位置,进而把数据包发送到新的十字路口范围。最后让数据包正常传输到在新位置的目的节点。
图2是基于链路预测机制的转发算法CEF流程图,具体包括以下步骤:
步骤21,为整个CEF算法入口,初始设置最小距离为0,用于后面记录邻居到目的节点距离的最小值。
步骤22.从邻居列表中读取下一个邻居节点信息;
步骤23判断CT是否小于阈值:如果不是则进入步骤24,否则进入步骤26;
步骤24,判断该邻居节点到目的节点距离是否是大于最小距离的正数,如果不是则进行步骤25,否则进行步骤26;
步骤25,更新最小距离并记录该邻居节点号,进行步骤26。
步骤26,判断该节点是否是邻居列表中最后一个邻居节点。如果不是,则返回步骤22,如果是,则进入步骤27。
步骤27,先判断前面过程是否得到符合要求的下一跳节点号,如果没有,则进入步骤28;否则进行步骤2A;
步骤28,使用贪婪算法寻找到目的节点距离最近的下一跳节点号,后进入步骤29;
步骤29,继续判断是否得到符合要求的下一跳节点号,如果是则进行步骤2A,否则进行步骤2B;
步骤2A,返回下一跳节点号,供路由协议后续操作。
步骤2B,返回失败,表示通过算法不能找到适合的下一跳节点转发。
图3是源节点数据包发送流程图,具体包括如下步骤。
步骤31,源节点收到RREP包;
步骤32,利用RREP包信息查询锚点路由为即将发送出去的数据包包头设置下一个锚点目标。
步骤33,源节点查看自身是否缓存有数据包未发,如果是,进行步骤34,然后进入步骤3;如果不是则直接进入步骤35;
步骤34,发送缓存数据包,进行步骤35
步骤35,使用CEF转发算法获取下一跳节点号;
步骤36,把数据包发送出去。
图4是中继节点数据包转发流程图,具体包括以下步骤:
步骤41,中继节点收到数据包;
步骤42,检查自己是否是所需目的节点,如果是则进行步骤49;否则进入步骤43。
步骤43,查看自己邻居是否有节点是所需目的节点,如果有,进行步骤44,如果不是则进入步骤45。
步骤44,把下一跳设为该邻居,进行步骤4A;
步骤45,检查自身是否是锚点邻居,如果不是,进行步骤48,如果是则进行步骤46;
步骤46,检查数据包包头的目的锚点是否是邻居锚点号,如果不是,则进入步骤48,否则进行步骤47;
步骤47,查询锚点路由表来设置下一个锚点目标,进行步骤48;
步骤48,使用CEF转发算法获取下一跳节点号,进入步骤4A。
步骤49,接收数据包;
步骤4A,中继转发数据包。
本实施例处于车辆无线通信网络中的车辆节点需要与远方车辆建立连接通信时,利用邻居节点的相关速度位置信息,预测与各邻居节点的链路状况,根据传输路径通信环境状况,选择一条最佳路由路径,让数据包快速可靠的从源节点发往目的节点。
如图5所示,以车辆通信网络下的源节点Source Node向目的节点Destination Node发送数据包为例,具体实施过程如下:
基于链路预测机制的自适应广播。路由运行后,始终伴随着HELLO信令的交互,以为路由运行提供必要的邻居节点的位置速度相关信息。此实例中,源节点Source Node需要向目的节点Destination Node传输数据包,中间经过了两个十字路口所属的锚点Anchor#0和Anchor#1,以及两个中继节点,处于锚点通信范围内的中继节点是锚点邻居Anchor Neighbor#0,另一个中继节点Intermediate Node#1不在锚点通信范内。路由协议运行后,每个节点首先对周围邻居链路情况进行预测。若有节点i和节点j,相距距离r。两点有各自不同的位置信息和速度信息:节点i位于(xi,yi,ti)处,移动速度为(vxi,vyi);节点j位于(xj,yj,tj)处,移动速度为(vxj,vyj)。这里ti和tj分别表示节点i和节点j位置更新时刻。R为两节点的通信距离。当r小于R时,两节点处于连通状态。t为当前时刻。在短时间内,节点的移动速度变化较小,为计算方便,近似的认为保持恒定。则两节点间距离r是关于时间t的函数r(t)。显然,ti和tj并不相同,两节点的位置信息更新时刻不同步,所以需要经过同步修正后使用。经同步修正后,两节点信息均在ti时刻进行后续计算。经修正后的两节点位置坐标差如下:
两节点间距离函数r(t)表达式:
其中,
表示两节点间的速度差。当r(t)≤R时,两节点处于连通状态。预测链路时间CT表示最大连通时间:
每个节点通过以上方式计算周围邻居节点的预测链路时间,再把每个邻居的预测链路时间CT的加权计算,获得自适应的广播周期。
式中T
0是一个固定的基准广播周期值,设置为1s,CT
i为节点到邻居i的预测链路时间CT。Val
i为广播周期计算的中间值。
为节点i所计算广播周期,它围绕T
0上下波动。
示例中各节点在自适应广播中通过HELLO消息交互各自的速度位置等信息,Anchor#0和Anchor#1通过在HELLO消息里添加anchor_标志,通告周围邻居节点。Anchor Neighbor#0收到有anchor_标志的HELLO消息后把自己标记为锚点邻居。
当有业务下发后,Source Node发起路由请求过程。全网广播RREQ路由请求包,直到找到目的节点Destination Node。RREQ经过中间十字路口时,在十字路口上的锚点Anchor#0和Anchor#1建立反向锚点路由表。目的节点DestinationNode收到RREQ后,等待一小段时间,以接收可能到来的其他路径方向的RREQ包。Destination Node选取跳数最少的RREQ回复路由应答包RREP,如果跳数相同,则选择链路预测特征值最大的RREQ回复。RREP沿途返回到源节点Source Node,并在经过Anchor#0和Anchor#1上完成锚点路由表建立。由于使用单跳广播机制回复RREP,所以AnchorNeighbor#0能够获取从邻居Anchor#0发出的RREP,进而获知锚点路由表信息,在转发过程中发挥作用。
数据包传输。Source Node按照建立好的锚点路由表信息,在即将发送的数据包包头添加目的锚点号,然后使用CEF转发算法转发数据包。建立好的锚点路由表如表3所示。
表3,锚点路由表信息描述。
当数据包转发到了目的锚点通信范围后,锚点邻居AnchorNeighbor#0接收到数据包即会根据自有锚点路由表信息更新数据包的下一个目的锚点号,然后继续转发。当数据包传输到最后一个锚点后,目的锚点号将被更新为目的节点Destination Node。Anchor#0把路由选择任务交付其邻居节点完成,Anchor#1则自身中继转发数据包。
路由维护。如果Destination Node移动经过了最后一个锚点Anchor#1,它就通过HELLO消息把最新的自身位置速度信息发送给Anchor#1更新。后续到达的数据包即可根据此信息准确的发往移动后的DestinationNode。如果DestinationNode移动经过了Anchor#1以外的一个新锚点后,要采取同样的方式通过HELLO消息把自身相关信息发送给新的锚点。后续数据包到达新的锚点后,能够根据这些信息找到当前DestinationNode的位置。同时,当建立好的路由运行一段时间后(设定为25s),认为当前路由信息失效,需要重新建立路由。如果Source Node移动经过了锚点,也会造成当前路由表信息的过时,需要重启路由建立。
所提出的基于链路预测最优选择机制的可靠路由方法,适合车辆无线通信网络的通信要求,可以针对不同网络通信状况自适应调整广播周期,有效降低路由开销。基于链路预测机制的转发算法提高了路由转发的可靠性,沿道路传输的路由策略减小了路边障碍物对射频信号的遮挡问题,共同保证了数据传输的通信质量。
本发明提供了一种车辆无线通信网络中的路由方法及车辆无线通信网络的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。