一种可靠的智能车联网路由实现方法与流程

文档序号:12890516阅读:325来源:国知局
一种可靠的智能车联网路由实现方法与流程

本发明涉及一种路由实现方法,尤其涉及的是一种可靠的智能车联网路由实现方法。



背景技术:

车载网是建立在车辆之上且能提供本地服务的一种服务模式。近年来,很多研究工作致力于车载网,以便使车辆驾驶人能够快速获取网络服务。随着网络技术的发展,车载网会成为未来提供服务的一种模式。

目前,车载网的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低车载网提供服务的延迟和代价成为近年来研究的热点问题。



技术实现要素:

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种可靠的智能车联网路由实现方法。本发明通过单播方式来实现车联网的数据传输,从而降低了车联网提供数据服务的延迟和代价,从而有效提高网络服务性能。

技术方案:本发明公开了一种可靠的智能车联网路由实现方法,所述车联网包括接入路由器,基站和车辆节点;车辆节点包含可预测车辆节点和随机车辆节点,可预测车辆节点的行车路线预先设定,例如公交车,随机车辆节点的行车路线没有预先设定;接入路由器与互联网相连,基站与接入路由器相连;所有道路的交叉路口都设有基站,位于两个基站的之间的道路称为路段,一个基站能够于一个以上的路段;如果行使在一个路段上的车辆节点通过单跳转发或者多跳转发能够与该路段上的一个基站进行通信,则该车辆节点与基站的关系表示为连通关系;如果行使在一个路段上的车辆节点通过单跳转发或者多跳转发无法与该路段上的一个基站进行通信,则该车辆节点与基站的关系表示为非连通关系;一个接入路由器,与该接入路由器连接的基站以及与这些基站具有连通关系的车辆节点构成一个域;

车辆节点通过全局地址和本地地址进行通信;全局地址由路由前缀、基站id、节点id和本地标识构成;路由前缀唯一标识一个域,基站id唯一标识一个基站,节点id唯一标识一个车辆节点,本地标识用于标识一个地址是全局地址还是本地地址,全局地址的本地标识为1,本地地址的本地标识为0;接入路由器的全局地址的基站id和节点id为0,基站id的全局地址的节点id为0;本地地址由地理坐标、基站id、节点id和本地标识构成;地理坐标为车辆节点或者基站的地理坐标;基站id唯一标识一个基站;节点id唯一标识一个车辆节点;本地地址的本地标识为0;

车辆节点向官方注册时获取车牌号,同时被分配一个家乡地址;如果一个车辆节点的家乡地址的路由前缀与一个接入路由器的路由前缀相同,则该接入路由器称为该车辆节点的家乡路由器;如果一个车辆节点的家乡地址的路由前缀和基站id与一个基站全局地址的路由前缀和基站id相同,则该基站称为该车辆节点的家乡基站;

车辆节点的节点id为其车牌号;如果一个接入路由器通过自己的接口y与基站相连,那么该基站的基站id为y;

基站保存一个车辆表,该车辆表的表名称为该基站的本地地址,一个车辆表项包括本地地址域和时间戳;基站同时保存一个切换表,该切换表的表名称为该基站的全局地址,一个切换表项包含家乡地址域,转交地址域,切换标识和时间戳;

车辆节点启动后定期广播信标消息,信标消息负载为时间戳和家乡地址,源地址为车辆节点的本地地址,该车辆节点的本地地址中,地理坐标和节点id为该车辆节点的当前地理坐标和车牌号,基站id为0;

位于路段rs1的车辆节点v1启动后开始定期广播信标消息,信标消息负载为时间戳和家乡地址,位于路段rs1上的基站通过下述过程建立车辆表项和切换表项:

步骤101:开始;

步骤102:如果基站接收到车辆节点v1的信标消息,则执行步骤103,否则执行步骤104;

步骤103:基站查看接收到的信标消息中,如果已经接收到具有相同源地址和时间戳的信标消息,则执行步骤106,否则执行步骤108;

步骤104:如果接收到车辆节点v1的信标消息车辆节点已经接收到具有相同源地址和时间戳的信标消息,则执行步骤106,否则执行步骤105;

步骤105:如果接收到车辆节点v1的信标消息的车辆节点位于路段rs1上,则执行步骤107,否则执行步骤106;

步骤106:接收到车辆节点v1的信标消息的车辆节点或者基站丢弃该信标消息,执行步骤111;

步骤107:接收到车辆节点v1的信标消息的车辆节点转发接收到的信标消息,执行步骤102;

