发明内容
鉴于上述原因,本发明的目的在于提供一种基于车载短距离通信网的优化AODV协议的方法,该方法充分利用了路侧节点接入网络的优势,以及节点定期发送心跳信息的特性,可有效减少通信双方节点在路由发现、建立及维护过程中所需发送的路由请求帧RREQ及路由消息帧HELLO的数量,进而可减小系统开销,提高V2X网络性能。
为实现上述目的,本发明采用以下技术方案:
基于车载短距离通信网的优化AODV协议的方法,节点之间定时发送包括车辆位置、状态、IP地址等信息的心跳信息,更新维护包括周围节点相关信息的环境信息对列,其特征在于,该方法为:
源节点欲与目的节点通信,源节点查找自身维护的环境信息队列,判断环境信息队列中是否存在目的节点,若存在,则直接向目的节点单播路由请求帧RREQ;若不存在,源节点向其所属的路侧节点单播路由请求帧RREQ,由路侧节点负责查找目的节点,如果路侧节点找到目的节点,就向源节点发送路由应答帧RREP,如果路侧节点没有找到目的节点,源节点就向周围节点广播路由请求帧RREQ,以查找目的节点。
进一步的,
节点将收到的相邻节点发送的心跳信息转换为路由活跃帧HELLO用于维护路由。
所述路侧节点查找目的节点的方法是:
所述路侧节点将所述路由请求帧RREQ发送至与所述路侧节点相连的核心网路由器;
如果目的节点是车载节点,该核心网路由器查找该车载节点所属的目的路侧节点,然后将所述路由请求帧RREQ转发给该目的路侧节点,该目的路侧节点将所述路由请求帧RREQ单播至目的节点,若一定时间内没有收到目的节点的路由应答帧RREP,该目的路侧节点就在其覆盖范围内广播所述路由请求帧RREQ;
目的节点收到所述路由请求帧RREQ后,向该目的路侧节点单播路由应答帧RREP,该目的路侧节点将该路由应答帧RREP转发至源节点;
如果目的节点不是车载节点,路侧节点就直接将路由请求帧RREQ转发给路侧节点所在网络的路由器,由路由器进行转发。
所述源节点向周围节点广播的路由请求帧RREQ,相邻节点收到该路由请求帧RREQ后,查找自身维护的环境信息队列是否存在目的节点的相关信息,若存在,将找到的目的节点的序列号与该路由请求帧RREQ的序列号相比较,若前者大于等于后者,该相邻节点向源节点发送路由应答帧RREP,否则,相邻节点依据行车方向和归属路侧节点判断是否要将该路由请求帧RREQ进行转发。
所述相邻节点依据行车方向和归属路侧节点判断是否转发路由请求帧RREQ的方法是:
所述相邻节点依据环境信息队列中保存的源节点的信息,当所述相邻节点与源节点同属一个路侧节点,且二者行车方向相同时,所述相邻节点将所述路由请求帧RREQ转发;否则,不转发。
所述相邻节点将自身IP地址的网络号与源节点IP地址的网络号相比较,若不同说明二者分属不同的路侧节点;或者,所述相邻节点将自身登记的路侧节点代码同所述路由请求帧RREQ中源节点注册的路侧节点代码相比较,若不同说明二者分属不同的路侧节点。
目的节点发送的路由应答帧RREP,沿着路由请求帧RREQ的传播方向单播反向传输至源节点,所经路径上的中间节点收到该路由应答帧RREP后,建立从目的节点到源节点的前向路由,当该路由应答帧RREP到达源节点时,中间节点更新各自指向目的节点的路由信息。
当源节点通过相邻车载节点经路侧节点找到目的节点而建立路由后,源节点通过所述心跳信息监测是否接入路侧节点,一旦接入路侧节点,就通过该路侧节点查找目的节点,以建立由源节点、路侧节点、目的路侧节点及目的节点组成的路由,同时,释放掉经该相邻车载节点建立的路由。
本发明的优点在于:
本发明的方法充分利用了路侧节点接入网络的优势,以及节点定期发送心跳信息的特性,优化了AODV协议,有效减少了通信双方节点在路由发现、建立及维护过程中所需发送的路由请求帧RREQ及路由消息帧HELLO的数量,进而减小了系统开销,提高了V2X网络性能。
具体实施方式
以下结合附图和实施例对本发明作进一步详细的说明。
V2X网络中,各个节点定期向周围的节点广播包含车辆位置、状态、IP地址等自身状态信息的心跳信息,各节点同时接收周围其他节点发送的心跳信息,依据收到的心跳信息,更新维护包括周围节点相关信息的环境信息对列。
本发明公开的优化AODV协议的方法是:源节点欲与目的节点通信,源节点查找自身维护的环境信息队列,判断环境信息队列中是否存在目的节点,如果存在,则直接向目的节点单播路由请求帧RREQ;如果不存在,源节点向其所属的路侧节点单播路由请求帧RREQ,由路侧节点负责查找目的节点,如果路侧节点找到目的节点,就向源节点发送路由应答帧RREP,如果路侧节点没有找到目的节点,源节点就向周围节点广播路由请求帧RREQ,以查找目的节点;
其中,路侧节点查找目的节点的方法是:源节点向路侧节点发送路由请求帧RREQ,路侧节点将路由请求帧RREQ发送至与路侧节点相连的核心网路由器;
如果目的节点是车载节点,核心网路由器查找该车载节点所属的目的路侧节点,然后将路由请求帧RREQ转发给目的路侧节点,目的路侧节点将该路由请求帧RREQ单播至目的节点,若一定时间内没有收到目的节点的路由应答帧RREP,目的路侧节点就在其覆盖范围内广播路由请求帧RREQ;目的节点收到该路由请求帧RREQ后,向目的路侧节点单播路由应答帧RREP,目的路侧节点收到该路由应答帧RREP后,将该路由应答帧RREP转发至源节点,源节点收到该路由应答帧RREP后与目的节点建立通信链路。
如果目的节点不是车载节点,路侧节点就直接将路由请求帧RREQ转发给路侧节点所在网络的路由器,由路由器进行转发;
目的节点不是车载节点,主要是车载节点欲访问互联网服务器,由于车载节点的IP地址是变化的,因此需要先通过路侧节点进行地址映射,即将动态IP地址映射成固定IP地址,才能保持同互联网服务器的连续通信,车载节点发出的互联网访问请求由路侧节点核心网的路由器发起的,再将请求转发给核心网的上级路由器实现的。
图2是本发明的优化AODV协议的方法的具体流程图。如图所示,本发明的优化AODV协议的方法,具体步骤是:
S10:源节点与目的节点欲建立通信链路进行通信;
S11:源节点查找自身维护的环境信息队列,判断环境信息队列中是否存在目的节点的相关信息;若存在,执行步骤S21,否则,执行步骤12;
S12:源节点向其所属的路侧节点发送路由请求帧RREQ;
源节点向路侧节点发送的路由请求帧RREQ,其数据类型设为“I”,序列号及ID字段均加一,并将源节点IP地址、序列号,目的节点IP地址、序列号,添加到路由请求帧RREQ中。
S13:一定时间内,源节点收到路侧节点的接入应答帧,执行步骤S14;没有收到,执行步骤S23;
S14:路侧节点将路由请求帧RREQ发送至与所有路侧节点连接的核心网路由器;
S15:核心网路由器收到该路由请求帧RREQ,判断目的节点是否为车载节点,若是,执行步骤S16,否则执行步骤S50;
S16:核心网路由器查找目的节点所属的目的路侧节点,并将路由请求帧RREQ发送至该目的路侧节点;
S17:目的路侧节点将路由请求帧RREQ单播至其覆盖范围内的所有车载节点;
S18:一定时间内,目的路侧节点收到目的节点的路由应答帧RREP,执行步骤S19;没有收到,执行步骤S26;
目的节点收到路由请求帧RREQ后,将序列号加一,并将源节点IP地址、序列号,目的节点IP地址、序列号,添加到路由应答帧RREP中。
S19:目的路侧节点将路由应答帧RREP转发至源节点,跳转至步骤S30;
目的路侧节点转发路由应答帧RREP时,需要建立隧道,这是因为两个路侧节点是通过核心网建立连接的,隧道可以将RREP包封到IP包中,通过在两个路侧节点之间建立一个通过IP直接连接的隧道,以实现RREP包的透明传输。
S21:源节点向目的节点单播路由请求帧RREQ;
源节点向目的节点直接单播的路由请求帧RREQ,其数据类型设为“D”,序列号及ID字段均加一,并将源节点IP地址、序列号,目的节点IP地址、序列号,添加到路由请求帧RREQ中
路由请求帧RREQ是目的节点的序列号加1,路由应答帧RREP是源节点序列号加1。
S22:一定时间内,源节点收到目的节点的路由应答帧RREP,执行步骤S30;没有收到,跳转至步骤S12;
S23:源节点向周围节点广播路由请求帧RREQ;
源节点向周围节点广播的路由请求帧RREQ,其数据类型设为“V”,序列号及ID字段均加一,并将源节点IP地址、序列号,目的节点IP地址、序列号,添加到路由请求帧RREQ中。
由于路由请求帧RREQ可能存在几种不同的转发路径,将源车-周围车路径的数据包类型设为V,车-路侧节点的数据包类型设为I,源车-目的车的数据包类型设为D,以方便后续协议处理。
S24:一定时间内,源节点收到目的节点的路由应答帧RREP,执行步骤S30;否则,执行步骤S25;
S25:一定时间内,源节点收到了路侧节点的接入应答帧,执行步骤S14;否则重复执行步骤S23;
S50:核心网路由器直接将该路由请求帧RREQ转核心网上级路由器,本方法结束。
S26:目的路侧节点向其覆盖范围内的节点广播路由请求帧RREQ;
S27:一定时间内,目的路侧节点收到路由应答帧RREP,执行步骤S19;否则,重复执行步骤S26。
S30:源节点与目的节点建立通信链路。
当源节点在自身维护的环境信息队列中没有找到目的节点,而且也没有可接入的路侧节点时,就向周围节点广播路由请求帧RREQ(上述步骤S23的情况),就通过车车中继方式接入路侧节点或者目的节点,具体地说,
源节点向周围节点广播的路由请求帧RREQ,其数据类型为“V”,相邻节点收到该路由请求帧RREQ后,查找自身维护的环境信息队列是否存在目的节点的相关信息,若存在,将找到的目的节点的序列号与收到的RREQ中目的节点的序列号相比较,若前者大于等于后者,说明该条路由有效,该相邻节点向源节点发送路由应答帧RREP,若前者小于后者,或是相邻节点没有找到目的节点的信息,就判断是否要将该路由请求帧RREQ进行转发;
相邻节点依据环境信息队列中保存的源节点的信息,当相邻节点与源节点同属一个路侧节点,且二者行车方向相同时,相邻节点将该路由请求帧RREQ的跳数加一,然后转发;否则,不转发。具体的说,相邻节点将自身IP地址的网络号与源节点IP地址的网络号相比较,若不同说明二者分属不同的路侧节点,不转发RREQ,第二种是,相邻节点将自身登记的路侧节点代码同路由请求帧RREQ中源节点注册的路侧节点代码相比较,若不同说明二者分属不同的路侧节点,不转发RREQ。
中间节点或是路侧节点向源节点转发路由应答帧RREP后,需要建立反向路由,建立过程是:
目的节点收到路由请求帧RREQ后,将该路由请求帧RREQ的中的目的节点序列号加一,生成路由应答帧RREP,该路由应答帧RREP沿着反向路由(即路由请求帧RREQ的传播方向)进行单播发送,所经路径上的中间节点收到该路由应答帧RREP后,建立从目的节点到源节点的前向路由,当路由应答帧RREP到达源节点时,中间节点更新各自指向目的节点的路由信息;
当已建路由是通过相邻的车载节点经路侧节点找到的目的节点时,源节点通过定时发送的心跳信息监测是否接入路侧节点,一旦接入路侧节点,就通过该路侧节点查找目的节点,以建立由源节点、路侧节点、目的路侧节点及目的节点组成的路由,同时,通过发送路由错误信息帧RERR以释放掉由源节点、相邻车载节点、路侧节点、目的路侧节点及目的节点建立维护的路由。
图3是本发明的优化AODV协议的路由维护流程图,图4是路由活跃帧HELLO的消息格式示意图。如图所示,源节点到目的节点的路由建立成功后,需要对该路由进行维护,维护方法是:
S40:节点置HELLO_INTERVAL=心跳信息发送周期,向相邻节点发送心跳信息;
S41:相邻节点接收到心跳信息,将该心跳信息转换成HELLO帧,进行路由维护;
路由活跃帧HELLO(简称HELLO帧)其实是TTL=1的路由应答帧RREP,其用于监测活跃路径上相邻节点的链接状况,当节点在一定时间内没有收到相邻节点的HELLO帧时,节点认为其与该相邻节点的链路断开。
S42:节点在DELETE_PERIOD的时间内没有收到相邻节点的HELLO帧,则认为该链路已失效;
其中,HELLO_INTERVAL及DELETE_PERIOD均为系统设置的参数,每经过HELLO_INTERVAL毫秒,节点检查它在过去的HELLO_INTERVAL是否发出了一个广播。如果还没有,它可能播出一个TTL=1的RREP信息,即Hello帧。
S43:节点向相邻节点发起一次指向该相邻节点的局部修复;
局部修复过程与路由建立过程相同,区别在于局部修复仅针对断开的节点,不需要重新建立整个路由链路。
S44:路由修复超时,节点向源节点和目的节点发送路由错误帧RERR;
S45:路由错误帧RERR的传播过程中,途径各中间节点删除该失效路径上相应的路由信息。
源节点收到路由错误帧RERR后,如果还需要与目的节点通信,就需要按照图2所示流程图重建路由,与此同时,中间节点在收到发送到目的节点的数据包时,如果发现目的节点的路由入口已失效,则缓存该数据包,重建路由后,再将该数据包转发到目的节点。
本发明的基于车载短距离通信网的优化AODV协议的方法,利用了V2X网络中不同节点的差异性,即路侧节点较车载节点在接入网络方面具有显著优势,通过路侧节点查找目的节点,有效减少了广播路由请求帧的数量;同时,利用节点之间定时发送的心跳信息进行路由维护,有效减少了广播路由活跃帧的数量;本发明充分利用了V2X网络的特性,减小了系统开销,提高了V2X网络性能。
以上所述是本发明的较佳实施例及其所运用的技术原理,对于本领域的技术人员来说,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案基础上的等效变换、简单替换等显而易见的改变,均属于本发明保护范围之内。