一种车载网接入IPv6互联网的实现方法
技术领域
本发明涉及一种网络接入方法,尤其涉及的是一种车载网接入IPv6互联网的实现方法。
背景技术
车载网作为一种新型车辆通信网络,能够实现车辆与车辆之间、车辆与路边基础设施之间的多跳无线通信。随着车载网技术的不断发展以及各种新应用的不断涌现,迫切需要车载网能够接入互联网以满足用户急剧增长的应用需求。
车载网作为一种特殊类型的移动自组网,具有移动速度快、节点数量多、覆盖面积大等特点。基于IPv6的互联网(以下简称IPv6网络)具有移动性支持、地址资源丰富以及扩展性强等优点。因此,车载网接入IPv6网络成为满足用户应用需求的理想解决方案。
目前的研究人员提出了车载网通过接入基于IPv6的互联网获取网络服务的模式并定义了相应的协议栈,但是由于车载网的体系结构与IPv6网络不通,现有的接入方法具有下列局限性:
1)车载网的地址配置不支持地址重复检测。
2)车载网不支持多跳通信。
3)车辆节点在移动切换过程中需要配置转交地址,由于车辆节点高速行驶,因此频繁的移动切换导致车辆节点的转交地址频繁变动,从而导致丢包率增加,服务质量下降。
因此需要提出一种车载网接入IPv6互联网的实现方法,从而降低数据丢失率,提高服务质量。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种车载网接入IPv6互联网的实现方法。
技术方案:本发明公开了一种车载网接入IPv6互联网的实现方法,所述车载网包括接入路由器,接入节点和车辆节点三类节点;接入路由器与IPv6互联网的骨干网相连,接入节点与一个以上的接入路由器相连;与一个接入路由器相连的所有接入节点覆盖的区域称为路域,每个路域为一个矩形,路域在车载网内呈网格化设置,接入节点都位于网格的边上,车载网包括一个以上的路域,第k路域由地理坐标区间([xk,xk+1],[yk,yk+1])来确定,k取值为自然数;
路域中的接入节点通过接入路由器接入IPv6互联网,车辆节点通过所在路域的接入节点及接入路由器接入到IPv6互联网;一个接入节点同时属于一个或者一个以上的路域,车辆节点具有路由转发功能,通过所在路域距离自己最近的接入节点实现与IPv6互联网的通信;
将车辆节点进入车载网获取的第一个IPv6地址设置为其家乡地址,车辆节点获取家乡地址时所在的路域设为家乡路域;车辆节点在移动过程中,由家乡地址唯一标识,无需配置转交地址;
节点的IPv6地址由三部分组成:第一部分为唯一标识一个路域的路域ID,它是全局路由前缀,一个路域中所有接入节点以及车辆节点在该路域中获取的IPv6地址的路域ID都相同,其值等于相同路域的接入路由器的路域ID;第二部分为唯一标识一个接入节点的接入节点ID,从同一个接入节点获取的IPv6地址的接入节点ID都相同,其值等于该接入节点的接入节点ID;第三部分为唯一标识一个车辆的车辆ID;接入路由器和接入节点的IPv6地址预先设置,接入路由器的接入节点ID和车辆ID为0,接入节点的车辆ID为0;
接入节点和车辆节点定期向邻居节点广播信标消息,车辆节点广播的信标消息负载为IPv6地址、当前的地理坐标、移动方向,速度以及距离最近的接入节点的IPv6地址以及接入节点的地理坐标;接入节点广播的信标消息的负载包括IPv6地址、地理坐标、以及它所属路域的路由ID以及所属路域的地理坐标范围;
一个接入节点属于一个或者一个以上的路域,对于每个路域接入节点保存一个用于记录已经分配的车辆ID;
车辆节点启动后,根据收到的信标消息,选择距离自己最近的接入节点获取IPv6地址;车辆节点从接入节点获取IPv6地址的过程如下:
步骤101:开始;
步骤102:车辆节点产生一个随机数作为车辆ID,将车辆ID与接入节点的路域ID和接入节点ID结合形成临时地址,车辆节点同时向接入节点发送地址请求消息;
步骤103:接入节点检测所属路域的地址分配表,判断车辆节点的车辆ID是否为未分配状态,如果是进行步骤,如果是,进行步骤104,否则进行步骤105;
步骤104:接入节点向车辆节点返回一个地址可用消息,同时将车辆节点的车辆ID的状态设置为已分配状态,进行步骤106;
步骤105:接入节点将最小未分配的车辆ID封装到地址响应消息中,同时将该车辆ID的状态设置为预分配状态,然后将地址响应消息发送给所述车辆节点;
步骤106:车辆节点判断收到的是否为地址可用消息,如果是,进行步骤107,否则进行步骤108;
步骤107:车辆节点将临时地址作为自己的家乡IPv6地址,进行步骤110;
步骤108:车辆节点将地址响应消息中的车辆ID与接入节点在相应路域的路域ID和接入节点ID相结合获得家乡IPv6地址,同时向接入节点返回地址确认消息;
步骤109:接入节点收到地址确认消息后,将分配给车辆节点的车辆ID设置为已分配状态;
步骤110:结束。
由于车辆节点高速行驶,频繁的移动切换导致车辆节点的转交地址频繁变动,从而导致丢包率增加,服务质量下降。本发明克服了上述局限性,车辆节点在移动过程中无需配置转交地址,因此大幅度降低了丢包率,提高了服务质量。基于路域的车载网有效降低了移动切换频率和延迟,从而提高了服务质量。此外,车辆节点通过最近的接入节点获取具有唯一性的IPv6地址,无需地址重复检测,因此提高了地址配置效率,实现了分布式地址配置。
本发明所述方法中,车辆节点通过最近接入节点实现与IPv6互联网的通信;车辆节点通过接收邻居节点广播的信标消息获知最近接入节点的地理位置以及邻居节点的地理位置;一个路域内的接入路由器保存路域内所有接入节点的地理位置;所述地理位置由地理坐标表示;
IPv6节点向车辆节点发送IPv6数据包时,数据包的IPv6源地址和目的地址不变化,链路地址由车辆节点的当前地理坐标构成,链路地址为64比特,前32比特为所在地理坐标坐标的横坐标,后32比特为所在位置地理坐标的纵坐标;如果有一个以上车辆节点的链路地址与目标车辆节点的链路地址相同,那么所述车辆节点收到IPv6数据包后,比较IPv6数据包的目的地址是否为自己的IPv6地址,如果不是,则丢弃数据包,否则处理数据包。
车辆节点通过所在路域距离最近的接入节点实现与IPv6网络的多跳通信,从而减少了路由路径的长度,降低了丢包率,增加了路由路径的稳定性和健壮性。此外,车辆节点将地理坐标作为链路地址,因此无需路由建立和路由发现过程,降低了路由延迟和代价,提高了路由性能。
本发明所述方法中,如果车辆节点在路域RD1内,路域RD1中的接入路由器为接入路由器AR1,车辆节点最近的接入节点为接入节点AP1;车辆节点与IPv6节点的通信过程分为车辆节点向IPv6节点发送数据消息的过程以及IPv6节点向车辆节点发送数据消息的过程;
车辆节点向IPv6节点发送数据消息的过程包括以下步骤:
步骤201:开始;
步骤202:车辆节点判断接入节点AP1是否在自己的一跳范围内,如果是,进行步骤203,否则进行步骤204;
步骤203:车辆节点直接将数据消息转发给接入节点AP1,进行步骤206;
步骤204:通过车辆节点与接入节点AP1之间的节点选择路径逐步发送数据消息,直到接入节点AP1位于路径上任一节点的一跳范围内,每次选择路径的方法是将数据消息发送给地理位置距离接入节点AP1最近的节点,消息的链路地址为由接入节点AP1所在地址位置构成的链路地址;
步骤205:路径上最后一个节点直接将数据消息转发给接入节点AP1;
步骤206:接入节点AP1将数据消息发送到接入路由器AR1,接入路由器AR1按照IPv6路由方式将数据消息路由到目的IPv6节点;
步骤207:结束;
IPv6节点向车辆节点发送数据消息的过程包括以下步骤:
步骤301:开始;
步骤302:IPv6节点发送的数据消息首先到达接入路由器AR1,接入路由器通过定位服务(例如,GPS定位系统)获取目的车辆节点的当前地理位置,然后将数据消息发送到与车辆节点距离最近的接入节点,消息的目的链路地址为由车辆节点当前地址位置构成的链路地址;
步骤303:接入节点收到数据消息后,判断车辆节点是否在其一跳范围内,如果是,进行步骤304,否则进行步骤305;
步骤304:接入节点直接将数据消息转发给目的车辆节点,进行步骤307;
步骤305:通过接入节点与目的车辆节点之间的节点选择路径逐步发送数据消息,直到目的车辆节点位于路径上任一节点的一跳范围内,每次选择路径的方法是将将数据消息发送给地理位置距离车辆节点最近的节点,消息的目的链路地址为车辆节点当前所在地址位置构成的链路地址;
步骤306:路径上最后一个节点直接将数据消息转发给车辆节点;
步骤307:结束。
上述过程中,车辆节点通过所在路域距离最近的接入节点实现与IPv6网络的多跳通信,从而减少了通信延迟,提高了通信质量。此外,车辆节点将地理坐标作为链路地址,无需路由建立和路由发现过程,因此大幅度降低了通信延迟和代价,提高了通信性能。
本发明所述方法中,接入路由器保存一个地址绑定表,用于记录在同一个路域内获取IPv6地址的车辆节点当前所在路域的信息;地址绑定表有两个域,一个域为车辆节点的IPv6地址,另一个域为车辆节点所在路域的接入路由器的IPv6地址;
车辆节点在路域内行驶,无需进行移动切换;
如果车辆节点进入接入节点的通信范围,则判定它即将进入一个新的路域,此时,车辆节点进行下述的移动切换操作:
步骤401:开始;
步骤402:车辆节点根据车辆节点的地理位置以及接入节点所属路域的地理坐标范围来判断自己即将进入的新路域;
步骤403:车辆节点向其家乡路域的接入路由器发送更新消息,消息负载为新路域的接入路由器的IPv6地址;
步骤404:车辆节点家乡路域的接入路由器收到更新消息后,将地址绑定表中车辆节点所在路域的接入路由器地址更新为新路域的接入路由器的IPv6地址;
步骤405:结束。
此外,车辆节点由家乡地址唯一标识,在移动过程中无需配置转交地址,因此大幅度降低了移动转交延迟。此外,车辆节点在移动切换过程中,通过同一个接入节点获取移动切换前和移动切换后的数据,因此降低了丢包率,保证了通信质量。
有益效果:本发明提供了一种车载网接入IPv6互联网的实现方法,所述车载网通过本发明所提供的接入方法可获取IPv6网络提供的网络服务,同时保持移动过程中通信的连续性,缩短移动切换延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的车载网结构示意图。
图2为本发明所述的节点IPv6地址结构示意图。
图3为本发明所述的车辆节点配置IPv6地址的流程示意图。
图4为本发明所述的车辆节点向IPv6节点发送数据消息的流程示意图。
图5为本发明所述的IPv6节点向车辆节点发送数据消息的流程示意图。
图6为本发明所述的车辆节点移动切换流程示意图。
具体实施方式:
本发明提供了一种车载网接入IPv6互联网的实现方法,所述车载网通过本发明所提供的接入方法可获取IPv6网络提供的网络服务,同时保持移动过程中通信的连续性,缩短移动切换延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
图1为本发明所述的车载网结构示意图。所述车载网包括接入路由器1,接入节点2和车辆节点3三类节点;接入路由器1与IPv6互联网的骨干网相连,接入节点2与一个以上的接入路由器1相连;与一个接入路由器1相连的所有接入节点2覆盖的区域称为路域4,路域为一个矩形,车载网包括一个以上的路域4,第k路域由地理坐标区间([xk,xk+1],[yk,yk+1])来确定,k取值为自然数;例如,一个路域由四个接入节点构成,那么这四个接入节点确定了路域的地址坐标范围,如图1所示。
路域4中的接入节点2通过接入路由器1接入IPv6互联网,车辆节点3通过所在路域4的接入节点2及接入路由器1接入到IPv6互联网;一个接入节点2同时属于一个或者一个以上的路域4,车辆节点3具有路由转发功能,通过所在路域4距离自己最近的接入节点2实现与IPv6互联网的通信;
图2为本发明所述的节点IPv6地址结构示意图。将车辆节点进入车载网获取的第一个IPv6地址设置为其家乡地址,车辆节点获取家乡地址时所在的路域设为家乡路域;车辆节点在移动过程中,由家乡地址唯一标识,无需配置转交地址;
节点的IPv6地址由三部分组成:第一部分为唯一标识一个路域的路域ID,它是全局路由前缀,一个路域中所有接入节点以及车辆节点在该路域中获取的IPv6地址的路域ID都相同,其值等于相同路域的接入路由器的路域ID;第二部分为唯一标识一个接入节点的接入节点ID,从同一个接入节点获取的IPv6地址的接入节点ID都相同,其值等于该接入节点的接入节点ID;第三部分为唯一标识一个车辆的车辆ID;接入路由器和接入节点的IPv6地址预先设置,接入路由器的接入节点ID和车辆ID为0,接入节点的车辆ID为0。
图3为本发明所述的车辆节点配置IPv6地址的流程示意图。接入节点和车辆节点定期向邻居节点广播信标消息,车辆节点广播的信标消息负载为IPv6地址、当前的地理坐标、移动方向,速度以及距离最近的接入节点的IPv6地址以及接入节点的地理坐标;接入节点广播的信标消息的负载包括IPv6地址、地理坐标、以及它所属路域的路由ID以及所属路域的地理坐标范围;一个接入节点属于一个或者一个以上的路域,对于每个路域接入节点保存一个用于记录已经分配的车辆ID;车辆节点启动后,根据收到的信标消息,选择距离自己最近的接入节点获取IPv6地址;车辆节点从接入节点获取IPv6地址的过程如下:
步骤101:开始。
步骤102:车辆节点产生一个随机数作为车辆ID,将车辆ID与接入节点的路域ID和接入节点ID结合形成临时地址,车辆节点同时向接入节点发送地址请求消息。
步骤103:接入节点检测所属路域的地址分配表,判断车辆节点的车辆ID是否为未分配状态,如果是进行步骤,如果是,进行步骤104,否则进行步骤105。
步骤104:接入节点向车辆节点返回一个地址可用消息,同时将车辆节点的车辆ID的状态设置为已分配状态,进行步骤106。
步骤105:接入节点将最小未分配的车辆ID封装到地址响应消息中,同时将该车辆ID的状态设置为预分配状态,然后将地址响应消息发送给所述车辆节点。
步骤106:车辆节点判断收到的是否为地址可用消息,如果是,进行步骤107,否则进行步骤108。
步骤107:车辆节点将临时地址作为自己的家乡IPv6地址,进行步骤110。
步骤108:车辆节点将地址响应消息中的车辆ID与接入节点在相应路域的路域ID和接入节点ID相结合获得家乡IPv6地址,同时向接入节点返回地址确认消息。
步骤109:接入节点收到地址确认消息后,将分配给车辆节点的车辆ID设置为已分配状态。
步骤110:结束。
由于车辆节点高速行驶,频繁的移动切换导致车辆节点的转交地址频繁变动,从而导致丢包率增加,服务质量下降。本发明克服了上述局限性,车辆节点在移动过程中无需配置转交地址,因此大幅度降低了丢包率,提高了服务质量。基于路域的车载网有效降低了移动切换频率和延迟,从而提高了服务质量。此外,车辆节点通过最近的接入节点获取具有唯一性的IPv6地址,无需地址重复检测,因此提高了地址配置效率,实现了分布式地址配置。
图4为本发明所述的车辆节点向IPv6节点发送数据消息的流程示意图。车辆节点通过最近接入节点实现与IPv6互联网的通信;车辆节点通过接收邻居节点广播的信标消息获知最近接入节点的地理位置以及邻居节点的地理位置;一个路域内的接入路由器保存路域内所有接入节点的地理位置;所述地理位置由地理坐标表示。
IPv6节点向车辆节点发送IPv6数据包时,数据包的IPv6源地址和目的地址不变化,链路地址由车辆节点的当前地理坐标构成,链路地址为64比特,前32比特为所在地理坐标坐标的横坐标,后32比特为所在位置地理坐标的纵坐标;如果有一个以上车辆节点的链路地址与目标车辆节点的链路地址相同,那么所述车辆节点收到IPv6数据包后,比较IPv6数据包的目的地址是否为自己的IPv6地址,如果不是,则丢弃数据包,否则处理数据包。
车辆节点通过所在路域距离最近的接入节点实现与IPv6网络的多跳通信,从而减少了路由路径的长度,降低了丢包率,增加了路由路径的稳定性和健壮性。此外,车辆节点将地理坐标作为链路地址,因此无需路由建立和路由发现过程,降低了路由延迟和代价,提高了路由性能。
如果车辆节点在路域RD1内,路域RD1中的接入路由器为接入路由器AR1,车辆节点最近的接入节点为接入节点AP1;车辆节点与IPv6节点的通信过程分为车辆节点向IPv6节点发送数据消息的过程以及IPv6节点向车辆节点发送数据消息的过程。
车辆节点向IPv6节点发送数据消息的过程包括以下步骤:
步骤201:开始。
步骤202:车辆节点判断接入节点AP1是否在自己的一跳范围内,如果是,进行步骤203,否则进行步骤204。
步骤203:车辆节点直接将数据消息转发给接入节点AP1,进行步骤206。
步骤204:通过车辆节点与接入节点AP1之间的节点选择路径逐步发送数据消息,直到接入节点AP1位于路径上任一节点的一跳范围内,每次选择路径的方法是将数据消息发送给地理位置距离接入节点AP1最近的节点,消息的链路地址为由接入节点AP1所在地址位置构成的链路地址。
步骤205:路径上最后一个节点直接将数据消息转发给接入节点AP1。
步骤206:接入节点AP1将数据消息发送到接入路由器AR1,接入路由器AR1按照IPv6路由方式将数据消息路由到目的IPv6节点。
步骤207:结束。
上述过程中,车辆节点通过所在路域距离最近的接入节点实现与IPv6网络的多跳通信,从而减少了通信延迟,提高了通信质量。此外,车辆节点将地理坐标作为链路地址,无需路由建立和路由发现过程,因此大幅度降低了通信延迟和代价,提高了通信性能。
图5为本发明所述的IPv6节点向车辆节点发送数据消息的流程示意图。如果车辆节点在路域RD1内,路域RD1中的接入路由器为接入路由器AR1,车辆节点最近的接入节点为接入节点AP1;车辆节点与IPv6节点的通信过程分为车辆节点向IPv6节点发送数据消息的过程以及IPv6节点向车辆节点发送数据消息的过程;
IPv6节点向车辆节点发送数据消息的过程包括以下步骤:
步骤301:开始。
步骤302:IPv6节点发送的数据消息首先到达接入路由器AR1,接入路由器通过定位服务(例如,GPS定位系统)获取目的车辆节点的当前地理位置,然后将数据消息发送到与车辆节点距离最近的接入节点,消息的目的链路地址为由车辆节点当前地址位置构成的链路地址。
步骤303:接入节点收到数据消息后,判断车辆节点是否在其一跳范围内,如果是,进行步骤304,否则进行步骤305。
步骤304:接入节点直接将数据消息转发给目的车辆节点,进行步骤307。
步骤305:通过接入节点与目的车辆节点之间的节点选择路径逐步发送数据消息,直到目的车辆节点位于路径上任一节点的一跳范围内,每次选择路径的方法是将将数据消息发送给地理位置距离车辆节点最近的节点,消息的目的链路地址为车辆节点当前所在地址位置构成的链路地址。
步骤306:路径上最后一个节点直接将数据消息转发给车辆节点。
步骤307:结束。
上述过程中,车辆节点通过所在路域距离最近的接入节点实现与IPv6网络的多跳通信,从而减少了通信延迟,提高了通信质量。此外,车辆节点将地理坐标作为链路地址,无需路由建立和路由发现过程,因此大幅度降低了通信延迟和代价,提高了通信性能。
图6为本发明所述的车辆节点移动切换流程示意图。接入路由器保存一个地址绑定表,用于记录在同一个路域内获取IPv6地址的车辆节点当前所在路域的信息;地址绑定表有两个域,一个域为车辆节点的IPv6地址,另一个域为车辆节点所在路域的接入路由器的IPv6地址。
车辆节点在路域内行驶,无需进行移动切换。
如果车辆节点进入接入节点的通信范围,则判定它即将进入一个新的路域,此时,车辆节点进行下述的移动切换操作:
步骤401:开始。
步骤402:车辆节点根据车辆节点的地理位置以及接入节点所属路域的地理坐标范围来判断自己即将进入的新路域。
步骤403:车辆节点向其家乡路域的接入路由器发送更新消息,消息负载为新路域的接入路由器的IPv6地址。
步骤404:车辆节点家乡路域的接入路由器收到更新消息后,将地址绑定表中车辆节点所在路域的接入路由器地址更新为新路域的接入路由器的IPv6地址。
步骤405:结束。
此外,车辆节点由家乡地址唯一标识,在移动过程中无需配置转交地址,因此大幅度降低了移动转交延迟。此外,车辆节点在移动切换过程中,通过同一个接入节点获取移动切换前和移动切换后的数据,因此降低了丢包率,保证了通信质量。
本发明提供了车载网接入IPv6互联网的实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。