步骤108:接收到车辆节点v1的信标消息的基站查看车辆表,如果存在本地地址的节点id等于信标消息负载中的家乡地址的节点id的车辆表项,则执行步骤109,否则执行步骤110;

步骤109:接收到车辆节点v1的信标消息的基站选择本地地址的节点id等于信标消息负载中的家乡地址的节点id的车辆表项,将该车辆表项的本地地址设置为信标消息的源地址,时间戳设置为信标消息中的时间戳;如果存在家乡地址的节点id等于信标消息负载的家乡地址的节点id的切换表项,该基站则将该切换表项的时间戳设置为该信标消息的时间戳,执行步骤111;

步骤110:接收到车辆节点v1的信标消息的基站构建一个本地地址,该本地地址的地理坐标和节点id等于信标消息的源地址的地理坐标和节点id,基站id等于该基站的基站id;然后该基站创建一个车辆表项,该车辆表项的本地地址等于构建的本地地址,时间戳等于信标消息中的时间戳;该基站创建一个全局地址,该全局地址的网络前缀和基站id等于该基站全局地址的网络前缀和加战id,节点id等于信标消息源地址的节点id,然后创建一个切换表项,该切换表项的家乡地址为信标消息中的家乡地址,转交地址为创建的全局地址,切换标识为0,时间戳为信标消息中的时间戳;

步骤111:结束;

基站通过上述过程建立或者更新其他车辆节点的车辆表项和切换表项;如果基站在预定时间内(例如1s)没有收到车辆节点v1的信标消息,则删除车辆节点v1的车辆表项和切换表项。

上述过程可以正确建立车辆表项和切换表项从而快速判断车辆的连通性以及快速为车辆节点执行移动切换。

本发明所述方法中,基站启动后定期广播信标消息,信标消息负载为时间戳,源地址为自己的本地地址,在该本地地址中,地理坐标和基站id为该基站的当前地理坐标和基站id,节点id为0;车辆节点保存一个基站表,一个基站表项包含本地地址域和时间戳;

如果基站bs1属于路段rs1和rs2,它定期广播信标消息,则车辆节点根据下述算法建立基站bs1的基站表项:

步骤201:开始;

步骤202:如果基站接收到基站bs1的信标消息,则执行步骤203,否则执行步骤204;

步骤203:接收到基站bs1的信标消息的基站丢弃该信标消息,执行步骤209;

步骤204:如果位于路段rs1或者路段rs2上的车辆节点接收到信标消息,则执行步骤205,否则执行步骤208;

步骤205:判断车辆节点是否已经接收到具有相同源地址和时间戳的信标消息,如果是,执行步骤208,否则执行步骤206;

步骤206:如果接收到信标消息的车辆节点的基站表中存在本地地址等于信标消息的源地址的基站表项,则将该基站表项的时间戳设置为信标消息中的时间戳;否则,车辆节点创建一个基站表,该基站表的本地地址等于该信标消息的源地址,时间戳等于信标消息中的时间戳;

步骤207:接收到信标消息的车辆节点转发该信标消息,执行步骤202;

步骤208:接收到信标消息的车辆节点丢弃该信标消息;

步骤209:结束;

如果车辆节点在预定时间内(例如1s)没有收到基站bs1的信标消息,则删除基站bs1的基站表项。

上述过程可以正确建立基站表从而快速判断基站的连通性以及实现正确通信。

本发明所述方法中,基站定期向连接的接入路由器发送信标消息,信标消息的源地址为该基站的全局地址,目的地址为该接入路由器的全局地址,负载为切换表和车辆表;基站发送信标消息后,将切换表中的所有表项的切换标识设置为1;接入路由器接收到基站的信标消息后,保存切换表和车辆表;

接入路由器维护一个地址映射表,一个地址映射表项包含家乡地址和转交地址域;

如果域d1的接入路由器为ar1,在接入路由器ar1接收到与域d1中所有基站的信标消息后,执行下述移动管理操作:

步骤301:开始;

步骤302:接入路由器ar1查看所有切换表,选择切换标识为0的切换表项,如果任意两个切换表项中的家乡地址相同,则删除其中一个切换表项;接入路由器ar1将这些切换表项分组,每个组的切换表项的家乡地址的路由前缀相同;然后接入路由器ar1针对每个组执行下述操作:如果该组的切换表项的家乡地址的路由前缀等于接入路由器ar1的路由前缀,则执行步骤303,否则执行步骤304;

