1.一种可靠的智能车联网数据通信实现方法,其特征在于,所述车联网包括接入路由器、基站和车辆节点;接入路由器与互联网骨干网相连,基站与接入路由器相连,基站位于道路交叉口;车辆节点具有路由转发功能;与一个接入路由器相连的所有基站所封闭的区域成为域,一个基站能够与两个接入路由器相连,且属于两个以上的域;如果一个域中的车辆节点通过单跳转发或者多跳转发能够与所在域的基站进行通信,那么将该车辆节点与该基站表示为为连通关系;如果一个域中的车辆节点无法通过单跳转发或者多跳转发与所在域的基站进行通信,那么将该车辆节点与该基站表示为非连通关系;
车辆节点通过全局地址实现域间通信,通过局部地址进行域内通信;全局地址由网络前缀,基站ID、车辆ID和全局地址标识构成,全局地址唯一标识一个域,基站ID唯一标识一个基站,车辆ID唯一标识一个车辆节点;全局地址的全局地址标识为1;接入路由器的全局地址的基站ID和车辆ID为0;基站的全局地址的车辆ID为0;
车辆节点注册获取车牌号时,同时被分配一个家乡地址,该家乡地址为全局地址;如果一个路由器的全局地址的网络前缀与一个车辆节点的全局地址的网络前缀相同,则该路由器称为该车辆节点的家乡路由器,该路由器所在域称为该车辆节点的家乡域;如果一个基站的全局地址的网络前缀以及基站ID与一个车辆节点的全局地址的网络前缀以及基站ID相同,则该基站称为该车辆节点的家乡基站;如果车辆节点离开家乡域进入一个新域,则该新域称为该车辆节点的外部域,该新域的接入路由器称为该车辆节点的外部路由器,该新域的基站称为该车辆节点的外部基站;
局部地址由地理坐标,基站ID、车辆ID和全局地址标识构成;局部地址的全局地址标识为0;
在一个域中,接入路由器通过自己的接口与所在域的所有基站相连,如果接入路由器通过自己的接口n与一个基站相连,则该基站的基站ID为n;车辆节点的车辆ID为其车牌号;
车辆节点保存一个基站表,每个基站表项由局部地址、连接状态和时间戳构成;一个车辆节点启动或者进入一个新域后,它清空基站表并重建建立基站表;
基站的局部地址中,地理坐标和基站ID为该基站的地理坐标值和基站ID值,车辆ID为
0;基站定期广播一个信标消息,信标消息负载为时间戳,信标消息的源地址为该基站的局部地址;
基站B1广播信标消息后,车辆节点通过下述过程建立基站B1的基站表项:
步骤101:开始;
步骤102:如果一个基站接收到基站B1广播的信标消息,则步骤103,否则执行步骤104;
步骤103:收到基站B1的信标消息的基站丢弃该信标消息,执行步骤110;
步骤104:收到基站B1的信标消息的车辆节点查看信标消息中的时间戳,如果已经接收到具有相同源地址且相同时间戳的信标消息,则执行步骤105,否则执行步骤106;
步骤105:收到基站B1的信标消息的车辆节点丢弃该信标消息,执行步骤110;
步骤106:收到基站B1的信标消息的车辆节点查看基站表,如果存在局部地址等于接收到的信标消息的源地址的基站表项,则执行步骤107,否则执行步骤108;
步骤107:收到基站B1的信标消息的车辆节点选择局部地址等于接收到的信标消息的源地址的基站表项,将该基站表项的连接状态设置为连接,将时间戳设置为信标消息中的时间戳值,执行步骤109;
步骤108:收到基站B1的信标消息的车辆节点创建一个基站表项,该基站表项的局部地址域值等于该信标消息的源地址,该基站表项的连接状态设置为连接,时间戳设置为信标消息中的时间戳值;
步骤109:收到基站B1的信标消息的车辆节点转发该信标消息,执行步骤102;
步骤110:结束;
车辆节点通过上述过程建立所在域的其他基站的基站表项;
如果车辆节点在预定时间内没有接收到基站B1的信标消息,该车辆节点则将基站B1对应的基站表项的连接状态设置为未连接。
2.根据权利要求1所述的一种可靠的智能车联网数据通信实现方法,其特征在于,基站对于隶属的每个域保存一个车辆表,该车辆表的名字为该基站在该域的全局地址;车辆表的车辆表项包含局部地址域,家乡地址域,移动管理域和时间戳;
车辆节点的局部地址中,地理坐标为其当前的地理坐标,车辆ID为其的车牌号,基站ID为其家乡地址的基站ID;车辆节点启动后定期广播信标消息,该信标消息的负载为时间戳和家乡地址;
如果车辆节点V1位于域D1中,车辆节点V1广播信标消息后,域D1中的基站通过下述过程建立车辆节点V1的车辆表项:步骤201:开始;
步骤202:如果一个基站接收到车辆节点V1广播的信标消息,则步骤203,否则执行步骤
204;
步骤203:接收到车辆节点V1广播的信标消息的基站选择域D1的车辆表,如果存在局部地址的车辆ID等于接收到的信标消息的源地址的车辆ID的车辆表项,该基站则将该车辆表项的局部地址设置为信标消息的源地址,将时间戳设置为信标消息中的时间戳值;如果不存在局部地址的车辆ID等于接收到的信标消息的源地址的车辆ID的车辆表项,该基站则创建一个车辆表项,该车辆表项的局部地址域值等于该信标消息的源地址,该车辆表项的移动管理状态设置为0,家乡地址域值和时间戳设置为信标消息中的家乡地址和时间戳值;执行步骤208;
步骤204:如果接收到车辆节点V1广播的信标消息的车辆节点已经接收到具有相同源地址且相同时间戳的信标消息,则执行步骤207,否则执行步骤205;
步骤205:判断接收到车辆节点V1广播的信标消息的车辆节点是否位于域D1内,如果是,执行步骤206,否则执行步骤207;
步骤206:接收到车辆节点V1广播的信标消息的车辆节点转发该信标消息,执行步骤
202;
步骤207:接收到车辆节点V1广播的信标消息的车辆节点丢弃该信标消息;
步骤208:结束;
基站通过上述过程建立所在域的其他车辆节点的车辆表项;
如果一个基站在规定时间内并没有接收到车辆节点V1的信标消息,则从车辆表中删除车辆节点V1的车辆表项;
如果基站与位于域D1中的接入路由器相连,那么基站定期向该接入路由器发送信标消息,信标消息的源地址为该基站在域D1中的全局地址,负载为域D1中的车辆表,该车辆表的表名为该基站在域D1中的全局地址;接入路由器接收到基站发送的信标消息后,对于该信标消息中的车辆表执行下述操作:如果接入路由器中存在与信标消息中的车辆表表名相同的车辆表,则删除该车辆表并保存信标消息中的车辆表;否则接入路由器直接保存信标消息中的车辆表。
3.根据权利要求2所述的一种可靠的智能车联网数据通信实现方法,其特征在于,接入路由器维护一个地址表,该地址表记录以该接入路由器为家乡路由器的车辆节点的地址信息;一个地址表项包括家乡地址域和当前地址域;
如果域D1中的接入路由器为AR1,接入路由器AR1接收到域D1中所有基站的信标消息后,执行下述移动管理操作:步骤301:开始;
步骤302:接入路由器AR1对于每个保存的车辆表执行下述操作:对于该车辆表中每个移动管理标识为0的车辆表项,接入路由器AR1构建一个全局地址,该全局地址的网络前缀和基站ID等于该车辆表的表名的网络前缀和基站ID,车辆ID设置为该车辆表项中的家乡地址的车辆ID,将该车辆表项的移动管理标识设置为1,接入路由器构建一个地址对<家乡地址,当前地址>,其中地址对中的家乡地址域值等于该车辆表项中的家乡地址域值,当前地址等于构建的全局地址;
步骤303:接入路由器AR1查看所有构建的地址对,将这些地址分组,每个组满足条件1,对于每个分组执行下述操作:如果该分组中地址对的家乡地址的网络前缀等于接入路由器AR1的网络前缀,则执行步骤304,否则执行步骤305;
条件1:每个组中的地址对的家乡地址域值的网络前缀相同;
步骤304:对于分组中的每个地址对,接入路由器AR1执行下述操作:查找地址表中家乡地址域值等于该地址对中的家乡地址域值的地址表项,将该地址表项的当前地址更新为该地址对中的当前地址,执行步骤307;
步骤305:接入路由器AR1创建一个全局地址,该全局地址的网络前缀为该组中的地址对的家乡地址的网络前缀,基站ID和车辆ID为0;接入路由器AR1发送一个移动请求消息,该移动请求消息的源地址为自己的全局地址,目的地址为构建的全局地址,负载为该组中所有地址对;
步骤306:目的路由器收到移动请求消息后,对于移动请求消息中的每个地址对进行下述操作:目的路由器查找地址表中家乡地址等于该地址对的家乡地址的地址表项,将该地址表项的当前地址更新为该地址对的当前地址值;
步骤307:接入路由器AR1向域D1中的每个基站发送一个信标消息,该信标消息的源地址为接入路由器AR1的全局地址,目的地址为该基站在域D1中的全局地址,负载为表名为该基站在域D1中的全局地址的车辆表;
步骤308:基站收到接入路由器AR1的信标消息后,查看域D1中的车辆表VT1,针对信标消息中的车辆表中的每个车辆表项E1进行如下操作:基站查找车辆表VT1选择家乡地址域值等于车辆表项E1的家乡地址的车辆表项,将该车辆表项的移动管理标识设置为1;
步骤309:结束。
4.根据权利要求2所述的一种可靠的智能车联网数据通信实现方法,其特征在于,在车辆节点V1和车辆节点V2位于域D1内,域D1的接入路由器为AR1,车辆节点V2的家乡地址为H2的条件下,车辆节点V1通过下述过程实现与车辆节点V2的通信:步骤401:开始;
步骤402:车辆节点V1发送通信请求消息,通信请求消息的目的地址为家乡地址H2,源地址为车辆节点V1的全局地址,在车辆节点V1的全局地址中,网络前缀和基站ID为0,车辆ID为车辆节点V1的车牌号;车辆节点V1查看基站表,选择连接状态为连接且局部地址的地理坐标距离自己最近的基站表项;车辆节点V1将通信请求消息转发到距离该基站表项的局部地质的地理坐标最近的邻居车辆节点或者基站;
步骤403:如果车辆节点接收到通信请求消息,则执行步骤404,否则执行步骤407;
步骤404:如果车辆节点位于域D1中,则执行步骤405,否则执行步骤406;
步骤405:接收到通信请求消息的车辆节点查看基站表,选择连接状态为连接且局部地址的地理坐标距离自己最近的基站表项;车辆节点将通信请求消息转发到距离该基站表项的局部地址的地理坐标最近的邻居车辆节点或者基站,执行步骤403;
步骤406:车辆节点丢弃接收到的通信请求消息,执行步骤412;
步骤407:基站接收到通信请求消息后,将该通信请求消息转发给接入路由器AR1;接入路由器AR1查看所有的车辆表,选择家乡地址域值的车辆ID等于通信请求消息的源地址的车辆ID的车辆表项E1,车辆表项E1位于名称为T1的车辆表内,选择家乡地址域值的车辆ID等于通信请求消息的目的地址的车辆ID的车辆表项E2,车辆表项E2位于名称为T2的车辆表内;接入路由器AR1将通信请求消息的源地址更新为车辆表项E1中的局部地址,将通信请求消息的目的地址更新为车辆表项E2的局部地址,负载为车辆表表名T1,然后将通信请求消息转发到全局地址为T2的基站;
步骤408:目的基站接收到通信请求消息后,将通信请求消息转发到距离通信请求消息目的地址中的地理坐标最近的邻居车辆节点;
步骤409:如果车辆节点V2接收到通信请求消息,执行步骤411,否则执行步骤410;
步骤410:车辆节点接收到通信请求消息后,将通信请求消息转发到距离通信请求消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤409;
步骤411:车辆节点V2发送一个通信响应消息,该通信响应消息的源地址为接收到的通信请求消息的目的地址,该通信响应消息的目的地址为接收到的请求消息的源地址,负载为车辆表表名T1和响应数据Data1;车辆节点V2将通信响应消息转发到距离目的地址的地理坐标最近的邻居车辆节点或者邻居基站;
步骤412:如果全局地址为T1的基站接收到通信响应消息,则执行步骤420,否则执行步骤413;
步骤413:如果车辆节点接收到通信响应消息,则执行步骤414,否则执行步骤418;
步骤414:如果接收到通信响应消息的车辆节点为车辆节点V1,则执行步骤423,否则执行步骤415;
步骤415:接收到通信响应消息的车辆节点检测自己是否存在一个邻居车辆节点,该邻居车辆节点与通信响应消息目的地址的地理坐标的距离比自己与通信响应消息目的地址的地理坐标的距离更小,如果是,则执行步骤416,否则执行步骤417;
步骤416:接收到通信响应消息的车辆节点将通信响应消息转发到距离通信响应消息目的地址的地理坐标距离最小的邻居车辆节点,执行步骤412;
步骤417:接收到通信响应消息的车辆节点查看基站表,选择连接状态为连接且局部地址的地理坐标距离自己最近的基站表项;车辆节点将通信响应消息转发到距离该基站表项的局部地质的地理坐标最近的邻居车辆节点或者基站,执行步骤412;
步骤418:判断接收到通信响应消息的基站的全局地址是否为T1,如果是,则执行步骤
420,否则执行步骤419;
步骤419:接收到通信响应消息的基站的将通信响应消息转发给接入路由器AR1,接入路由器AR1根据通信响应消息中的全局地址T1,将通信响应消息转发到全局地址为T1的基站;
步骤420:全局地址为T1的基站接收到通信响应消息后,将通信响应消息转发到距离通信响应消息目的地址中的地理坐标最近的邻居车辆节点;
步骤421:如果车辆节点V1接收到通信响应消息,执行步骤423,否则执行步骤422;
步骤422:车辆节点接收到通信响应消息后,将通信响应消息转发到距离通信响应消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤421;
步骤423:车辆节点V1保存通信响应消息中的响应数据Data1;
步骤424:结束。
5.根据权利要求2所述的一种可靠的智能车联网数据通信实现方法,其特征在于,在车辆节点V1位于域D1中,域D1中的接入路由器为AR1,车辆节点V3位于域D3中,域D3的接入路由器为AR3,车辆节点V3的家乡地址为H3的条件下,车辆节点V1通过下述过程实现与车辆节点V3的通信:步骤501:开始;
步骤502:车辆节点V1发送通信请求消息,通信请求消息的目的地址为家乡地址H2,源地址为车辆节点V1的全局地址,在车辆节点V1的全局地址中,网络前缀和基站ID为0,车辆ID为车辆节点V1的车牌号;车辆节点V1查看基站表,选择连接状态为连接且局部地址的地理坐标距离自己最近的基站表项;车辆节点V1将通信请求消息转发到距离该基站表项的局部地质的地理坐标最近的邻居车辆节点或者基站;
步骤503:如果车辆节点接收到通信请求消息,则执行步骤504,否则执行步骤507;
步骤504:如果车辆节点位于域D1中,则执行步骤505,否则执行步骤506;
步骤505:接收到通信请求消息的车辆节点查看基站表,选择连接状态为连接且局部地址的地理坐标距离自己最近的基站表项;车辆节点将通信请求消息转发到距离该基站表项的局部地址的地理坐标最近的邻居车辆节点或者基站,执行步骤503;
步骤506:车辆节点丢弃接收到的通信请求消息,执行步骤515;
步骤507:基站接收到通信请求消息后,将该通信请求消息转发给接入路由器AR1;接入路由器AR1查看所有的车辆表,查看家乡地址域值的车辆ID等于通信请求消息的源地址的车辆ID的车辆表项E1,车辆表项E1所在的车辆表表名为T1;接入路由器AR1将通信请求消息的源地址的网络前缀和基站ID设置为全局地址T1的网络前缀和基站ID,将通信请求消息转发到互联网;最终通信请求消息到达目的接入路由器,该目的接入路由器的网络前缀与通信请求消息目的地址的网络前缀相同;
步骤508:接收到通信请求消息的接入路由器查看车辆表,如果存在家乡地址域值的车辆ID等于通信请求消息的目的地址的车辆ID的车辆表项,则执行步骤510,否则执行步骤
509;
步骤509:接收到通信请求消息的接入路由器查看地址表,选择家乡地址等于通信请求消息的目的地址的地址表项,将通信请求消息的目的地址更新为该地址表项的当前地址域值,通过互联网转发该通信请求消息,最终通信请求消息到达目的接入路由器,该目的接入路由器的网络前缀与通信请求消息目的地址的网络前缀相同,执行步骤508;
步骤510:接入路由器查看家乡地址域值的车辆ID等于通信请求消息的目的地址的车辆ID的车辆表项E3,车辆表项E3位于表名称为T3的车辆表内,然后将通信请求消息的目的地址更新为车辆表项E3的局部地址,将通信请求消息转发到全局地址为T3的基站;
步骤511:全局地址为T3的基站接收到通信请求消息后,将通信请求消息转发到距离通信请求消息目的地址中的地理坐标最近的邻居车辆节点;
步骤512:如果车辆节点V3接收到通信请求消息,执行步骤514,否则执行步骤513;
步骤513:车辆节点接收到通信请求消息后,将通信请求消息转发到距离通信请求消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤512;
步骤514:车辆节点V3发送一个通信响应消息,该通信响应消息的源地址为接收到的通信请求消息的目的地址,该通信响应消息的目的地址为接收到的通信请求消息的源地址,负载为响应数据;车辆节点V3查看基站表,选择连接状态为连接且局部地址的地理坐标距离自己最近的基站表项,然后车辆节点V3将通信响应消息转发到距离该基站表项的局部地质的地理坐标最近的邻居车辆节点或者基站;
步骤515:如果车辆节点接收到通信响应消息,则执行步骤516,否则执行步骤517;
步骤516:接收到通信响应消息的车辆节点查看基站表,选择连接状态为连接且局部地址的地理坐标距离自己最近的基站表项,然后车辆节点将通信响应消息转发到距离该基站表项的局部地址的地理坐标最近的邻居车辆节点或者基站,执行步骤515;
步骤517:接收到通信响应消息的基站构建一个全局地址,该全局地址的网络前缀和基站ID等于自己在域D3的网络前缀和基站ID,车辆ID等于通信响应消息的源地址的车辆ID,然后将通信响应消息的源地址设置为该全局地址,将通信响应消息转发到接入路由器AR3;
接入路由器AR3将通信响应消息转发到互联网,最终通信响应消息通过互联网到达接入路由器AR1;接入路由器AR1查看所有的车辆表,选择家乡地址域值的车辆ID等于通信响应消息的目的地址的车辆ID的车辆表项E4,将通信响应消息的目的地址更新为车辆表项E4的局部地址,将通信响应消息转发到距离通信响应消息目的地址中的地理坐标最近的邻居车辆节点;
步骤518:如果车辆节点V1接收到通信响应消息,执行步骤520,否则执行步骤519;
步骤519:车辆节点接收到通信响应消息后,将通信响应消息转发到距离通信响应消息目的地址中的地理坐标最近的邻居车辆节点,执行步骤518;
步骤520:车辆节点V1保存通信响应消息中的响应数据;
步骤521:结束。