1.一种智能车联网的路由实现方法,其特征在于,所述车联网包括接入节点、车辆节点和服务器;接入节点配置一个上游接口和一个下游接口,上游接口与互联网相连,下游接口与车辆节点链路相连;服务器具有公知的IPv6地址,通过互联网访问该服务器;一个车辆节点配置一个接口或者两个接口,配置两个接口的车辆节点称为主干节点,主干节点的两个接口分别为一个上游接口和一个下游接口,上游接口与互联网相连,下游接口与车辆节点或者接入节点的下游接口相连;
每个接口由接口ID唯一标识,每个接口配置一个IPv6地址,该地址由网络前缀和标识该接口的接口ID构成,网络前缀预先设置;所述车联网覆盖的区域由路口和道路构成,每个路口设置一个接入节点,两个路口之间的道路称为路段,该路段由设置在该两个路口的接入节点标识;每个接入节点具有唯一的坐标,车辆节点通过电子地图获取每个接入节点的坐标;
在路段RS1由接入节点AP1和接入节点AP2标识,接入节点AP1的坐标为(x1,y1),接入节点AP2的坐标为(x2,y2)的条件下,如果车辆节点通过接入节点AP1进入路段RS1,向接入节点AP2行使,该车辆节点则将路段RS1标记为<(x1,y1),(x2,y2)>;
车辆节点保存一个连接表,一个连接表项包含地址域、坐标域和生命周期域;路段RS1由接入节点AP1和接入节点AP2标识,接入节点AP1定期执行下述操作建立连接表:步骤101:开始;
步骤102:接入节点AP1从下游接口发送一个连接消息,该连接消息的源地址为接入节点AP1的下游接口的IPv6地址,目的地址为广播地址,即IPv6地址的每个比特为均为1,负载为接入节点AP1的坐标;
步骤103:判断是接入节点AP2还是车辆节点接收到该连接消息,如果是接入节点AP2则执行步骤107,否则执行步骤104;
步骤104:车辆节点接收到该连接消息后,查看连接表,如果存在一个连接表项,该连接表项的地址域值等于该连接消息的源地址且生命周期与最大生命周期之间的差值的绝对值小于阈值T1,则执行步骤107,否则执行步骤105;
步骤105:接收到该连接消息的车辆节点查看连接表,如果存在一个连接表项,该连接表项的地址域值等于该连接消息的源地址,则将该连接表项的坐标域值设置为该连接消息负载中的坐标域值,将生命周期设置为最大值;否则,车辆节点创建一个连接表项,该连接表项的地址域值等于该连接消息的源地址,坐标域值设置为该连接消息负载中的坐标域值,将生命周期设置为最大值;
步骤106:接收到该连接消息的车辆节点转发该连接消息,执行步骤103;
步骤107:结束。
2.根据权利要求1所述一种智能车联网的路由实现方法,其特征在于,路段RS1由接入节点AP1和接入节点AP2标识,接入节点AP2定期执行下述操作建立连接表:步骤201:开始;
步骤202:接入节点AP2从下游接口发送一个连接消息,该连接消息的源地址为接入节点AP2的下游接口的IPv6地址,目的地址为广播地址,负载为接入节点AP2的坐标;
步骤203:判断是接入节点AP1还是车辆节点接收到该连接消息,如果是接入节点AP1则执行步骤207,否则执行步骤204;
步骤204:车辆节点接收到该连接消息后,查看连接表,如果存在一个连接表项,该连接表项的地址域值等于该连接消息的源地址且生命周期与最大生命周期之间的差值的绝对值小于阈值T1,则执行步骤207,否则执行步骤205;
步骤205:接收到该连接消息的车辆节点查看连接表,如果存在一个连接表项,该连接表项的地址域值等于该连接消息的源地址,则将该连接表项的坐标域值设置为该连接消息负载中的坐标域值,将生命周期设置为最大值;否则,车辆节点创建一个连接表项,该连接表项的地址域值等于该连接消息的源地址,坐标域值设置为该连接消息负载中的坐标域值,将生命周期设置为最大值;
步骤206:接收到该连接消息的车辆节点转发该连接消息,执行步骤203;
步骤207:结束。
3.根据权利要求2所述一种智能车联网的路由实现方法,其特征在于,主干节点B1位于路段RS1上,主干节点B1定期执行下述操作建立连接表:步骤301:开始;
步骤302:主干节点B1从下游接口发送一个连接消息,该连接消息的源地址为主干节点B1的下游接口的IPv6地址,目的地址为广播地址,负载为主干节点B1的坐标;
步骤303:如果接入节点AP1或者接入节点AP2接收到该连接消息,则执行步骤307,否则执行步骤304;
步骤304:车辆节点接收到该连接消息后,查看连接表,如果存在一个连接表项,该连接表项的地址域值等于该连接消息的源地址且生命周期与最大生命周期之间的差值的绝对值小于阈值T1,则执行步骤307,否则执行步骤305;
步骤305:接收到该连接消息的车辆节点查看连接表,如果存在一个连接表项,该连接表项的地址域值等于该连接消息的源地址,则将该连接表项的坐标域值设置为该连接消息负载中的坐标域值,将生命周期设置为最大值;否则,车辆节点创建一个连接表项,该连接表项的地址域值等于该连接消息的源地址,坐标域值设置为该连接消息负载中的坐标域值,将生命周期设置为最大值;
步骤306:接收到该连接消息的车辆节点转发该连接消息,执行步骤303;
步骤307:结束。
4.根据权利要求3所述的一种智能车联网的路由实现方法,其特征在于,服务器S1的IPv6地址预先设置,服务器S1的IPv6地址为地址A1;服务器S1维护一个车辆表,一个车辆表项包含地址域、路段域、地址集合域、坐标域和生命周期域;
在路段RS1由接入节点AP1和接入节点AP2标识,接入节点AP1的坐标为(x1,y1),接入节点AP2的坐标为(x2,y2),车辆节点V1位于路段RS1上的条件下,如果车辆节点V1不是主干节点且向接入节点AP2行使,则车辆节点V1定期执行下述操作维护车辆表:步骤401:开始;
步骤402:车辆节点V1选择一个连接表项,该连接表项的坐标与自己的坐标距离最近,车辆节点V1发送一个信息消息,该信息消息的源地址为车辆节点V1的IPv6地址,目的地址为该连接表项的地址域值,负载包含车辆节点V1的当前坐标,路段RS1<(x1,y1),(x2,y2)>以及地址集合,该地址集合等于车辆节点V1所有的连接表项的地址域值的并集;
步骤403:如果接入节点或者主干节点接收到该信息消息,且该接入节点或者主干节点的下游接口的IPv6地址等于该信息消息的目的地址,则执行步骤406,否则执行步骤404;
步骤404:接收到信息消息的车辆节点选择一个连接表项,该连接表项的地址域值等于该信息消息的目的地址,如果该连接表项的坐标域值与该车辆节点的坐标之间的距离小于该连接表项的坐标域值与该信息消息负载中的坐标之间的距离,则执行步骤405,否则执行步骤406;
步骤405:接收到信息消息的车辆节点转发该信息消息,执行步骤403;
步骤406:接收到该信息消息的接入节点或者主干节点将该信息消息的目的地址更新为地址A1,从上游接口转发该信息消息;该信息消息通过互联网最终到达服务器S1;服务器S1接收到信息消息后查看车辆表;如果存在一个车辆表项,该车辆表项的地址域值等于该信息消息的源地址,则将该车辆表项的路段域,坐标域和地址集合域分别更新为该信息消息负载中的路段,坐标和地址集合,将生命周期设置为最大值;否则,服务器S1创建一个车辆表项,该车辆表项的地址域值等于该信息消息的源地址,将该车辆表项的路段域,坐标域和地址集合域分别设置为该信息消息负载中的路段,坐标和地址集合,将生命周期设置为最大值;
步骤407:结束。
5.根据权利要求4所述的一种智能车联网的路由实现方法,其特征在于,服务器S1的IPv6地址为地址A1;服务器S1维护一个接入节点表,一个接入节点表项包含上游地址、下游地址、坐标和生命周期域;接入节点AP1定期执行下述操作更新接入节点表:步骤501:开始;
步骤502:接入节点AP1从上游接口发送上传消息,该上传消息的源地址为该上游接口的IPv6地址,目的地址为地址A1,负载为接入节点AP1的下游接口的IPv6地址和坐标;
步骤503:该上传消息通过互联网最终到达服务器S1;服务器S1接收到上传消息后查看接入节点表,如果存在一个接入节点表项,该接入节点表项的下游地址域值等于该上传消息负载中的地址,则将该接入节点表项的坐标域更新为该上传消息负载中的坐标,将生命周期设置为最大值;否则,服务器S1创建一个接入节点表项,该接入节点表项的上游地址域值等于该上传消息的源地址,下游地址域值和坐标域分别设置为该上传消息负载中的地址和坐标,将生命周期设置为最大值;
步骤504:结束。
6.根据权利要求5所述的一种智能车联网的路由实现方法,其特征在于,服务器S1的IPv6地址为地址A1;服务器S1维护一个主干节点表,一个主干节点表项包含上游地址、下游地址、路段、坐标和生命周期域;
在主干节点B1位于路段RS1,路段RS1由接入节点AP1和接入节点AP2标识,接入节点AP1的坐标为(x1,y1),接入节点AP2的坐标为(x2,y2),主干节点B1向接入节点AP2行驶的条件下,主干节点B1定期执行下述操作更新主干节点表:步骤601:开始;
步骤602:主干节点B1从上游接口发送更新消息,该更新消息的源地址为该上游接口的IPv6地址,目的地址为地址A1,负载为主干节点B1的下游接口的IPv6地址,主干节点B1的坐标以及路段RS1,即<(x1,y1),(x2,y2)>;
步骤603:该更新消息通过互联网最终到达服务器S1;服务器S1接收到更新消息后查看主干节点表,如果存在一个主干节点表项,该主干节点表项的下游地址域值等于该更新消息负载中的地址,则将该主干节点表项的坐标域和路段域分别更新为该更新消息负载中的坐标和路段值,将生命周期设置为最大值;否则,服务器S1创建一个主干节点表项,该主干节点表项的上游地址域值等于该更新消息的源地址,下游地址域值、坐标域和路段域分别设置为该更新消息负载中的地址、坐标和路段值,将生命周期设置为最大值;
步骤604:结束。
7.根据权利要求6所述的一种智能车联网的路由实现方法,其特征在于,在车辆节点V1和车辆节点V2不是主干节点,车辆节点V2的接口ID等于I2的条件下,车辆节点V1通过下述过程与车辆节点V1通信:步骤701:开始;
步骤702:车辆节点V1选择一个连接表项,该连接表项的坐标与自己的坐标距离最近,车辆节点V1发送一个请求消息,该请求消息的源地址为车辆节点V1的IPv6地址,目的地址为该连接表项的地址域值,负载包含接口ID I2和车辆节点V1的坐标;
步骤703:如果接入节点或者主干节点接收到该请求消息,且该接入节点或者主干节点的下游接口的IPv6地址等于该请求消息的目的地址,则执行步骤706,否则执行步骤704;
步骤704:接收到请求消息的车辆节点选择一个连接表项,该连接表项的地址域值等于该请求消息的目的地址,如果该连接表项的坐标域值与该车辆节点的坐标之间的距离小于该连接表项的坐标域值与该请求消息负载中的坐标之间的距离,则执行步骤705,否则执行步骤706;
步骤705:接收到请求消息的车辆节点转发该请求消息,执行步骤703;
步骤706:接收到该请求消息的接入节点或者主干节点将该请求消息的目的地址更新为地址A1,从上游接口转发该请求消息;该请求消息通过互联网最终到达服务器S1;服务器S1接收到请求消息后选择一个车辆表项,该车辆表项的地址域值的接口ID等于该请求消息负载中的接口ID;服务器S1查看主干节点表,如果至少存在一个满足条件1和条件2的主干节点表项,则从满足条件1和条件2的所有主干节点表项中选择一个主干节点表项,该主干节点表项的坐标域值与该车辆表项的坐标域值距离最近,将该请求消息的目的地址更新为该主干节点表项的上游地址,从该请求消息负载中删除坐标,将该车辆表项的坐标域值加入到该请求消息的负载中,发送该请求消息,该请求消息通过互联网最终到达目的主干节点;否则服务器S1查看接入节点表,选择一个满足条件3和条件4的接入节点表项,将该请求消息的目的地址更新为该接入节点表项的上游地址,从该请求消息负载中删除车辆节点V1的坐标,将该车辆表项的坐标域值加入到该请求消息的负载中,发送该请求消息,该请求消息通过互联网最终到达目的接入节点;
条件1:该主干节点表项的下游地址包含在该车辆表项的地址集合中;
条件2:该主干节点表项的路段域值等于该车辆表项的路段域值;或者该主干节点表项的路段域值的第一个元素等于该车辆表项的路段域值第二个元素,且该主干节点表项的路段域值的第二个元素等于该车辆表项的路段域值第一个元素;
条件3:该接入节点表项的下游地址包含在该车辆表项的地址集合中;
条件4:该接入节点表项的坐标等于该车辆表项的路段域值的第一个元素或者第二个元素;
步骤707:目的接入节点或者主干节点从上游接口接收到该请求消息后构建一个地址,该地址的网络前缀为0,接口ID等于该请求消息负载中的接口ID,将该请求消息的目的地址更新为构建的地址,从请求消息负载中删除接口ID,将自己的坐标加入到请求消息的负载中并作为最后一个坐标,从下游接口转发该请求消息;
步骤708:判断是否车辆节点V2接收到该请求消息,如果是则执行步骤711,否则执行步骤709;
步骤709:接收到请求消息的其他车辆节点判断自己的坐标与该请求消息负载中的第一个坐标的距离是否小于该请求消息负载中的最后一个坐标与第一个坐标之间的距离,如果是,则执行步骤710,否则执行步骤711;
步骤710:接收到请求消息的其他车辆节点将自己的坐标加入到请求消息的负载中并作为最后一个坐标,转发该请求消息,执行步骤708;
步骤711:车辆节点V2接收到请求消息后,选择一个连接表项,该连接表项的坐标与自己的坐标距离最近,发送一个响应消息,该响应消息的源地址为车辆节点V2的IPv6地址,目的地址为该连接表项的地址域值,负载包含响应数据,该请求消息的源地址的接口ID和车辆节点V2的坐标;
步骤712:接入节点或者主干节点接收到该响应消息且该接入节点或者主干节点的下游接口的IPv6地址等于该响应消息的目的地址,则执行步骤715,否则执行步骤713;
步骤713:接收到响应消息的车辆节点选择一个连接表项,该连接表项的地址域值等于该响应消息的目的地址,如果该连接表项的坐标域值与该车辆节点的坐标之间的距离小于该连接表项的坐标域值与该响应消息负载中的坐标之间的距离,则执行步骤714,否则执行步骤715;
步骤714:接收到响应消息的车辆节点转发该响应消息,执行步骤712;
步骤715:接收到该响应消息的接入节点或者主干节点将该响应消息的目的地址更新为地址A1,从上游接口转发该响应消息;该响应消息通过互联网最终到达服务器S1;服务器S1接收到响应消息后选择一个车辆表项,该车辆表项的地址域值的接口ID等于该响应消息负载中的接口ID;服务器S1查看主干节点表,如果至少存在一个满足条件1和条件2的主干节点表项,则从满足条件1和条件2的所有主干节点表项中选择一个主干节点表项,该主干节点表项的坐标域值与该车辆表项的坐标域值距离最近,将该响应消息的目的地址更新为该主干节点表项的上游地址,从该响应消息负载中删除车辆节点V2的坐标,将该车辆表项的坐标域值加入到该响应消息的负载中,发送该响应消息,该响应消息通过互联网最终到达目的主干节点;否则服务器S1查看接入节点表,选择一个满足条件3和条件4的接入节点表项,将该响应消息的目的地址更新为该接入节点表项的上游地址,从该响应消息负载中删除车辆节点V2的坐标,将该车辆表项的坐标域值加入到该响应消息的负载中,发送该响应消息,该响应消息通过互联网最终到达目的接入节点;
步骤716:目的接入节点或者目的主干节点从上游接口接收到该响应消息后构建一个地址,该地址的网络前缀为0,接口ID等于该响应消息负载中的接口ID,将该响应消息的目的地址更新为构建的地址,从响应消息负载中删除接口ID,将自己的坐标加入到响应消息的负载中并作为最后一个坐标,从下游接口转发该响应消息;
步骤717:判断是否车辆节点V1接收到该响应消息,如果是则执行步骤720,否则执行步骤718;
步骤718:接收到响应消息的其他车辆节点判断自己的坐标与该响应消息负载中的第一个坐标的距离是否小于该响应消息负载中的最后一个坐标与第一个坐标之间的距离,如果是,则执行步骤719,否则执行步骤720;
步骤719:接收到响应消息的车辆节点将自己的坐标加入到响应消息的负载中并作为最后一个坐标,转发该响应消息,执行步骤717;
步骤720:车辆节点V1接收到响应消息后,保存响应消息中的响应数据;
步骤721:结束。