步骤303:接入路由器ar1将针对该组中的每个切换表项执行下述操作:查看地址映射表,选择家乡地址等于切换表项中的家乡地址的地址映射表,将该地址映射表的转交地址更新为该切换表项的转交地址,执行步骤306;

步骤304:接入路由器ar1构建一个全局地址,该全局地址的路由前缀等于该组切换表项的家乡地址的路由前缀,基站id和节点id为0;接入路由器ar1发送移动管理消息,该移动管理消息的源地址为自己的全局地址,目的地址为构建的全局地址,负载为该组中所有切换表项;

步骤305:目的接入路由器接收到移动管理消息后,针对移动管理消息中的每个切换表项执行下述操作:查看地址映射表,选择家乡地址等于该切换表项中的家乡地址的地址映射表,将该地址映射表的转交地址更新为该切换表项的转交地址;

步骤306:接入路由器删除所有保存的切换表;

步骤307:结束;

上述过程可以快速实现移动切换从而确保通信的正确性和连续性。

本发明所述方法中,可预测车辆节点定期广播信标消息,信标消息负载为行使路线所经过的基站的地理坐标、时间戳、家乡地址;其他车辆接收到该信标消息后,保存该可预测车辆节点的行使路线所经过的基站的地理坐标;

在车辆节点v1和车辆节点v2位于域d1中,域d1的接入路由器为ar1,车辆节点v2的地理坐标为h1的条件下,车辆节点v1通过下述过程实现与车辆节点v2的通信:

步骤401:开始;

步骤402:车辆节点v1构建一个请求消息,请求消息的源地址为车辆节点v1的全局地址,在车辆节点v1的全局地址中,网络前缀和基站id为0,车辆id为车辆节点v1的车牌号,请求消息的目的地址为家乡地址h2,执行步骤404;

步骤403:如果车辆节点接收到请求消息,则执行步骤404,否则执行步骤409;所述车辆节点为请求消息路由路径上的车辆节点,也就是车辆v1到v2的路由路径上的车辆节点。

步骤404:如果构建或者接收到请求消息的车辆节点的基站表为空,则执行步骤405,否则执行步骤408;

步骤405:车辆节点查看邻居车辆节点是否有可预测车辆节点且该可预测车辆节点的行使路线经过域d1中的任一个基站,如果是,则执行步骤406,否则执行步骤407;

步骤406:车辆节点将构建或者接收到请求消息转发给该可预测车辆节点,执行步骤403;

步骤407:车辆节点保存该请求消息且继续行使,执行步骤403;

步骤408:车辆节点查看基站表,选择本地地址的地理坐标距离自己最近的基站表项,然后将请求消息转发到距离该基站表项的本地地址的地理坐标最近的邻居车辆节点或者基站,执行步骤403;

步骤409:接收到请求消息的基站将请求消息转发给接入路由器ar1,接入路由器ar1查看所有车辆表,选择本地地址的节点id等于请求消息源地址的节点id的车辆表项,将请求消息的源地址更新为该车辆表项的本地地址;接入路由器ar1查看所有车辆表,选择本地地址的节点id等于请求消息目的地址的节点id的车辆表项,将请求消息的目的地址更新为该车辆表项的本地地址;然后接入路由器ar1将请求消息转发到目的基站,即基站id与请求消息的目的地址的基站id相同的基站;

步骤410:目的基站接收到请求消息后,将请求消息转发到距离请求消息目的地址中的地理坐标最近的邻居车辆节点;

步骤411:如果车辆节点v2接收到请求消息,执行步骤413,否则执行步骤412;

步骤412:车辆节点接收到请求消息后,将请求消息转发到距离请求消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤411;

步骤413:车辆节点v2发送一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,该响应消息的目的地址为接收到的请求消息的源地址,负载为响应数据;

步骤414:如果车辆节点构建或者接收到响应消息,则执行步骤415,否则执行步骤421;

步骤415:如果车辆节点v1接收到响应消息,则执行步骤425,否则执行步骤416;

步骤416:如果构建或者接收到响应消息的车辆节点的基站表为空,则执行步骤417,否则执行步骤420;

步骤417:车辆节点查看邻居车辆节点是否有可预测车辆节点且该可预测车辆节点的行使路线经过域d1中的任一个基站,如果是,则执行步骤418,否则执行步骤419;

步骤418:车辆节点将构建或者接收到响应消息转发给该可预测车辆节点,执行步骤414;

步骤419:车辆节点保存该响应消息且继续行使,执行步骤414;

