发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种延迟短、网络服务质量高的基于IPv6的车载网地址配置方法。
技术方案:本发明公开了一种基于IPv6的车载网地址配置方法,所述车载网中设置三类节点:接入路由器节点、接入节点及车辆节点;接入路由器节点与IPv6互联网的路由骨干网相连;所有接入节点覆盖整个车载网,并通过接入路由器节点接入到IPv6互联网;
将与一个接入路由器节点所连接的所有接入节点所覆盖的区域作为路域,将一个接入节点覆盖的区域作为路段;车辆节点通过所在路段的接入节点连接到IPv6互联网;
车辆节点包括三种类型:离开节点,进入节点和普通节点;
对于正在服务的路段,将位于两个接入节点覆盖区域内的车辆节点设为离开节点,对于下一个进入的路段,将上述车辆节点设为进入节点;普通节点为只位于当前服务路段的接入节点覆盖区域内的车辆节点;
车载网内的所有节点的IPv6地址由三部分组成,第一部分是路域ID,一个路域ID唯一标识一个路域,一个路域中所有接入节点及车辆节点的路域ID都相同,其值等于路域内的接入路由器节点的全局路由前缀;第二部分为路段ID,路段ID唯一标识一个路段,一个路段内所有车辆节点的路段ID都相同,其值等于相同路段内接入节点的路段ID;第三部分为车辆ID,唯一标识一个车辆节点;接入路由器节点的路段ID和车辆ID为0,接入节点的车辆ID为0;
初始状态下,接入路由器节点和接入节点的IPv6地址预先设定;本发明利用现有的基础设施来实现。由于现有设施中的接入路由器节点和接入节点的IPv6地址已经设置完成,因此本发明中的接入路由器节点和接入节点的IPv6地址预先设定。例如接入路由器节点的IPv6地址可以设置为3E01:1:1:1:1:1:1::/112,接入节点的IPv6地址可以设置为3E01:1:1:1:1:1:1:1000/116。
每个车辆节点定期在一跳范围内广播消息,消息负载为车辆节点的类型;离开节点和进入节点的消息负载还包括当前服务路段的接入节点的IPv6地址和即将进入的接入节点的IPv6地址;普通节点的消息负载内容包括它的可分配地址空间长度;
车辆节点进入一个新路段时,获取一个新的IPv6地址,同时获取一个可分配地址空间用于为邻居车辆节点进行地址配置;
普通节点转变为进入节点后,首先检测是否可以从下一个进入的路段中的邻居车辆节点获取IPv6地址,如果无法从下一个路段的邻居车辆节点获取IPv6地址,则从下一个路段的接入节点获取IPv6地址。
通过上述车载网体系结构,即将进入下一个路段的节点可以从一跳范围内的邻居节点或者接入节点获取IPv6地址,实现了分布式地址配置,降低了地址配置代价和延迟,降低了丢包率,保证了通信的连续性。
本发明所述方法中,当车辆节点X从路段RS1行驶到路段RS2,车辆节点Y从路段RS2行驶到路段RS1,路段RS1的接入节点为接入节点AP1,路段RS2的接入节点为接入节点AP2时,车辆节点X收到车辆节点Y广播的消息后,通过消息负载得知车辆节点Y正在从路段RS2行驶到路段RS1,那么车辆节点X通过下述步骤获取IPv6地址:
步骤101:开始;
步骤102:车辆节点X向车辆节点Y发送地址交换消息,地址交换消息的消息负载为接入节点AP2的IPv6地址以及车辆节点X的可分配的地址空间;
步骤103:车辆节点Y收到地址交换消息后,通过车辆节点X的IPv6地址得知它的下一个路段为路段RS2,车辆节点Y向车辆节点X返回地址交换确认消息,同时将车辆节点X的IPv6地址以及地址空间设置为自己的IPv6地址和地址空间;
步骤104:车辆节点X收到地址交换确认消息后,将车辆节点Y的IPv6地址以及地址空间设置为自己的IPv6地址和地址空间;
步骤105:车辆节点X和车辆节点Y获得了下一个路段的IPv6地址和地址空间;
步骤106:结束。
通过上述过程,两个在一跳范围内的节点通过交换地址同时获取了在下一个路段的IPv6地址和地址空间,可以为其他节点进行地址配置,因此大幅度降低了地址配置代价和延迟,降低了丢包率,保证了通信的连续性。
本发明所述方法中,如果车辆节点X从路段RS1行驶到路段RS2,车辆节点Y1为路段RS2的普通节点,路段RS1的接入节点为接入节点AP1,路段RS2的接入节点为接入节点AP2;
当车辆节点X没有收到即将离开路段RS2的车辆节点广播的消息,但是收到了路段RS2中普通节点Y1广播的消息且普通节点Y1的可分配地址空间为[L,U],L和U为正整数且L小于U,那么车辆节点X通过下述步骤获取IPv6地址及地址空间:
步骤201:开始;
步骤202:车辆节点X向车辆节点Y1发送地址请求消息;
步骤203:车辆节点Y1收到地址请求消息后,向车辆节点X返回一个地址响应消息,地址响应消息的消息负载为分配的地址空间
车辆节点Y1同时将自己的地址空间更新为
步骤204:车辆节点X收到地址响应消息后,将地址
作为车辆ID,并与车辆节点Y1的路域ID和路段ID相结合得到自己的IPv6地址,同时将自己的地址空间更新为
步骤205:车辆节点X从车辆节点Y1获得了下一个路段的IPv6地址和地址空间;
步骤206:结束。
通过上述过程,进入下一个路段的节点可以从一跳范围内的节点获取了IPv6地址和地址空间,可以为其他节点进行地址配置,因此降低了地址配置代价和延迟,降低了丢包率,保证了通信的连续性。
本发明所述方法中,如果车辆节点即将离开所在服务的路段且没有收到地址交换消息,那么它向所在服务的路段的接入节点发送地址释放消息,消息负载为它的地址空间;接入节点收到车辆节点的地址释放消息后,预留一段时间用于将其分配给进入节点;如果在预留时间内没有进入节点的地址请求消息,则回收车辆节点的地址空间。
本发明所述方法中,如果车辆节点X从路段RS1行驶到路段RS2,车辆节点Y1为路段RS2的离开节点,路段RS1的接入节点为接入节点AP1,路段RS2的接入节点为接入节点AP2;
如果车辆节点X没有收到路段RS2内邻居节点广播的消息且接入节点AP2收到车辆节点Y的地址释放消息,地址释放消息的消息负载为车辆节点Y的地址L和地址空间[L+1,U],那么车辆节点X通过下述步骤获取IPv6地址:
步骤301:开始;
步骤302:车辆节点X向接入节点AP2发送地址请求消息;
步骤303:接入节点AP2收到地址请求消息后,将车辆节点Y所发送的地址释放消息直接转发给车辆节点X;
步骤304:车辆节点X收到地址释放消息后,将地址L作为车辆ID,并将车辆ID与接入节点AP2的路域ID和路段ID相结合得到自己的地址,同时将地址[L+1,U]设置为自己的地址空间;
步骤305:车辆节点X获得下一个路段的IPv6地址和地址空间;
步骤306:结束。
通过上述过程,进入下一个路段的节点可以直接通过接入节点获取离开节点的IP地址以及地址资源,因此降低了地址配置代价和延迟,降低了丢包率,保证了通信的连续性。
本发明所述方法中,如果车辆节点X从路段RS1行驶到路段RS2,车辆节点Y1为路段RS2的离开节点,路段RS1的接入节点为接入节点AP1,路段RS2的接入节点为接入节点AP2;
如果车辆节点X没有收到路段RS2内邻居节点广播的消息且接入节点AP2已经收到车辆节点Y的地址空间,那么车辆节点X通过下述步骤获取IPv6地址:
步骤401:开始;
步骤402:车辆节点X向接入节点AP2发送地址请求消息;
步骤403:接入节点AP2收到地址请求消息后,它从地址池中选取一段地址空间[L1,U1],L1和U1为正整数且L1小于U1,接入节点AP2将地址空间装在地址响应消息中,并将地址响应消息返回给车辆节点X,同时将地址空间[L,U]标记为已分配状态;
步骤404:车辆节点X收到地址响应消息后,将地址L作为车辆ID,并与接入节点AP2的路域ID和路段ID相结合得到自己的地址,同时将地址空间更新为[L+1,U];
步骤405:车辆节点X获得下一个路段的IPv6地址和地址空间;
步骤406:结束。
通过上述过程,进入下一个路段的节点可以直接从接入节点获取IP地址以及地址资源,从而确保在车辆密度稀少的情况下,车辆节点也能获取IP地址,从而保证了通信的连续性。
本发明所述方法中,如果车辆节点X从路段RS1行驶到路段RS2,路段RS1的接入节点为AP1,路段RS2的接入节点为AP2,车辆节点X通过下述优先级步骤获取IPv6地址:
步骤501:开始;
步骤502:车辆节点X查看是否存在从路段RS2行驶到路段RS1的车辆节点,如果是,进行步骤503,否则进行步骤504;
步骤503:车辆节点X从路段RS2行驶到路段RS1的车辆节点交换地址和地址空间从而获取下一个路段的IPv6地址和地址空间,进行步骤510;
步骤504:车辆节点X查看在路段RS2是否存在邻居普通节点,如果是,进行步骤505,否则进行步骤506;
步骤505:车辆节点X从路段RS2的邻居普通节点获取下一个路段的IPv6地址和地址空间,进行步骤510;
步骤506:车辆节点X向路段RS2的接入节点AP2申请IPv6地址和地址空间;
步骤507:路段RS2的接入节点AP2查看是否有离开节点发送的释放地址消息,如果是,进行步骤508,否则进行步骤509;
步骤508:接入节点AP2直接将释放地址消息中的地址空间分配给车辆节点X,进行步骤510;
步骤509:接入节点AP2从地址池中为车辆节点X分配IPv6地址和地址空间;
步骤510:结束。
通过上述过程,车辆节点会选择地址配置代价和延迟最小的地址配置方法来配置地址,因此,本发明不仅保证了车辆节点能够获取IP地址,而且还保证了以最低代价和延迟获取IP地址,进而保证了通信的连续性。
有益效果:本发明提供了一种基于IPv6的车载网地址配置方法,所述地址配置方法可以为移动速度快的车辆节点快速配置IP地址,从而确保了路由的正确性,减少了丢包率,提高了网络服务质量。本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
具体实施方式:
本发明提供了一种基于IPv6的车载网地址配置方法,所述地址配置方法可以为移动速度快的车辆节点快速配置IP地址,从而确保了路由的正确性,减少了丢包率,提高了网络服务质量。本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
如图1所示,本发明所述车载网中设置三类节点:接入路由器节点1、接入节点2及车辆节点;接入路由器节点1与IPv6互联网3的路由骨干网相连;所有接入节点2覆盖整个车载网,并通过接入路由器节点1接入到IPv6互联网3;与一个接入路由器节点1所连接的所有接入节点2所覆盖的区域作为路域4,一个接入节点覆盖的路域4中的区域作为路段5;车辆节点通过所在路段5的接入节点2连接到IPv6互联网3;车辆节点包括三种类型:离开节点6,进入节点7和普通节点8;对于正在服务的路段5,将位于两个接入节点2覆盖区域内的车辆节点设为离开节点6,对于下一个进入的路段5,将上述车辆节点设为进入节点7;普通节点8为只位于当前服务路段5的接入节点2覆盖区域内的车辆节点。
如图2所示,本发明车载网内的所有节点的IPv6地址由三部分组成,第一部分是路域ID,一个路域ID唯一标识一个路域,一个路域中所有接入节点及车辆节点的路域ID都相同,其值等于路域内的接入路由器节点的全局路由前缀;第二部分为路段ID,路段ID唯一标识一个路段,一个路段内所有车辆节点的路段ID都相同,其值等于相同路段内接入节点的路段ID;第三部分为车辆ID,唯一标识一个车辆节点;接入路由器节点的路段ID和车辆ID为0,接入节点的车辆ID为0;初始状态下,接入路由器节点和接入节点的IPv6地址预先设定;每个车辆节点定期在一跳范围内广播消息,消息负载为车辆节点的类型;离开节点和进入节点的消息负载还包括当前服务路段的接入节点的IPv6地址和即将进入的接入节点的IPv6地址;普通节点的消息负载内容包括它的可分配地址空间长度;车辆节点进入一个新路段时,获取一个新的IPv6地址,同时获取一个可分配地址空间用于为邻居车辆节点进行地址配置;普通节点转变为进入节点后,首先检测是否可以从下一个进入的路段中的邻居车辆节点获取IPv6地址,如果无法从下一个路段的邻居车辆节点获取IPv6地址,则从下一个路段的接入节点获取IPv6地址。
如图3所示,当车辆节点X从路段RS1行驶到路段RS2,车辆节点Y从路段RS2行驶到路段RS1,路段RS1的接入节点为接入节点AP1,路段RS2的接入节点为接入节点AP2时,车辆节点X收到车辆节点Y广播的消息后,通过消息负载得知车辆节点Y正在从路段RS2行驶到路段RS1,那么车辆节点X通过下述步骤获取IPv6地址:
步骤101:开始;
步骤102:车辆节点X向车辆节点Y发送地址交换消息,地址交换消息的消息负载为接入节点AP2的IPv6地址以及车辆节点X的可分配的地址空间;
步骤103:车辆节点Y收到地址交换消息后,通过车辆节点X的IPv6地址得知它的下一个路段为路段RS2,车辆节点Y向车辆节点X返回地址交换确认消息,同时将车辆节点X的IPv6地址以及地址空间设置为自己的IPv6地址和地址空间;
步骤104:车辆节点X收到地址交换确认消息后,将车辆节点Y的IPv6地址以及地址空间设置为自己的IPv6地址和地址空间;
步骤105:车辆节点X和车辆节点Y获得了下一个路段的IPv6地址和地址空间;
步骤106:结束。
如图4所示,如果车辆节点X从路段RS1行驶到路段RS2,车辆节点Y1为路段RS2的普通节点,路段RS1的接入节点为接入节点AP1,路段RS2的接入节点为接入节点AP2;当车辆节点X没有收到即将离开路段RS2的车辆节点广播的消息,但是收到了路段RS2中普通节点Y1广播的消息且普通节点Y1的可分配地址空间为[L,U],L和U为正整数且L小于U,那么车辆节点X通过下述步骤获取IPv6地址及地址空间:
步骤201:开始;
步骤202:车辆节点X向车辆节点Y1发送地址请求消息;
步骤203:车辆节点Y1收到地址请求消息后,向车辆节点X返回一个地址响应消息,地址响应消息的消息负载为分配的地址空间
车辆节点Y1同时将自己的地址空间更新为
步骤204:车辆节点X收到地址响应消息后,将地址作为车辆ID,并与车辆节点Y1的路域ID和路段ID相结合得到自己的IPv6地址,同时将自己的地址空间更新为
步骤205:车辆节点X从车辆节点Y1获得了下一个路段的IPv6地址和地址空间;
步骤206:结束。
如图5所示,如果车辆节点即将离开所在服务的路段且没有收到地址交换消息,那么它向所在服务的路段的接入节点发送地址释放消息,消息负载为它的地址空间;接入节点收到车辆节点的地址释放消息后,预留一段时间用于将其分配给进入节点;如果在预留时间内没有进入节点的地址请求消息,则回收车辆节点的地址空间。如果车辆节点X从路段RS1行驶到路段RS2,车辆节点Y1为路段RS2的离开节点,路段RS1的接入节点为接入节点AP1,路段RS2的接入节点为接入节点AP2;如果车辆节点X没有收到路段RS2内邻居节点广播的消息且接入节点AP2收到车辆节点Y的地址释放消息,地址释放消息的消息负载为车辆节点Y的地址L和地址空间[L+1,U],那么车辆节点X通过下述步骤获取IPv6地址:
步骤301:开始;
步骤302:车辆节点X向接入节点AP2发送地址请求消息;
步骤303:接入节点AP2收到地址请求消息后,将车辆节点Y所发送的地址释放消息直接转发给车辆节点X;
步骤304:车辆节点X收到地址释放消息后,将地址L作为车辆ID,并将车辆ID与接入节点AP2的路域ID和路段ID相结合得到自己的地址,同时将地址[L+1,U]设置为自己的地址空间;
步骤305:车辆节点X获得下一个路段的IPv6地址和地址空间;
步骤306:结束。
如图6所示,如果车辆节点X从路段RS1行驶到路段RS2,车辆节点Y1为路段RS2的离开节点,路段RS1的接入节点为接入节点AP1,路段RS2的接入节点为接入节点AP2;如果车辆节点X没有收到路段RS2内邻居节点广播的消息且接入节点AP2已经收到车辆节点Y的地址空间,那么车辆节点X通过下述步骤获取IPv6地址:
步骤401:开始;
步骤402:车辆节点X向接入节点AP2发送地址请求消息;
步骤403:接入节点AP2收到地址请求消息后,它从地址池中选取一段地址空间[L1,U1],L1和U1为正整数且L1小于U1,接入节点AP2将地址空间装在地址响应消息中,并将地址响应消息返回给车辆节点X,同时将地址空间[L,U]标记为已分配状态;
步骤404:车辆节点X收到地址响应消息后,将地址L作为车辆ID,并与接入节点AP2的路域ID和路段ID相结合得到自己的地址,同时将地址空间更新为[L+1,U];
步骤405:车辆节点X获得下一个路段的IPv6地址和地址空间;
步骤406:结束。
如图7所示,如果车辆节点X从路段RS1行驶到路段RS2,路段RS1的接入节点为AP1,路段RS2的接入节点为AP2,车辆节点X通过下述优先级步骤获取IPv6地址:
步骤501:开始;
步骤502:车辆节点X查看是否存在从路段RS2行驶到路段RS1的车辆节点,如果是,进行步骤503,否则进行步骤504;
步骤503:车辆节点X从路段RS2行驶到路段RS1的车辆节点交换地址和地址空间,从而获取下一个路段的IPv6地址和地址空间,进行步骤510;
步骤504:车辆节点X查看在路段RS2是否存在邻居普通节点,如果是,进行步骤505,否则进行步骤506;
步骤505:车辆节点X从路段RS2的邻居普通节点获取下一个路段的IPv6地址和地址空间,进行步骤510;
步骤506:车辆节点X向路段RS2的接入节点AP2申请IPv6地址和地址空间;
步骤507:路段RS2的接入节点AP2查看是否有离开节点发送的释放地址消息,如果是,进行步骤508,否则进行步骤509;
步骤508:接入节点AP2直接将释放地址消息中的地址空间分配给车辆节点X,进行步骤510;
步骤509:接入节点AP2从地址池中为车辆节点X分配IPv6地址和地址空间;
步骤510:结束。
综上所述,本发明提供了一种基于IPv6的车载网地址配置方法,所述地址配置方法可以为移动速度快的车辆节点快速配置IP地址,从而确保了路由的正确性,减少了丢包率,提高了网络服务质量。本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景,因此,本技术具有很高的推广价值。
本发明提供了一种基于IPv6的车载网地址配置方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。