CN101877900B - 一种车辆间数据路由方法 - Google Patents
一种车辆间数据路由方法 Download PDFInfo
- Publication number
- CN101877900B CN101877900B CN 200910272673 CN200910272673A CN101877900B CN 101877900 B CN101877900 B CN 101877900B CN 200910272673 CN200910272673 CN 200910272673 CN 200910272673 A CN200910272673 A CN 200910272673A CN 101877900 B CN101877900 B CN 101877900B
- Authority
- CN
- China
- Prior art keywords
- path
- bag
- node
- rretran
- maximum
- 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
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种车辆间数据路由方法,其特征在于:源节点S广播路由请求包(RREQ包);目的节点D或者中间节点I收到RREQ包后,返回路由响应包(RREP包),记录路径D→S的最大重传次数MaxRetran和最大移动速度MaxSpeed;S收到RREP包后,发送重传次数包(RRETRAN包),记录路径S→D的MaxRetran和MaxSpeed,将D→S的MaxRetran返回给D;D收到RRETRAN包后,发送带标记的RRETRAN包,将S→D的MaxRetran返回给S;S收到RRETRAN包后,根据所发现多条路径的跳数、MaxRetran以及MaxSpeed综合进行选择,选择具有最小综合判据值的路径作为转发路径,能够平衡跳数、无线链路质量以及车辆速度等指标;利用OBD技术获取车辆速度信息具有很好的实用性、准确性和通用性。
Description
技术领域
本发明涉及无线网络和通信领域,特别是一种车辆间数据路由方法。
背景技术
车用自组织网络(Vehicular Ad-hoc NETwork,VANET)是一类特殊的移动多跳网络(Mobile Ad-hoc NETwork,MANET)。通过VANET,车辆间、车辆与基础设施间将建立一个多跳、自组织的无线通信网络。由于车辆移动速度快、网络动态性强、环境复杂等特点,车辆间数据传输需要有效的路由方法。尽管车辆网络动态性强,但是可以利用车辆运动信息作为路由判据,以选择更好的路由。基于车辆运动信息的路由技术以车辆运动信息作为路由判据,通过实时采集车辆运动信息,典型的车辆运动信息包括速度、行驶方向等,并根据车辆运动信息选择优化路由。
现有相关技术中,提出了一种MOVE(MOtionVector,移动向量)协议(J.LeBrun,C.N.Chuah,D.Ghosal,M.Zhang.“Knowledge-Based Opportunistic Forwarding in Vehicular WirelessAd Hoc Networks,”Proc.of the 61st IEEE Vehicular Technology Conference,vol.4,pp.2289-2293,May 30-June 1,2005.),该协议利用车辆速度信息计算本车和周围车辆到目的节点的距离,选择距离最短的节点进行转发。但是该协议要求目的节点是固定的,且适用于稀疏网络,而且由于该协议仅考虑了物理距离最短,而忽略了由于无线链路质量问题所导致的丢包问题。
现有相关技术中,还提出了一种MaxProp协议(J.Burgess,B.Gallagher,D.Jensen,B.N.Levine.“MaxProp:Routing for Vehicle-Based Disruption-Tolerant Networks,”Proc.of the 25thIEEE International Conference on Computer Communications(INFOCOM),pp.1-11,April 23-29,2006.),该协议利用车辆“见面”概率来选择路径进行数据转发,这需要每个节点维护一张与其他节点的“见面”概率表,同时,每当节点与其他节点碰面时,会实时调整、归一化“见面”概率,并交换相互的“见面”概率表,并计算分发开销;在转发数据包时,将先转发跳数少的数据包,然后根据分发开销进行转发。但是该协议需要在全局范围内维护“见面”概率表,存在可扩展性问题;而且该协议根据“见面”概率计算分发开销,未考虑由于无线链路质量所导致的丢包问题。
现有相关技术中,还提出了一种MURU(MUltihop Routing protocol for Urban vehicular adhoc networks)协议(Z.Mo,H.Zhu,K.Makki,N.Pissinou.“MURU:A Multi-Hop RoutingProtocol for Urban Vehicular Ad Hoc Networks,”Proc.of the Third Annual InternationalConference on Mobile and Ubiquitous Systems,pp.1-8,July 17-21,2006.)。该协议使用EDD(Expected Disconnection Degree)来平衡最小跳数和提供稳定路由的能力。EDD指标用来估计在给定时间内路由中断的概率;在转发数据包时,将选择EDD小的路径进行转发。EDD的计算包括车辆间的地理距离、车辆位置以及车辆运动速度等。特别地,MURU提出了广播区(Broadcast Area)来限制路由请求包的广播范围,同时,只有在广播区的节点才能处理路由请求包;这虽然控制了广播包的传播,但也存在局部最优化的问题。另外,MURU还需要GPS和地图的支持,同时,MURU协议未考虑由于无线链路质量所导致的丢包问题。
现有的基于车辆运动信息路由技术存在如下问题。(1)采用单一类型路由判据,忽略网络拓扑距离,即路径跳数对路径稳定性的影响,导致所选路径跳数过多问题;由于车辆的高移动性,过多的跳数会导致不稳定的路径,从而引起路径失效。同时现有相关技术也忽略了无线链路质量对路径选择的影响。(2)由于车辆速度信息对选择路由非常重要,因此,车辆速度信息获取方法的有效性对路由性能具有很大影响。目前对于车辆速度信息的获取,现有技术一般通过以下三种方法进行采集。一是通过GPS定位技术,使用GPS设备从GPS报文中获取速度信息,该方法的问题在于GPS系统的精度以及延时所导致的速度信息采集不准确问题。二是在车辆内部加装传感器,通过获取到的信号对车速进行测量,该方法的问题在于需要对车辆进行改装,而且需要对不同的车辆进行速度标定。三是直接在车辆总线上进行被动侦听,通过车辆总线中的信息获取车速,该方法的问题在于,需要进入车辆总线系统,将对有些车辆内部总线系统产生电气特性方面的影响,而且车辆内部总线协议众多,比较难以实现对所有类型车辆速度信息的获取,通用性较差。(3)基于车辆运动信息路由技术属于单路径技术,即每次进行路由发现时仅发现一条路径;当路由发生错误时,需要重新进行路由发现,这会导致路由发现频率过高,因而使得数据传输延迟增大。
需要说明的是,在选择无线链路质量指标方面,有两个考虑。一是该指标能够反映信道质量,二是该指标的实时获取比较容易。由于在链路层进行传输时,如果发送失败,将会重传该帧,直到重传成功或者达到重传阈值为止;故重传的次数能够表征当前的链路质量。而且重传次数可以通过网卡的统计信息得到,因此,重传次数是较为理想的链路层指标。
现有一种采用重传次数指标作为一般无线网络路由判据的技术(G.Karbaschi,A.Fladenmuller.“A Link-Quality and Congestion-Aware Cross Layer Metric for Multi-Hop WirelessRouting,”Proc.of IEEE International Conference on Mobile Adhoc and Sensor Systems,pp.655-661,November 7-10,2005.),该技术中采用的重传次数指标是先求出相邻节点链路上的平均重传指标FTEAB,再将一条路径上的所有FTEXY相乘得到该路径上的重传次数指标FTESD;其中,一条链路上平均重传指标FTEAB是指节点A发送N个包给节点B时的平均FTEAB(i)。平均FTEAB(i)与RTS/CTS重传次数(如果采用RTS/CTS机制)和数据包重传次数相关。在该技术中所采用的重传次数指标FTESD将一条路径上的所有链路平均重传指标相乘,所得到的测度是一条路径上平均链路状况。还有一种采用重传次数指标作为一般无线网络路由判据的技术(D.S.J.De Couto,D.Aguayo,J.Bicket,R.Morris.“A High-Throughput Path Metric forMulti-Hop Wireless Routing,”Wireless Networks,2005,11(4):419-434.),该技术中采用路径上每条链路的ETX(Expected Transmission Count)之和作为路由判据,该判据测度的是路径上的链路质量之和。
但是在实际的数据包转发过程中,当一条路径上的某条链路质量差,将对该数据包的转发产生决定性的影响,故采用上述平均或求和的方式来度量一条路径的链路质量将过于宽松。因此,本发明将采用一条路径上所有链路重传次数中的最大值作为测度无线链路质量的指标。在获得一条路径上的最大重传次数时,需要考虑无线链路的不对称性,即路径S→D的链路质量与路径D→S的链路质量不同,因此,在路由发现过程中,需要获取两个方向的路径最大重传次数,并保存在路由表中。而由于路径S→D的最大重传次数在数据包在被节点D收到以后才能得到,而此时得到的最大重传次数是需要被节点S获取,因此,路径S→D方向的最大重传次数需要从节点D返回给节点S,同理,路径D→S方向的最大重传次数也需要从节点S返回给节点D。
发明内容
针对目前车辆间数据路由的问题,本发明提出一种综合考虑车辆运动状态、无线链路质量以及网络拓扑距离,以及多条路径的车辆间数据路由方法,以提高车辆网络路由的效率。
为此本发明的技术方案为:一种车辆间数据路由方法,包括以下步骤:
步骤1,当车辆网络中某源节点S需要向目的节点D发送数据时,源节点S在路由表中查找到达目的节点D的路径,若源节点S到目的节点D存在转发路径,转入步骤6,否则,源节点S广播路由请求包(RREQ包),开始路由发现过程,转入步骤2;
步骤2,目的节点D或者中间节点I收到RREQ包后,返回路由响应包(RREP包),并开始记录路径D→S的最大重传次数和最大移动速度,转入步骤3;
步骤3,当中间节点I收到RREP包后,向源节点S转发该RREP包,源节点S收到RREP包后,将发送重传次数包(RRETRAN包),将路径D→S的最大重传次数返回给目的节点D,并开始记录路径S→D的最大重传次数和最大移动速度,转入步骤4;
步骤4,当中间节点I收到RRETRAN包后,向目的节点D转发该RRETRAN包,目的节点D收到RRETRAN包后,将发送重传次数包RRETRAN包,将路径S→D的最大重传次数返回给源节点S,但此时不记录路径D→S的最大重传次数和最大移动速度,转入步骤5;
步骤5,源节点S收到目的节点D发送的RRETRAN包后,完成路由发现过程,转入步骤6;
步骤6,源节点S根据所发现路径的跳数、最大重传次数以及最大移动速度综合进行选择,选用优化路径转发数据包。
进一步的,所述步骤2中,中间节点I收到RREQ包后的处理过程包括以下步骤:
(1)当中间节点I收到RREQ包后,若已存在的从中间节点I到源节点S的反向路径链路数量小于N,则根据RREQ包中的首跳地址建立一条到源节点的反向路径I→S,该路径与已经存在的其他反向路径链路不相交;否则不建立反向路径。
(2)中间节点I查找路由表,判断是否存在到目的节点D的有效转发路径I→D;若存在,转入步骤3);否则,若不存在,而且该节点之前也没有转发过这个RREQ包的其他拷贝,则继续广播该RREQ包,否则丢弃该RREQ包。
(3)中间节点I产生一个RREP路由应答包,并沿着前面建立的反向路径I→S将其发送给源节点S。
进一步的,所述步骤2中,目的节点D收到RREQ包后的处理过程包括以下步骤:
(1)当目的节点D收到RREQ包时,若已存在的从目的节点D到源节点S的反向路径链路数量小于N,则根据RREQ包中的首跳地址建立一条到源节点的反向路径D→S,该路径与已经存在的其他反向路径链路不相交;否则不建立反向路径;
(2)产生一个RREP包,并将RREP包中的“路径最大重传次数”置为初始值0,将“路径最大移动速度”置为本车速度;
(3)当目的节点D重传RREP包时,每重传一次,将RREP包中的“路径最大重传次数”加1;
(4)RREP包经过首跳路径传递后,沿着已经建立的不相交反向路径向源节点S发送;
进一步的,所述步骤2中,中间节点I产生RREP包时,包括以下步骤:
在已经找到的转发路径中,将其中已经保存的“反向路径最大重传次数”和“路径最大移动速度”分别填充至RREP包中的“路径最大重传次数”和“路径最大移动速度”中,此处“反向路径最大重传次数”中所指的反向路径为D→I;
设置本车的“重传次数”为0,当节点I重传RREP包时,每重传一次,将“重传次数”加1,并对“重传次数”与RREP包中的“路径最大重传次数”进行比较,取其中较大者填充至RREP包中的“路径最大重传次数”中;
比较本车的移动速度和RREP包中的“路径最大移动速度”,取其中较大者填充至RREP包中的“路径最大移动速度”中。
进一步的,所述步骤3包括以下步骤:
(1)当除目的节点D以外的中间节点I或源节点S收到RREP包时,若已存在的从中间节点I或源节点S到目的节点D的转发路径链路数量小于N,则根据不同的RREP包首跳建立到目的节点D的转发路径,该路径与已经存在的其他转发路径链路不相交;否则不建立反向路径;
(2)比较本车的移动速度和RREP包中的“路径最大移动速度”,取其中较大者填充至RREP包中的“路径最大移动速度”中;
(3)将RREP包中的“路径最大重传次数”和“路径最大移动速度”分别写入1)中所建立的转发路径的“反向路径最大重传次数”和“路径最大移动速度”中,以便在其他路由发现过程中返回RREP包时使用;由于无线链路的方向性,因此,此时RREP包沿途记录的是D→I或D→S路径上各条链路的最大重传次数,这正是转发路径I→D或S→D的反向路径最大重传次数;而对于移动速度而言,不存在方向性,因此,此处的“路径最大移动速度”可以作为转发路径I→D或S→D和反向路径D→I或D→S的路径最大移动速度;
(4)若当前节点是中间节点I,则中间节点I检查本次路由发现过程中,路由表中是否存在尚未被用来发送其他RREP包的反向路径,如果存在,则选择一条来转发当前的RREP包,否则丢弃该RREP包;
(5)若当前节点是源节点S,则源节点S构建RRETRAN包,将该转发路径的“反向路径最大重传次数”(即该转发路径对应的反向路径D→S的最大重传次数)设置给RRETRAN包中的“捎带路径最大重传次数”,通过RRETRAN包将路径D→S的“最大重传次数”捎带给目的节点D;并设置ACK标志域为1,说明目的节点D收到该RRETRAN包后,应返回转发路径S→D的最大重传次数给源节点S。
进一步的,所述步骤3中,中间节点I转发RREP包时,包括如下步骤:
设置本车的“重传次数”为0,当节点I重传RREP包时,每重传一次,将“重传次数”加1,并比较“重传次数”与RREP包中的“路径最大重传次数”进行比较,取其中较大者填充至RREP包中的“路径最大重传次数”中;
进一步的,所述步骤3中,源节点S发送RRETRAN包时,包括如下步骤:
将RRETRAN包中的“路径最大重传次数”置为初始值0,将“路径最大移动速度”置为本车速度;
当源节点S重传RRETRAN包时,每重传一次,将“路径最大重传次数”加1。
进一步的,所述步骤4包括以下步骤:
(1)当除源节点S以外的中间节点I或目的节点D收到来自邻居节点的ACK标志为1的RRETRAN包时,将在自己的路由表中查找是否存在通过该邻居节点到源节点S的反向路径,即该反向路径的首跳为该邻居节点;如果不存在,说明该反向路径被忽略,因此建立该反向路径;比较本车的移动速度和该RRETRAN包中的“路径最大移动速度”,取其中较大者填充至RRETRAN包中的“路径最大移动速度”中。
(2)然后,将RRETRAN包中的“路径最大重传次数”和“路径最大移动速度”分别写入1)中所建立的反向路径的“反向路径最大重传次数”和“路径最大移动速度”中,以便在其他路由发现过程中返回RREP包时使用;此时RRETRAN包沿途记录的是S→I或S→D路径上各条链路的最大重传次数,这正是反向路径I→S或D→S的反向路径最大重传次数;此处的“路径最大移动速度”可以作为转发路径S→I或S→D和反向路径I→S或D→S的路径最大移动速度;
(3)当中间节点I收到ACK标志为1的RRETRAN包后,根据RRETRAN包中的路径末跳地址寻找转发路由,将该RRETRAN包向目的节点D转发;
(4)当目的节点D收到ACK标志为1的RRETRAN包后,将RRETRAN包中的“捎带路径最大重传次数”写入该反向路径的“转发路径最大重传次数”;并发送ACK标志为0的RRETRAN包给源节点S,以指示当源节点收到该包后,不需要对该包进行反馈;在新构建的RRETRAN包中,将该反向路径的“反向路径最大重传次数”(即该反向路径对应的转发路径S→D的最大重传次数)设置给RRETRAN包中的“捎带路径最大重传次数”,通过RRETRAN包将路径S→D的最大重传次数捎带给源节点S。
进一步的,所述步骤4中,中间节点I转发RRETRAN包时,包括如下步骤:
设置本车的“重传次数”为0,当节点I重传RRETRAN包时,每重传一次,将“重传次数”加1,并比较“重传次数”与RRETRAN包中的“路径最大重传次数”进行比较,取其中较大者填充至RRETRAN包中的“路径最大重传次数”中。
进一步的,所述步骤5包括如下步骤:
当除目的节点D以外的节点收到ACK标志为0的RRETRAN包时,如果是中间节点,则直接转发;如果是源节点,将RRETRAN包中的“路径最大重传次数”写入相应转发路径的“反向路径最大重传次数”中,并将“捎带路径最大重传次数”写入相应转发路径的“转发路径最大重传次数”中。
进一步的,所述步骤6包括如下步骤:
源节点S根据所发现路径的跳数、最大重传次数以及最大移动速度综合进行选择,选择具有最小综合判据值的路径作为转发路径,即,对于到达目的节点D的K条路径,选择满足条件min(α*MaxSpeedi/MAX_MAXSPEED(K)+β*MaxRetrani/MAX_MAXRETRAN(K)+(1-α-β)*HOPi/MAX_HOP(K))的路径来转发数据包;其中,MAX_MAXSPEED(K)、MAX_MAXRETRAN(K)和MAX_HOP(K)分别是K条路径中的最大移动速度的最大值、最大重传次数的最大值和最大跳数;α、β和1-α-β分别是移动速度、重传次数以及跳数所占权重;最大移动速度MaxSpeed指标是一条路径上的各节点的最大移动速度;路径上链路最大重传次数MaxRetran,是指一条路径上所有链路重传次数中的最大值;如果一条路径上的最大重传次数最小,说明该路径链路质量最好。
进一步的,所述步骤2、步骤3和步骤4中本车速度的获取包括:采用车载诊断技术(OBD,On-Board Diagnostics),利用车辆自带的通用诊断接口,通过多OBD协议转换器对车辆速度信息进行实时采集。
有益效果:
1、采用综合路径跳数、最大重传次数以及最大移动速度的路由判据,不仅利用了车辆运动信息,而且考虑了无线链路质量对数据传输的影响,同时避免了过多的路径跳数。
2、利用OBD技术获取车辆行驶信息,避免改动车辆电气线路,而且具有很好的准确性和很强的通用性。
3、采用多路径发现技术,在每次进行路由发现时,可以发现最多N条路径,当正在使用的路径发生错误时,则无需重新进行路由发现,而可以使用备用路径,以降低路由发现频率,减少数据传输延迟。
附图说明
图1为本发明实施例中所述车辆间数据路由方法流程示意图。
图2为本发明实施例中所述中间节点I收到RREQ包后的处理过程示意图。
图3为本发明实施例中所述目的节点D收到RREQ包后的处理过程示意图。
图4为本发明实施例中所述中间节点I产生RREP包的处理过程示意图。
图5为本发明实施例中所述节点收到RREP包的处理过程示意图。
图6为本发明实施例中所述源节点S发送RRETRAN包的处理过程示意图。
图7为本发明实施例中所述节点收到RRETRAN包的处理过程示意图。
图8为本发明实施例中所述节点收到RRETRAN包的处理过程示意图。
图9为本发明实施例中所述源节点S转发数据包的处理过程示意图。
具体实施方式
图1为本发明实施例中所述车辆间数据路由方法流程示意图,具体包括以下流程:
步骤101,当车辆网络中某源节点S需要向目的节点D发送数据时,源节点S在路由表中查找到达目的节点D的路径;
步骤102,若源节点S到目的节点D存在转发路径S→D,则转入步骤110,否则转入步骤103;
步骤103,源节点S广播路由请求包(RREQ包),开始路由发现过程;
步骤104,目的节点D或者中间节点I收到RREQ包后,返回路由响应包(RREP包),并开始记录路径D→S的最大重传次数和最大移动速度;
步骤105,当中间节点I收到RREP包后,向源节点S转发该RREP包,并记录路径D→S的最大重传次数和最大移动速度;
步骤106,源节点S收到RREP包后,发送带标记的重传次数包(RRETRAN包),将路径D→S的最大重传次数返回给目的节点D,并开始记录路径S→D的最大重传次数和最大移动速度;
步骤107,当中间节点I收到带标记的RRETRAN包后,向目的节点D转发该RRETRAN包,并记录路径S→D的最大重传次数和最大移动速度;
步骤108,目的节点D收到带标记的RRETRAN包后,发送不带标记的重传次数包RRETRAN包,将路径S→D的最大重传次数返回给源节点S;
步骤109,源节点S收到不带标记的RRETRAN包后,完成路由发现过程;
步骤110,源节点S根据所发现路径的跳数、最大重传次数以及最大移动速度综合进行选择,选用优化路径转发数据包。
图2为本发明实施例中所述中间节点I收到RREQ包后的处理过程示意图,具体包括以下流程:
步骤201,中间节点I计算已存在的从中间节点I到源节点S的反向路径数量ReversePathNum;
步骤202,判断ReversePathNum是否小于N,此处可以设置N=4,是则转入步骤203;否则转入步骤204;
步骤203,根据RREQ包中的首跳地址建立一条到源节点的反向路径I→S,该路径与已经存在的其他反向路径链路不相交;
步骤204,中间节点I查找路由表,判断是否存在到目的节点D的有效转发路径I→D;若存在,转入步骤208;若不存在,转入步骤205;
步骤205,判断该节点之前是否转发过该RREQ包的其他拷贝,若无,则转入步骤206;否则转入步骤207;
步骤206,继续广播该RREQ包,转入步骤209;
步骤207,丢弃该RREQ包,转入步骤209;
步骤208,中间节点I产生一个RREP路由应答包,并沿着前面建立的反向路径I→S将其发送给源节点S;
步骤209,处理完毕。
图3为本发明实施例中所述目的节点D收到RREQ包后的处理过程示意图,具体包括以下流程:
步骤301,目的节点D计算已存在的从目的节点D到源节点S的反向路径数量ReversePathNum;
步骤302,判断ReversePathNum是否小于N,此处可以设置N=4,是则转入步骤303;否则转入步骤304;
步骤303,根据RREQ包中的首跳地址建立一条到源节点的反向路径D→S,该路径与已经存在的其他反向路径链路不相交;
步骤304,产生一个RREP包,将RREP包中的“路径最大重传次数”置为初始值0,通过多OBD协议转换器获取本车速度,并将该值填充至RREP包中“路径最大移动速度”;
步骤305,当目的节点D重传RREP包时,每重传一次,将RREP包中的“路径最大重传次数”加1;
步骤306,发出RREP包,RREP包经过首跳路径传递后,沿着已经建立的不相交反向路径向源节点S发送。
图4为本发明实施例中所述中间节点I产生RREP包的处理过程示意图,具体包括以下流程:
步骤401,设置RREP包中的“路径最大重传次数”和“路径最大移动速度”;在已经找到的转发路径中,将其中已经保存的“反向路径最大重传次数”和“路径最大移动速度”分别填充至RREP包中的“路径最大重传次数”和“路径最大移动速度”中,此处“反向路径最大重传次数”中所指的反向路径为D→I;
步骤402,根据本车当前传输情况设置RREP包中的“路径最大重传次数”;设置本车的“重传次数”为0,当节点I重传RREP包时,每重传一次,将“重传次数”加1,并比较“重传次数”与RREP包中的“路径最大重传次数”,取其中较大者填充至RREP包中的“路径最大重传次数”中;
步骤403,根据本车当前行驶状态设置RREP包中的“路径最大移动速度”;通过多OBD协议转换器获取本车速度,并比较本车的移动速度和RREP包中的“路径最大移动速度”,取其中较大者填充至RREP包中的“路径最大移动速度”中。
图5为本发明实施例中所述除目的节点D以外的中间节点I或源节点S收到RREP包的处理过程示意图,具体包括以下流程:
步骤501,计算已存在的从本节点到目的节点D的转发路径数量ForwardPathNum;
步骤502,判断ForwardPathNum是否小于N,此处可以设置N=4,是则转入步骤503;否则转入步骤504;
步骤503,根据RREP包中的首跳地址建立一条到目的节点D的转发路径,该路径与已经存在的其他转发路径链路不相交;
步骤504,通过多OBD协议转换器获取本车速度,并比较本车的移动速度和RREP包中的“路径最大移动速度”,取其中较大者填充至RREP包中的“路径最大移动速度”中;
步骤505,将RREP包中的“路径最大重传次数”和“路径最大移动速度”分别写入步骤503中所建立的转发路径的“反向路径最大重传次数”和“路径最大移动速度”中,以便在其他路由发现过程中返回RREP包时使用;由于无线链路的方向性,因此,此时RREP包沿途记录的是D→I或D→S路径上各条链路的最大重传次数,这正是转发路径I→D或S→D的反向路径最大重传次数;而对于移动速度而言,不存在方向性,因此,此处的“路径最大移动速度”可以作为转发路径I→D或S→D和反向路径D→I或D→S的路径最大移动速度;
步骤506,判断当前节点是否为源节点S,是则转入步骤507,否则转入步骤508;
步骤507,当源节点S收到RREP包时,构建RRETRAN包,将该转发路径的“反向路径最大重传次数”(即该转发路径对应的反向路径D→S的最大重传次数)设置给RRETRAN包中的“捎带路径最大重传次数”,通过RRETRAN包将路径D→S的“最大重传次数”捎带给目的节点D;并设置RRETRAN包中的ACK标志域为1,说明目的节点D收到该RRETRAN包后,应返回转发路径S→D的最大重传次数给源节点S;转入步骤511;
步骤508,当中间节点I收到RREP包后,检查本次路由发现过程中,路由表中是否存在尚未被用来发送其他RREP包的反向路径,如果存在,转入步骤509,否则转入步骤510;
步骤509,选择一条尚未被用来发送其他RREP包的反向路径来转发当前的RREP包;设置本车的“重传次数”为0,当节点I重传RREP包时,每重传一次,将“重传次数”加1,并比较“重传次数”与RREP包中的“路径最大重传次数”进行比较,取其中较大者填充至RREP包中的“路径最大重传次数”中;转入步骤511;
步骤510,丢弃该RREP包,转入步骤511;
步骤511,处理完毕。
图6为本发明实施例中所述源节点S发送RRETRAN包的处理过程示意图,具体包括以下流程:
步骤601,将RRETRAN包中的“路径最大重传次数”置为初始值0,通过多OBD协议转换器获取本车速度,并将“路径最大移动速度”置为本车速度;
步骤602,当源节点S重传RRETRAN包时,每重传一次,将“路径最大重传次数”加1。
图7为本发明实施例中所述除源节点S以外的中间节点I或目的节点D节点收到来自邻居节点的ACK标志为1的RRETRAN包的处理过程示意图,具体包括以下流程:
步骤701,查找路由表中,判断是否存在通过该邻居节点到源节点S的反向路径,即该反向路径的首跳为该邻居节点;如果不存在,说明该反向路径被忽略,转入步骤702,否则转入步骤703;
步骤702,建立该被忽略的反向路径;
步骤703,通过多OBD协议转换器获取本车速度,并比较本车的移动速度和该RRETRAN包中的“路径最大移动速度”,取其中较大者填充至RRETRAN包中的“路径最大移动速度”中;
步骤704,将RRETRAN包中的“路径最大重传次数”和“路径最大移动速度”分别写入步骤702中所建立的反向路径的“反向路径最大重传次数”和“路径最大移动速度”中,以便在其他路由发现过程中返回RREP包时使用;此时RRETRAN包沿途记录的是S→I或S→D路径上各条链路的最大重传次数,这正是反向路径I→S或D→S的反向路径最大重传次数;此处的“路径最大移动速度”可以作为转发路径S→I或S→D和反向路径I→S或D→S的路径最大移动速度;
步骤705,判断当前节点是否为目的节点D,是则转入步骤706,否则转入步骤708;
步骤706,当目的节点D收到ACK标志为1的RRETRAN包后,将RRETRAN包中的“捎带路径最大重传次数”写入该反向路径的“转发路径最大重传次数”;
步骤707,目的节点D发送ACK标志为0的RRETRAN包给源节点S,以指示当源节点收到该包后,不需要对该包进行反馈;在新构建的RRETRAN包中,将该反向路径的“反向路径最大重传次数”(即该反向路径对应的转发路径S→D的最大重传次数)设置给RRETRAN包中的“捎带路径最大重传次数”,通过RRETRAN包将路径S→D的最大重传次数捎带给源节点S;转入步骤710;
步骤708,当中间节点I收到ACK标志为1的RRETRAN包后,根据RRETRAN包中的路径末跳地址寻找到达目的节点D的转发路由,将该RRETRAN包向目的节点D转发;
步骤709,在中间节点I转发RRETRAN包时,设置本车的“重传次数”为0,当节点I重传RRETRAN包时,每重传一次,将“重传次数”加1,并比较“重传次数”与RRETRAN包中的“路径最大重传次数”进行比较,取其中较大者填充至RRETRAN包中的“路径最大重传次数”中;
步骤710,处理完毕。
图8为本发明实施例中所述除目的节点D以外的节点收到ACK标志为0的RRETRAN包的处理过程示意图,具体包括以下流程:
步骤801,判断当前节点是否为源节点S,是则转入步骤802,否则转入步骤803;
步骤802,源节点S将RRETRAN包中“捎带路径最大重传次数”写入相应转发路径的“转发路径最大重传次数”中;转入步骤804;
步骤803,中间节点I直接向源节点转发该RRETRAN包;
步骤804,处理完毕。
图9为本发明实施例中所述当存在或者建立了源节点S到目的节点D的转发路径时,源节点S转发数据包的处理过程示意图,具体包括以下流程:
步骤901,源节点S遍历到目的节点D的K条转发路径,得到K条路径中的最大移动速度的最大值、最大重传次数的最大值和最大跳数:MAX_MAXSPEED(K)、MAX_MAXRETRAN(K)和MAX_HOP(K);
步骤902,对每条转发路径计算综合判据值α*MaxSpeedi/MAX_MAXSPEED(K)+β*MaxRetrani/MAX_MAXRETRAN(K)+(1-α-β)*HOPi/MAX_HOP(K),其中,α、β和1-α-β分别是移动速度、重传次数以及跳数所占权重,可以分别取0.4、0.3和0.3;最大移动速度MaxSpeed指标是一条路径上的节点的最大移动速度;路径上链路最大重传次数MaxRetran,是指一条路径上所有链路重传次数中的最大值;如果一条路径上的最大重传次数最小,说明该路径链路质量最好;
步骤903,选择具有最小综合判据值的路径作为转发路径,来转发数据包。
Claims (11)
1.一种车辆间数据路由方法,通过以下步骤实现:
步骤1:当车辆网络中源节点S需要向目的节点D发送数据时,源节点S在路由表中查找到达目的节点D的路径,若源节点S到目的节点D存在转发路径,转入步骤6,否则,源节点S广播路由请求RREQ包,开始路由发现过程,转入步骤2;
步骤2:目的节点D或者中间节点I收到RREQ包后,返回路由响应RREP包,并开始记录路径D→S的最大重传次数和最大移动速度,转入步骤3;
步骤3:当中间节点I收到路由响应RREP包后,向源节点S转发该路由响应RREP包,源节点S收到路由响应RREP包后,将发送带标记的重传次数RRETRAN包,将路径D→S的最大重传次数返回给目的节点D,并开始记录路径S→D的最大重传次数和最大移动速度,转入步骤4;
步骤4:当中间节点I收到带标记的RRETRAN包后,向目的节点D转发带标记的RRETRAN包,目的节点D收到带标记的RRETRAN包后,将发送不带表标记的重传次数RRETRAN包,将路径S→D的最大重传次数返回给源节点S,但此时不记录路径D→S的最大重传次数,转入步骤5;
步骤5:源节点S收到目的节点D发送的不带标记RRETRAN包后,完成路由发现过程,转入步骤6;
步骤6:源节点S根据所发现路径的跳数、最大重传次数以及最大移动速度综合进行选择,选用优化路径转发数据包;
所述源节点S选用优化路径转发数据包时包括以下步骤:源节点S根据所发现路径的跳数、最大重传次数以及最大移动速度综合进行选择,选择具有最小综合判据值的路径作为转发路径,即,对于到达目的节点D的K条路径,选择满足条件min(α*MaxSpeedi/MAX_MAXSPEED(K)+β*MaxRetrani/MAX_MAXRETRAN(K)+(1-α-β)*HOPi/MAX_HOP(K))的路径来转发数据包;其中,MAX_MAXSPEED(K)、MAX_MAXRETRAN(K)和MAX_HOP(K)分别是K条路径中的最大移动速度的最大值、最大重传次数的最大值和最大跳数;α、β和1-α-β分别是移动速度、重传次数以及跳数所占权重;HOPi指标是第i条路径的跳数;最大移动速度MaxSpeedi指标是第i条路径上的各节点的最大移动速度;路径上链路最大重传次数MaxRetrani,是指第i条路径上所有链路重传次数中的最大值;如果一条路径上的最大重传次数最小,说明该路径链路质量最好。
2.根据权利要求1所述的车辆间数据路由方法,其特征在于所述中间节点I收到路由请求RREQ包后的处理过程包括以下步骤:
(1)当中间节点I收到路由请求RREQ包后,若已存在的从中间节点I到源节点S的反向路径链路数量小于N,则根据路由请求RREQ包中的首跳地址建立一条到源节点的反向路径I→S,该反向路径I→S与已经存在的其他反向路径链路不相交;否则不建立反向路径;
(2)中间节点I查找路由表,判断是否存在到目的节点D的有效转发路径I→D;若存在,转入步骤(3);否则,若不存在,而且中间节点I之前也没有转发过这个路由请求RREQ包的其他拷贝,则继续广播该路由请求RREQ包,否则丢弃该路由请求RREQ包;
(3)中间节点I产生一个路由响应RREP包,并沿着前面建立的反向路径I→S将其发送给源节点S。
3.根据权利要求1所述的车辆间数据路由方法,其特征在于所述目的节点D收到路由请求RREQ包后的处理过程包括以下步骤:(1)当目的节点D收到路由请求RREQ包时,若已存在的从目的节点D到源节点S的反向路径链路数量小于N,则根据路由请求RREQ包中的首跳地址建立一条到源节点的反向路径D→S,该反向路径D→S与已经存在的其他反向路径链路不相交;否则不建立反向路径;
(2)产生一个路由响应RREP包,并将路由响应RREP包中的“路径最大重传次数”置为初始值0,将“路径最大移动速度”置为本车速度;
(3)当目的节点D重传路由响应RREP包时,每重传一次,将路由响应RREP包中的“路径最大重传次数”加1;
(4)路由响应RREP包经过首跳路径传递后,沿着已经建立的不相交反向路径向源节点S发送。
4.根据权利要求2所述的车辆间数据路由方法,其特征在于所述中间节点I产生路由响应RREP包时包括以下步骤:
将已经找到的转发路径中已经保存的“反向路径最大重传次数”和“路径最大移动速度”分别填充至路由响应RREP包中的“路径最大重传次数”和“路径最大移动速度”中,此处“反向路径最大重传次数”中所指的反向路径为D→I;
设置本车的“重传次数”为0,当中间节点I重传路由响应RREP包时,每重传一次,将“重传次数”加1,并对“重传次数”与路由响应RREP包中的“路径最大重传次数”进行比较,取其中较大者填充至路由响应RREP包中的“路径最大重传次数”中;
比较本车速度和路由响应RREP包中的“路径最大移动速度”,取其中较大者填充至路由响应RREP包中的“路径最大移动速度”中。
5.根据权利要求1所述的车辆间数据路由方法,其特征在于除目的节点D以外的中间节点I或源节点S收到路由响应RREP包时包括以下步骤:
(1)当除目的节点D以外的中间节点I或源节点S收到路由响应RREP包时,若已存在的从中间节点I或源节点S到目的节点D的转发路径链路数量小于N,则根据不同的路由响应RREP包首跳地址建立到目的节点D的转发路径,所建立的到目的节点D的转发路径与已经存在的其他转发路径链路不相交;否则不建立转发路径;
(2)比较本车速度和路由响应RREP包中的“路径最大移动速度”,取其中较大者填充至路由响应RREP包中的“路径最大移动速度”中;
(3)将路由响应RREP包中的“路径最大重传次数”和“路径最大移动速度”分别写入步骤(1)中所建立的转发路径的“反向路径最大重传次数”和“路径最大移动速度”中,以便在其他路由发现过程中返回路由响应RREP包时使用;由于无线链路的方向性,因此,此时路由响应RREP包沿途记录的是D→I或D→S路径上各条链路的最大重传次数,这正是转发路径I→D或S→D的反向路径最大重传次数;而对于速度而言,不存在方向性,因此,此处的“路径最大移动速度”能够作为转发路径I→D或S→D和反向路径D→I或D→S的路径最大移动速度;
(4)若当前节点是中间节点I,则中间节点I检查本次路由发现过程中,路由表中是否存在尚未被用来发送其他路由响应RREP包的反向路径,如果存在,则选择一条来转发当前的路由响应RREP包,否则丢弃该路由响应RREP包;
(5)若当前节点是源节点S,则源节点S构建带标记的RRETRAN包,将转发路径S→D的“反向路径最大重传次数”设置给带标记的RRETRAN包中的“捎带路径最大重传次数”,通过带标记的RRETRAN包将路径D→S的“最大重传次数”捎带给目的节点D;并设置ACK标志域为1,说明目的节点D收到带标记的RRETRAN包后,应返回转发路径S→D的最大重传次数给源节点S。
6.根据权利要求5所述的车辆间数据路由方法,其特征在于所述中间节点I转发路由响应RREP包时包括以下步骤:设置本车的“重传次数”为0,当中间节点I重传路由响应RREP包时,每重传一次,将“重传次数”加1,并比较“重传次数”与路由响应RREP包中的“路径最大重传次数”,取其中较大者填充至路由响应RREP包中的“路径最大重传次数”中。
7.根据权利要求5所述的车辆间数据路由方法,其特征在于所述源节点S发送带标记的RRETRAN包时包括以下步骤:
将带标记的RRETRAN包中的“路径最大重传次数”置为初始值0,将“路径最大移动速度”置为本车速度;当源节点S重传带标记的RRETRAN包时,每重传一次,将“路径最大重传次数”加1。
8.根据权利要求1所述的车辆间数据路由方法,其特征在于除源节点S以外的中间节点I或目的节点D收到始发自源节点S的带标记的RRETRAN包时还包括以下步骤:
(1)当除源节点S以外的中间节点I或目的节点D收到来自邻居节点的ACK标志为1的带标记的RRETRAN包时,将在自己的路由表中查找是否存在通过该邻居节点到源节点S的反向路径,其首跳为该邻居节点;如果不存在,说明通过该邻居节点到源节点S的反向路径被忽略,因此建立通过该邻居节点到源节点S的反向路径;比较本车速度和带标记的RRETRAN包中的“路径最大移动速度”,取其中较大者填充至带标记的RRETRAN包中的“路径最大移动速度”中;
(2)然后,将带标记的RRETRAN包中的“路径最大重传次数”和“路径最大移动速度”分别写入步骤(1)中所建立的反向路径的“反向路径最大重传次数”和“路径最大移动速度”中,以便在其他路由发现过程中返回路由响应RREP包时使用;此时带标记的RRETRAN包沿途记录的是S→I或S→D路径上各条链路的最大重传次数,这正是反向路径I→S或D→S的反向路径最大重传次数;此处的“路径最大移动速度”能够作为转发路径S→I或S→D和反向路径I→S或D→S的路径最大移动速度;
(3)当中间节点I收到ACK标志为1的带标记的RRETRAN包后,根据带标记的RRETRAN包中的路径末跳地址寻找转发路由,将带标记的RRETRAN包向目的节点D转发;
(4)当目的节点D收到ACK标志为1的带标记的RRETRAN包后,将带标记的RRETRAN包中的“捎带路径最大重传次数”写入反向路径D→S的“转发路径最大重传次数”;并发送ACK标志为0的不带标记的RRETRAN包给源节点S,以指示当源节点收到不带标记的RRETRAN包后,不需要对不带标记的RRETRAN包进行反馈;在新构建的不带标记的RRETRAN包中,将反向路径D→S的“反向路径最大重传次数”设置给不带标记的RRETRAN包中的“捎带路径最大重传次数”,通过不带标记的RRETRAN包将路径S→D的最大重传次数捎带给源节点S。
9.根据权利要求8所述的车辆间数据路由方法,其特征在于所述中间节点I转发不带标记的RRETRAN包时包括以下步骤:设置本车的“重传次数”为0,当中间节点I重传不带标记的RRETRAN包时,每重传一次,将“重传次数”加1,并比较“重传次数”与不带标记的RRETRAN包中的“路径最大重传次数”,取其中较大者填充至不带标记的RRETRAN包中的“路径最大重传次数”中。
10.根据权利要求1所述的车辆间数据路由方法,其特征在于除目的节点D以外的节点收到目的节点D始发的不带标记的RRETRAN包时包括以下步骤:
当除目的节点D以外的节点收到ACK标志为0的不带标记的RRETRAN包时,如果是中间节点I,则直接转发;如果是源节点S,将不带标记的RRETRAN包中的“路径最大重传次数”写入相应转发路径的“反向路径最大重传次数”中,并将“捎带路径最大重传次数”写入相应转发路径的“转发路径最大重传次数”中。
11.根据权利要求3或4或5或7或8所述的车辆间数据路由方法,其特征在于所述本车速度的获取方法是:采用车载诊断OBD技术,利用车辆自带的通用诊断接口,通过多OBD协议转换器对车辆速度信息进行实时采集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910272673 CN101877900B (zh) | 2009-11-06 | 2009-11-06 | 一种车辆间数据路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910272673 CN101877900B (zh) | 2009-11-06 | 2009-11-06 | 一种车辆间数据路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101877900A CN101877900A (zh) | 2010-11-03 |
CN101877900B true CN101877900B (zh) | 2013-03-20 |
Family
ID=43020336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910272673 Expired - Fee Related CN101877900B (zh) | 2009-11-06 | 2009-11-06 | 一种车辆间数据路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101877900B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006625B (zh) * | 2010-11-10 | 2013-07-17 | 清华大学 | 基于前向纠错的车载自组网可靠广播协议的系统及方法 |
CN104754613B (zh) * | 2013-12-30 | 2019-10-22 | 北京大唐高鸿软件技术有限公司 | 基于车载短距离通信网的优化aodv协议的方法 |
CN104135436B (zh) * | 2014-08-20 | 2018-03-16 | 重庆邮电大学 | 一种车辆自组织网络路由选择方法 |
CN104683232B (zh) * | 2015-03-27 | 2017-08-04 | 江苏大学 | 一种vanet中可提供长连接服务的路由选择方法 |
WO2016172983A1 (zh) | 2015-04-30 | 2016-11-03 | 华为技术有限公司 | 一种路径选择方法、设备及系统 |
CN107105413A (zh) * | 2016-02-19 | 2017-08-29 | 苏州溥诺斯智能科技有限公司 | 一种基于可靠消息广播机制自组织网络的港口车辆智能网联系统 |
CN106878167B (zh) * | 2017-03-13 | 2020-05-26 | 中山大学 | 一种软件自定义车载网络的选路方法 |
CN107371212B (zh) * | 2017-07-24 | 2020-07-14 | 海信集团有限公司 | 一种发送数据的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388831A (zh) * | 2007-09-14 | 2009-03-18 | 华为技术有限公司 | 数据传输方法、节点及网关 |
-
2009
- 2009-11-06 CN CN 200910272673 patent/CN101877900B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388831A (zh) * | 2007-09-14 | 2009-03-18 | 华为技术有限公司 | 数据传输方法、节点及网关 |
Non-Patent Citations (2)
Title |
---|
Yufeng Chen, Zhengtao Xiang, Wei Jian, and Weirong Jiang."An Improved AOMDV Routing Protocol for V2V Communication".《Intelligent Vehicles Symposium,2009 IEEE》.2009, |
YuHua Yuan, HuiMin Chen, and Min Jia."An Optimized Ad-hoc On-demand Multipath Distance Vector(AOMDV) Routing Protocol".《2005 Asia-Pacific Conference on Communications》.2005, |
Also Published As
Publication number | Publication date |
---|---|
CN101877900A (zh) | 2010-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101877900B (zh) | 一种车辆间数据路由方法 | |
Yang et al. | ACAR: Adaptive connectivity aware routing protocol for vehicular ad hoc networks | |
Kihl et al. | Reliable geographical multicast routing in vehicular ad-hoc networks | |
US8072906B2 (en) | Signal propagation delay routing | |
US7616575B2 (en) | System and method for link quality routing using a weighted cumulative expected transmission time metric | |
Ghafoor et al. | Intelligent beaconless geographical forwarding for urban vehicular environments | |
EP2232772A1 (en) | Method for characterizing a communication link in a communication network | |
Wu et al. | Geographic load balancing routing in hybrid vehicular ad hoc networks | |
Chen et al. | An adaptive cross-layer multi-path routing protocol for urban VANET | |
CN104023371A (zh) | 一种车载自组织网络的多径路由方法和系统 | |
King et al. | Dead-reckoning for position-based forwarding on highways | |
EffatParvar et al. | Load balancing and route stability in mobile ad hoc networks base on AODV protocol | |
JP5866111B2 (ja) | アドホックネットワークにおける動的ルーティング方法、及びそのためのネットワーク装置 | |
CN101969322B (zh) | 无线传感器网络多时间尺度链路估计方法 | |
Wang et al. | Delay-aware relay selection with heterogeneous communication range in VANETs | |
Shafi et al. | A cross layer design for efficient multimedia message dissemination with an adaptive relay nodes selection in VANETs | |
Sheu et al. | A distributed routing protocol and handover schemes in hybrid vehicular ad hoc networks | |
Ghafoor et al. | A novel delay-and reliability-aware inter-vehicle routing protocol. | |
Li et al. | Efficient mobile networking for tactical radios | |
Sarasvathi et al. | Coefficient of restitution based cross layer interference aware routing protocol in wireless mesh networks | |
Silva et al. | A reduced beacon routing protocol for inter-vehicle communications | |
Kasana et al. | Multimetric next hop vehicle selection for geocasting in vehicular ad-hoc networks | |
Hammouche et al. | Cross-layer greedy forwarding algorithm for VANET | |
Singh | Path reliability of multi path routing in MANET | |
Rezende et al. | Enhancing path stability towards the provision of multimedia support in 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 | ||
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: 20130320 Termination date: 20151106 |
|
EXPY | Termination of patent right or utility model |