步骤420:车辆节点查看基站表,选择本地地址的地理坐标距离自己最近的基站表项,然后将请求消息转发到距离该基站表项的本地地址的地理坐标最近的邻居车辆节点或者基站,执行步骤414;

步骤421:接收到响应消息的基站将响应消息转发给接入路由器ar1,接入路由器ar1将响应消息转发到目的基站,即基站id与响应消息的目的地址的基站id相同的基站;

步骤422:目的基站接收到响应消息后,将响应消息转发到距离响应消息目的地址中的地理坐标最近的邻居车辆节点;

步骤423:如果车辆节点v1接收到响应消息,执行步骤425,否则执行步骤424;

步骤424:车辆节点接收到响应消息后,将响应消息转发到距离响应消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤423;

步骤425:车辆节点v1保存响应消息的响应数据;

步骤426:结束。

上述过程可以快速实现数据通信,从而有效降低通信延迟,提高服务质量。

本发明所述方法中,在车辆节点v1位于域d1中,域d1中的接入路由器为ar1,车辆节点v3位于域d3中,域d3的接入路由器为ar3,车辆节点v3的家乡地址为h3的条件下,车辆节点v1通过下述过程实现与车辆节点v3的通信:

步骤501:开始;

步骤502:车辆节点v1发送通信请求消息,请求消息的目的地址为家乡地址h3,源地址为车辆节点v1的全局地址,在车辆节点v1的全局地址中,网络前缀和基站id为0,车辆id为车辆节点v1的车牌号,执行步骤504;

步骤503:如果车辆节点接收到请求消息,则执行步骤504,否则执行步骤509;所述车辆节点为请求消息路由路径上的车辆节点,也就是车辆v1到v3的路由路径上的车辆节点;

步骤504:如果构建或者接收到请求消息的车辆节点的基站表为空,则执行步骤505,否则执行步骤508;

步骤505:车辆节点查看邻居车辆节点是否有可预测车辆节点且该可预测车辆节点的行使路线经过域d1中的任一个基站,如果是,则执行步骤506,否则执行步骤507;

步骤506:车辆节点将构建或者接收到请求消息转发给该可预测车辆节点,执行步骤503;

步骤507:车辆节点保存该请求消息且继续行使,执行步骤503;

步骤508:车辆节点查看基站表,选择本地地址的地理坐标距离自己最近的基站表项,然后将请求消息转发到距离该基站表项的本地地址的地理坐标最近的邻居车辆节点或者基站,执行步骤503;

步骤509:接收到请求消息的基站将请求消息的源地址的路由前缀和基站id设置为自己的路由前缀和基站id,然后将请求消息转发给接入路由器ar1,接入路由器ar1将请求消息转发到互联网;最终请求消息到达目的接入路由器,该目的接入路由器的网络前缀与通信请求消息目的地址的网络前缀相同;

步骤510:接收到请求消息的接入路由器查看所有车辆表,如果存在本地地址域值的节点id等于请求消息的目的地址的节点id的车辆表项,则执行步骤512,否则执行步骤511;

步骤511:接收到请求消息的接入路由器查看地址映射表,选择家乡地址等于请求消息的目的地址的地址映射表项,将请求消息的目的地址更新为该地址映射表项的转交地址域值,通过互联网转发该请求消息,最终请求消息到达目的接入路由器,该目的接入路由器的网络前缀与请求消息目的地址的网络前缀相同,执行步骤510;

步骤512:接入路由器选择本地地址的节点id等于请求消息目的地址的节点id的车辆表项,将请求消息的目的地址更新为该车辆表项的本地地址;然后接入路由器ar1将请求消息转发到目的基站,即基站id与请求消息的目的地址的基站id相同的基站;目的基站id接收到请求消息后,将请求消息转发到距离请求消息目的地址中的地理坐标最近的邻居车辆节点;

步骤513:如果车辆节点v3接收到请求消息,执行步骤515,否则执行步骤514;

步骤514:车辆节点接收到请求消息后,将请求消息转发到距离请求消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤513;

步骤515:车辆节点v3发送一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,该响应消息的目的地址为接收到的请求消息的源地址,负载为响应数据;

步骤516:如果车辆节点构建或者接收到响应消息,则执行步骤517,否则执行步骤523;

步骤517:如果车辆节点v1接收到响应消息,则执行步骤526,否则执行步骤518;

步骤518:如果构建或者接收到响应消息的车辆节点的基站表为空,则执行步骤519,否则执行步骤522;

