"); //-->
摘 要: 通过移动无线网络接入Internet的主机可能会经常变换接入点,本文在构建一个完整IPv6网络模型,同时通过引入软切换,有效解决了移动主机在切换过程中可能出现的数据丢失。
关键词: IPv6; 切换; 软切换; 移动网络
1 系统介绍
通过移动无线网络连接到Internet的主机可能会经常变换接入点,这就需要提供一个有效机制用以保证数据包到移动主机的有效寻址。在数据收发过程中,接入点的变换通常称为切换(handoff),在切换过程中或者切换后的极短时间内,由于主机位置信息的延迟数据包可能会丢失。因为切换正变得越来越频繁,有效地降低丢包是确保QoS的前提。蜂窝式IPv6(CIPv6:Cellular IP for IPv6)是一个支持主机频繁切换的协议,该协议主要用于本地网,同时也可以与使用于广域的通用的移动IPv6(MIPv6:Mobile IPv6)有效协同[1],从而共同构成广域的移动IPv6网络。
1.1 模型实体
(1)CIPv6节点:构成CIPv6网络的基础元素,主要功能有两个:①CIPv6节点可以在CIPv6网络中为数据包提供无线访问路由;②为无线访问提供接入,所以也称为基站。
(2)CIPv6基站:同CIPv6节点。
(3)CIPv6网关:提供CIPv6网络和Internet的互联接口。
(4)CIPv6主机:应用CIPv6协议的移动主机。
1.2 模型构成
图1是CIPv6网络结构和数据流向,每个基站周期性地发射Beacon信号,移动主机通过这些信号寻找最近的基站。通常,所有移动主机发出的数据包在基站间通过最短路径的方式实现路由,并不考虑目标IP。CIPv6节点负责维护一个路由缓冲区,移动主机发送的数据包在每个节点的路由缓冲区中创建并更新一个记录,每个记录在映射移动主机IP的同时还记录数据包来源节点的IP。在每个CIPv6节点缓冲区中形成的记录链总是对应一个特定的移动主机,下行数据也通过这个记录链到达移动主机。这个记录链总是对应主机的最新位置,因为当主机移动时,通过上行数据包,记录链也会随时被更新。此外,下行数据到移动主机的路由也由记录链负责。为防止记录链超时,移动主机会周期地发送控制数据包,控制数据包是IPv6协议的扩展,协议头实现了适应CIPv6网络的最短路径方式和CIPv6控制信息。当移动主机未处于发送数据的激活状态时,仍可以接收数据,这时CIPv6节点会维护一个分页缓冲区,所有的下行数据由分页缓冲区负责提供路由,分页缓冲区比路由缓冲区有更长的超时时间。
1.3 位置管理和路由
CIPv6使用两个并行的缓冲区来维护移动主机的位置信息,两个缓冲区的操作方式基本相同。当移动主机处于活动状态,CIPv6网络必须可以管理移动主机在基站间的移动,以保证数据到达主机,所以移动主机必须随时向网络通报每次切换。对于睡眠状态的主机,位置信息是相对次要的,最小化通信量以保证电量的节省具有更高的优先级。所以,两个CIPv6缓冲区分别对应活动主机和睡眠主机。双缓冲区还有性能方面的优势,单缓冲区用以存储所有移动主机的位置信息时,下行数据就需要在整个缓冲区中遍历一次,这对于睡眠主机没意义。
2 CIPv6的功能
2.1位置管理
CIPv6允许睡眠模式的移动主机在不进行位置信息更新的情况下跨基站边界漫游,网络运营商可以将基站集群组织成分页区,分页区可以由任意数量的基站构成,每个分页区拥有CIPv6网络中唯一的ID。每个基站通过Beacon信号周期性地发送分页区的ID,从而使移动主机在跨分页区时得到必要的数据包。睡眠移动主机在跨越分页区时必须发送一个分页更新数据包,分页更新数据包会采用最短路径方式上行,最终到达CIPv6网关。其间经过的节点形成分页缓冲区,分页缓冲区中形成一个记录对应每个睡眠移动主机。当数据包下行到CIPv6节点时,由分页缓冲负责其路由。如果所到节点没有分页缓冲区,则数据包会继续下行到相邻节点;如果仍然没有分页缓冲区或者分页缓冲区没有对应移动主机的记录,则数据包被丢弃。在整个下行路径上的节点可能有分页缓冲区,也可能没有,这取决于最后一次分页更新数据包的上行路径。当移动主机接收到下行数据包后,便由睡眠状态转为激活状态,同时通过发送路由更新数据包建立其路由缓冲区,后续的下行数据由路由缓冲区负责其路由。
2.2 路由
分页缓冲区和路由缓冲区都可以为CIPv6网络中的数据包提供路由,表1列出了两者的差异。
2.3 切换
切换的初始化由移动主机完成。当活动主机靠近一个新的基站时,它会发送一个路由更新数据包,并将后续的数据包指向新的基站。路由更新数据包会更新对应的整个路由缓冲记录链。睡眠主机仅当进入新的分页区时才会发送分页更新数据包;当在同一个分页区中切换基站时,睡眠主机不发送数据,因为在一个分页区中的分页缓冲区都相同。
2.4 漫游
当移动主机在不同的CIPv6网络间漫游时,主机将根据基站周期发送的Beacon信号判断已经进入新的CIPv6网络,Beacon信号同时包含新CIPv6网络的网关IP。主机一旦作出判断,就自动启用无地址状态模式[2],无地址状态模式会自行配置新的IP,并检验新IP是否与新的CIPv6网络IP冲突,如不冲突就以此IP作为在新CIPv6网络中的临时IP。
3 协议
3.1协议参数
表2为CIPv6网络的协议参数。
3.2 Beacon 结构
CIPv6基站必须周期性地发送Beacon 信号,使得移动主机总可以有一个可用基站。Beacon 信号是基于IPv6的广播,基本形式为:FF02:0:0:0:0:0:0:1,具体结构如表3。
3.3包格式
3.3.1路由更新数据包
路由更新数据包是一个基于IPv6的包含最短路径扩充的协议。具体结构如表4。
S标志含义:1为软切换,默认值为0,不支持软切换的基站忽略此标志。I标志的含义为:指示间接软切换。
3.3.2 分页更新数据包
与路由更新数据包类似,分页更新数据包也是一个基于IPv6的包含最短路径扩充的协议。源地址为IPv6主机IP,目标地址为IPv6网关IP,S标志和I标志均为0。
3.4 路由
IPv6网络的路由算法具有特殊性,它并不需要通常IP网络的路由能力,IP网络的路由能力完全由CIPv6网关实现。
3.4.1 路由器的拓补
在上行方向,数据包基于最短路径方式到达CIPv6网关,每个节点都将数据包发往与其连接到IPv6网关的相邻节点,相邻节点的上行选择由网络管理员事先设定,或者通过简单的最短路径算法选择最短路径从而替代手工设定。当网络复杂度较高时,通过计算后的手工设定会有更高的效率。
3.4.2 上行路由
当数据包到达一个节点后,该数据包首先被用以更新到达节点的路由缓冲区和分页缓冲区,然后被发送到上行相邻节点。为了更新缓冲区,节点会读取数据包类型、端口号、源IP地址。分页更新数据包更新分页缓冲区,路由更新数据包同时更新分页缓冲区和路由缓冲区,数据包则会刷新所有缓冲区的状态,但不会改变分页缓冲区和路由缓冲区。两个缓冲区都包含IPv6地址、接口、MAC地址、呼出时间和时间戳。接口和MAC地址用作下行数据的路由,时间戳用于存放控制数据包发来的时间,以便明确映射时间。
当一个数据包由下行连接相邻节点发来时,节点首先在路由缓冲区中查找源IP,如果路由没有变化就刷新记录:呼出时间被刷新为当前时间+路由超时,如果该节点有分页缓冲区,分页缓冲区也作相同处理。如果路由发生变化,数据包就被丢弃。当更新数据包到达一个节点时,节点首先检验数据包的合法性,如果不能通过合法性检测,则更新数据包就被丢弃[3],并在系统日志中记录该事件。如果数据包合法,节点就在缓冲区中建立新的路由记录:新数据包IPv6地址、接口、MAC地址、呼出时间(当前时间+路由超时)、时间戳。如果缓冲区中对应IP已经存在,根据时间戳进行判断,到来数据包时间戳更新时,则更新对应记录,否则丢弃数据包。
3.4.3 下行路由
当一个节点从其上行连接节点收到一个数据包时,节点首先检验路由缓冲区中是否包含该目标IP,如果存在则继续向下行方向发送。如果不存在对应记录,该数据包将以广播的形式向所有相邻节点发送。如果该节点有分页缓冲区,且分页缓冲区中包含对应IP的记录,数据包会继续下行,如果分页缓冲区中没有对应记录,数据包就被丢弃。
4 CIPv6的扩充
4.1 切换扩充
4.1.1 软切换
为了防止敏感数据的丢失,可以采用软切换方式。在软切换时,移动主机会与两个基站同时通信,这样下行数据仍然可以同时到达两个基站,从而防止数据通信的中断。为了实现软切换,移动主机需要在新基站建立对应的路由记录,同时继续监听旧主机的下行数据。移动主机通过设置S标志来实现软切换,节点通过识别S标志,在数据下行时会同时向新基站和旧基站发送数据包,直到移动主机向新基站发送路由更新数据包。一旦移动主机向新基站发送路由更新数据包,S标志将被清除,旧主机路由缓冲区中的对应记录也会被清除,从而完成整个软切换过程。
如果新基站的访问路径大于旧基站,下行数据可能无法到达移动主机。为了防止类似问题,在软切换时到达新基站的数据包会有一定的延时,这可能导致移动主机收到两次相同数据包,但不会出现数据包丢失。
4.1.2 间接软切换
不是所有无线技术都支持同步多连接,如:有些设备无法实现在监听旧基站的同时向新基站发送路由更新数据包,在这种情况下可以采用间接软切换。当需要切换时,主机不向新基站发送路由更新数据包(因为设备无法实现),路由更新数据包仍被发送到当前基站,但这个数据包的目标IP(下行时的目标IP)就是新基站的IP,这时将I标志设定为1,表示开始间接软切换过程。这样,下行的数据就会根据新的基站地址到达新基站,当基站收到该数据包时即可建立新的主机路由记录链。
4.2 多网关网络
当CIPv6网络只有一个网关时,这个网关必须负责上行和下行数据。IPv6网络可以采用多网关,这样可以提高网络的效率,但移动主机和相关节点必须可以判断使用哪个网关,例如:通过地理位置或IP空间进行网关分配。
蜂窝式IPv6是一个支持主机频繁切换的协议,通过对该协议的扩充引入软切换后,不仅可以实现基于移动网络的IPv6网络,还可以很好地解决切换过程中的数据丢失。软切换根据设备的功能性,可以通过直接软切换和间接软切换两种方式实现。
参考文献
[1] Internet Protocol version 6(IPv6) specification. IETF RFC 2460, December 1998.
[2] THOMSON S, NARTEN T. IPv6 stateless address autoconfiguration. IETF RFC 2462, December 1998.
[3] METZGER P, SIMPSON W. IP authentication using keyed MD5. IETF RFC 1828, August 1995.
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。