步骤519:车辆节点查看邻居车辆节点是否有可预测车辆节点,且该可预测车辆节点的行使路线经过域d1中的任一个基站,如果是,则执行步骤520,否则执行步骤521;

步骤520:车辆节点将构建或者接收到响应消息转发给该可预测车辆节点,执行步骤516;

步骤521:车辆节点保存该响应消息且继续行使,执行步骤516;

步骤522:车辆节点查看基站表,选择本地地址的地理坐标距离自己最近的基站表项,然后将请求消息转发到距离该基站表项的本地地址的地理坐标最近的邻居车辆节点或者基站,执行步骤516;

步骤523:接收到响应消息的基站创建一个全局地址,接收到响应消息的基站构建一个全局地址,该全局地址的路由前缀和基站id等于自己的路由前缀和基站id,节点id等于响应消息源地址的节点id,然后将响应消息的源地址设置为构建的全局地址,将响应消息转发到接入路由器ar3;接入路由器ar3将响应消息转发到互联网,最终响应消息通过互联网到达接入路由器ar1;接入路由器ar1将响应消息转发到目的基站,即基站id与响应消息的目的地址的基站id相同的基站;目的基站接收到响应消息后,查看车辆表,选择本地地址域值的节点id等于响应消息的目的地址的节点id的车辆表项,将响应消息的目的地址更新为该车辆表项的本地地址,然后将响应消息转发到距离响应消息目的地址中的地理坐标最近的邻居车辆节点;

步骤524:如果车辆节点v1接收到响应消息,执行步骤526,否则执行步骤525;

步骤525:车辆节点接收到响应消息后,将响应消息转发到距离响应消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤524;

步骤526:车辆节点v1保存响应消息的响应数据;

步骤527:结束。

上述过程可以快速实现数据通信,从而有效降低通信延迟,提高服务质量。

有益效果:本发明提供了一种可靠的智能车联网路由实现方法,车辆节点通过本发明所提供的智能车联网路由实现方法能够以单播方式快速获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理、多媒体数据获取等领域,具有广泛的应用前景。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1为本发明所述的车辆表建立流程示意图。

图2为本发明所述的基站表建立流程示意图。

图3为本发明所述的移动管理流程示意图。

图4为本发明所述的域内数据通信流程示意图。

图5为本发明所述的域间数据通信流程示意图。

具体实施方式:

本发明提供了一种可靠的智能车联网路由实现方法,车辆节点通过本发明所提供的智能车联网路由实现方法能够以单播方式快速获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理、多媒体数据获取等领域,具有广泛的应用前景。

图1为本发明所述的车辆表建立流程示意图。位于路段rs1的车辆节点v1启动后开始定期广播信标消息,信标消息负载为时间戳和家乡地址,位于路段rs1上的基站通过下述过程建立车辆表项和切换表项:

步骤101:开始;

步骤102:如果基站接收到车辆节点v1的信标消息,则执行步骤103,否则执行步骤104;

步骤103:基站查看接收到的信标消息中,如果已经接收到具有相同源地址和时间戳的信标消息,则执行步骤106,否则执行步骤108;

步骤104:如果接收到车辆节点v1的信标消息车辆节点已经接收到具有相同源地址和时间戳的信标消息,则执行步骤106,否则执行步骤105;

步骤105:如果接收到车辆节点v1的信标消息的车辆节点位于路段rs1上,则执行步骤107,否则执行步骤106;

步骤106:接收到车辆节点v1的信标消息的车辆节点或者基站丢弃该信标消息,执行步骤111;

步骤107:接收到车辆节点v1的信标消息的车辆节点转发接收到的信标消息,执行步骤102;

步骤108:接收到车辆节点v1的信标消息的基站查看车辆表,如果存在本地地址的节点id等于信标消息负载中的家乡地址的节点id的车辆表项,则执行步骤109,否则执行步骤110;

步骤109:接收到车辆节点v1的信标消息的基站选择本地地址的节点id等于信标消息负载中的家乡地址的节点id的车辆表项,将该车辆表项的本地地址设置为信标消息的源地址,时间戳设置为信标消息中的时间戳;如果存在家乡地址的节点id等于信标消息负载的家乡地址的节点id的切换表项,该基站则将该切换表项的时间戳设置为该信标消息的时间戳,执行步骤111;

步骤110:接收到车辆节点v1的信标消息的基站构建一个本地地址,该本地地址的地理坐标和节点id等于信标消息的源地址的地理坐标和节点id,基站id等于该基站的基站id;然后该基站创建一个车辆表项,该车辆表项的本地地址等于构建的本地地址,时间戳等于信标消息中的时间戳;该基站创建一个全局地址,该全局地址的网络前缀和基站id等于该基站全局地址的网络前缀和加战id,节点id等于信标消息源地址的节点id,然后创建一个切换表项,该切换表项的家乡地址为信标消息中的家乡地址,转交地址为创建的全局地址,切换标识为0,时间戳为信标消息中的时间戳;

步骤111:结束;

基站通过上述过程建立或者更新其他车辆节点的车辆表项和切换表项;如果基站在预定时间内没有收到车辆节点v1的信标消息,则删除车辆节点v1的车辆表项和切换表项。

图2为本发明所述的基站表建立流程示意图。如果基站bs1属于路段rs1和rs2,它定期广播信标消息,则车辆节点根据下述算法建立基站bs1的基站表项:

步骤201:开始;

步骤202:如果基站接收到基站bs1的信标消息,则执行步骤203,否则执行步骤204;

步骤203:接收到基站bs1的信标消息的基站丢弃该信标消息,执行步骤209;

步骤204:如果位于路段rs1或者路段rs2上的车辆节点接收到信标消息,则执行步骤205,否则执行步骤208;

步骤205:判断车辆节点是否已经接收到具有相同源地址和时间戳的信标消息,如果是,执行步骤208,否则执行步骤206;

步骤206:如果接收到信标消息的车辆节点的基站表中存在本地地址等于信标消息的源地址的基站表项,则将该基站表项的时间戳设置为信标消息中的时间戳;否则,车辆节点创建一个基站表,该基站表的本地地址等于该信标消息的源地址,时间戳等于信标消息中的时间戳;

步骤207:接收到信标消息的车辆节点转发该信标消息,执行步骤202;

步骤208:接收到信标消息的车辆节点丢弃该信标消息;

步骤209:结束;

如果车辆节点在预定时间内没有收到基站bs1的信标消息,则删除基站bs1的基站表项。

图3为本发明所述的移动管理流程示意图。如果域d1的接入路由器为ar1,在接入路由器ar1接收到与域d1中所有基站的信标消息后,执行下述移动管理操作:

步骤301:开始;

步骤302:接入路由器ar1查看所有切换表,选择切换标识为0的切换表项,如果任意两个切换表项中的家乡地址相同,则删除其中一个切换表项;接入路由器ar1将这些切换表项分组,每个组的切换表项的家乡地址的路由前缀相同;然后接入路由器ar1针对每个组执行下述操作:如果该组的切换表项的家乡地址的路由前缀等于接入路由器ar1的路由前缀,则执行步骤303,否则执行步骤304;

步骤303:接入路由器ar1将针对该组中的每个切换表项执行下述操作:查看地址映射表,选择家乡地址等于切换表项中的家乡地址的地址映射表,将该地址映射表的转交地址更新为该切换表项的转交地址,执行步骤306;

步骤304:接入路由器ar1构建一个全局地址,该全局地址的路由前缀等于该组切换表项的家乡地址的路由前缀,基站id和节点id为0;接入路由器ar1发送移动管理消息,该移动管理消息的源地址为自己的全局地址,目的地址为构建的全局地址,负载为该组中所有切换表项;

步骤305:目的接入路由器接收到移动管理消息后,针对移动管理消息中的每个切换表项执行下述操作:查看地址映射表,选择家乡地址等于该切换表项中的家乡地址的地址映射表,将该地址映射表的转交地址更新为该切换表项的转交地址;

步骤306:接入路由器删除所有保存的切换表;

步骤307:结束。

图4为本发明所述的域内数据通信流程示意图。在车辆节点v1和车辆节点v2位于域d1中,域d1的接入路由器为ar1,车辆节点v2的地理坐标为h1的条件下,车辆节点v1通过下述过程实现与车辆节点v2的通信:

步骤401:开始;

步骤402:车辆节点v1构建一个请求消息,请求消息的源地址为车辆节点v1的全局地址,在车辆节点v1的全局地址中,网络前缀和基站id为0,车辆id为车辆节点v1的车牌号,请求消息的目的地址为家乡地址h2,执行步骤404;

步骤403:如果车辆节点接收到请求消息,则执行步骤404,否则执行步骤409;所述车辆节点为请求消息路由路径上的车辆节点,也就是车辆v1到v2的路由路径上的车辆节点;

步骤404:如果构建或者接收到请求消息的车辆节点的基站表为空,则执行步骤405,否则执行步骤408;

步骤405:车辆节点查看邻居车辆节点是否有可预测车辆节点且该可预测车辆节点的行使路线经过域d1中的任一个基站,如果是,则执行步骤406,否则执行步骤407;

步骤406:车辆节点将构建或者接收到请求消息转发给该可预测车辆节点,执行步骤403;

步骤407:车辆节点保存该请求消息且继续行使,执行步骤403;

步骤408:车辆节点查看基站表,选择本地地址的地理坐标距离自己最近的基站表项,然后将请求消息转发到距离该基站表项的本地地址的地理坐标最近的邻居车辆节点或者基站,执行步骤403;

步骤409:接收到请求消息的基站将请求消息转发给接入路由器ar1,接入路由器ar1查看所有车辆表,选择本地地址的节点id等于请求消息源地址的节点id的车辆表项,将请求消息的源地址更新为该车辆表项的本地地址;接入路由器ar1查看所有车辆表,选择本地地址的节点id等于请求消息目的地址的节点id的车辆表项,将请求消息的目的地址更新为该车辆表项的本地地址;然后接入路由器ar1将请求消息转发到目的基站,即基站id与请求消息的目的地址的基站id相同的基站;

步骤410:目的基站接收到请求消息后,将请求消息转发到距离请求消息目的地址中的地理坐标最近的邻居车辆节点;

步骤411:如果车辆节点v2接收到请求消息,执行步骤413,否则执行步骤412;

步骤412:车辆节点接收到请求消息后,将请求消息转发到距离请求消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤411;

步骤413:车辆节点v2发送一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,该响应消息的目的地址为接收到的请求消息的源地址,负载为响应数据;

步骤414:如果车辆节点构建或者接收到响应消息,则执行步骤415,否则执行步骤421;

步骤415:如果车辆节点v1接收到响应消息,则执行步骤425,否则执行步骤416;

步骤416:如果构建或者接收到响应消息的车辆节点的基站表为空,则执行步骤417,否则执行步骤420;

步骤417:车辆节点查看邻居车辆节点是否有可预测车辆节点且该可预测车辆节点的行使路线经过域d1中的任一个基站,如果是,则执行步骤418,否则执行步骤419;

步骤418:车辆节点将构建或者接收到响应消息转发给该可预测车辆节点,执行步骤414;

步骤419:车辆节点保存该响应消息且继续行使,执行步骤414;

步骤420:车辆节点查看基站表,选择本地地址的地理坐标距离自己最近的基站表项,然后将请求消息转发到距离该基站表项的本地地址的地理坐标最近的邻居车辆节点或者基站,执行步骤414;

步骤421:接收到响应消息的基站将响应消息转发给接入路由器ar1,接入路由器ar1将响应消息转发到目的基站,即基站id与响应消息的目的地址的基站id相同的基站;

步骤422:目的基站接收到响应消息后,将响应消息转发到距离响应消息目的地址中的地理坐标最近的邻居车辆节点;

步骤423:如果车辆节点v1接收到响应消息,执行步骤425,否则执行步骤424;

步骤424:车辆节点接收到响应消息后,将响应消息转发到距离响应消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤423;

步骤425:车辆节点v1保存响应消息的响应数据;

步骤426:结束。

图5为本发明所述的域间数据通信流程示意图。在车辆节点v1位于域d1中,域d1中的接入路由器为ar1,车辆节点v3位于域d3中,域d3的接入路由器为ar3,车辆节点v3的家乡地址为h3的条件下,车辆节点v1通过下述过程实现与车辆节点v3的通信:

步骤501:开始;

步骤502:车辆节点v1发送通信请求消息,请求消息的目的地址为家乡地址h3,源地址为车辆节点v1的全局地址,在车辆节点v1的全局地址中,网络前缀和基站id为0,车辆id为车辆节点v1的车牌号,执行步骤504;

步骤503:如果车辆节点接收到请求消息,则执行步骤504,否则执行步骤509;所述车辆节点为请求消息路由路径上的车辆节点,也就是车辆v1到v3的路由路径上的车辆节点;

步骤504:如果构建或者接收到请求消息的车辆节点的基站表为空,则执行步骤505,否则执行步骤508;

步骤505:车辆节点查看邻居车辆节点是否有可预测车辆节点且该可预测车辆节点的行使路线经过域d1中的任一个基站,如果是,则执行步骤506,否则执行步骤507;

步骤506:车辆节点将构建或者接收到请求消息转发给该可预测车辆节点,执行步骤503;

步骤507:车辆节点保存该请求消息且继续行使,执行步骤503;

步骤508:车辆节点查看基站表,选择本地地址的地理坐标距离自己最近的基站表项,然后将请求消息转发到距离该基站表项的本地地址的地理坐标最近的邻居车辆节点或者基站,执行步骤503;

步骤509:接收到请求消息的基站将请求消息的源地址的路由前缀和基站id设置为自己的路由前缀和基站id,然后将请求消息转发给接入路由器ar1,接入路由器ar1将请求消息转发到互联网;最终请求消息到达目的接入路由器,该目的接入路由器的网络前缀与通信请求消息目的地址的网络前缀相同;

步骤510:接收到请求消息的接入路由器查看所有车辆表,如果存在本地地址域值的节点id等于请求消息的目的地址的节点id的车辆表项,则执行步骤512,否则执行步骤511;

步骤511:接收到请求消息的接入路由器查看地址映射表,选择家乡地址等于请求消息的目的地址的地址映射表项,将请求消息的目的地址更新为该地址映射表项的转交地址域值,通过互联网转发该请求消息,最终请求消息到达目的接入路由器,该目的接入路由器的网络前缀与请求消息目的地址的网络前缀相同,执行步骤510;

步骤512:接入路由器选择本地地址的节点id等于请求消息目的地址的节点id的车辆表项,将请求消息的目的地址更新为该车辆表项的本地地址;然后接入路由器ar1将请求消息转发到目的基站,即基站id与请求消息的目的地址的基站id相同的基站;目的基站id接收到请求消息后,将请求消息转发到距离请求消息目的地址中的地理坐标最近的邻居车辆节点;

步骤513:如果车辆节点v3接收到请求消息,执行步骤515,否则执行步骤514;

步骤514:车辆节点接收到请求消息后,将请求消息转发到距离请求消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤513;

步骤515:车辆节点v3发送一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,该响应消息的目的地址为接收到的请求消息的源地址,负载为响应数据;

步骤516:如果车辆节点构建或者接收到响应消息,则执行步骤517,否则执行步骤523;

步骤517:如果车辆节点v1接收到响应消息,则执行步骤526,否则执行步骤518;

步骤518:如果构建或者接收到响应消息的车辆节点的基站表为空,则执行步骤519,否则执行步骤522;

步骤519:车辆节点查看邻居车辆节点是否有可预测车辆节点,且该可预测车辆节点的行使路线经过域d1中的任一个基站,如果是,则执行步骤520,否则执行步骤521;

步骤520:车辆节点将构建或者接收到响应消息转发给该可预测车辆节点,执行步骤516;

步骤521:车辆节点保存该响应消息且继续行使,执行步骤516;

步骤522:车辆节点查看基站表,选择本地地址的地理坐标距离自己最近的基站表项,然后将请求消息转发到距离该基站表项的本地地址的地理坐标最近的邻居车辆节点或者基站,执行步骤516;

步骤523:接收到响应消息的基站创建一个全局地址,接收到响应消息的基站构建一个全局地址,该全局地址的路由前缀和基站id等于自己的路由前缀和基站id,节点id等于响应消息源地址的节点id,然后将响应消息的源地址设置为构建的全局地址,将响应消息转发到接入路由器ar3;接入路由器ar3将响应消息转发到互联网,最终响应消息通过互联网到达接入路由器ar1;接入路由器ar1将响应消息转发到目的基站,即基站id与响应消息的目的地址的基站id相同的基站;目的基站接收到响应消息后,查看车辆表,选择本地地址域值的节点id等于响应消息的目的地址的节点id的车辆表项,将响应消息的目的地址更新为该车辆表项的本地地址,然后将响应消息转发到距离响应消息目的地址中的地理坐标最近的邻居车辆节点;

步骤524:如果车辆节点v1接收到响应消息,执行步骤526,否则执行步骤525;

步骤525:车辆节点接收到响应消息后,将响应消息转发到距离响应消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤524;

步骤526:车辆节点v1保存响应消息的响应数据;

步骤527:结束。

实施例1

基于表1的仿真参数,本实施例模拟了本发明中一种可靠的智能车联网路由实现方法,性能分析如下:当车辆节点速度降低时,网络性能增强,丢包率减少,所以数据通信延迟随之降低。车辆节点获取服务数据的平均延迟为85ms。

表1仿真参数

本发明提供了一种可靠的智能车联网路由实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1