摘 要:基于域的概念提出一种组播和移动IPv6相结合的移动主机通信方案。介绍了该方案的网络体系结构及其路由建立策略、数据重传策略和切换策略。
关键词:组播 IPv6 移动主机
1 移动IPv6的特点
在移动IPv6中,每个移动主机(MH)都有2个地址:本地地址和转发地址。本地地址是移动主机与本地网连结时使用的固定不变地址;转发地址是移动主机与外区网络连接时的临时地址,即隧道终点地址,当移动主机漫游到外地网络时使用。每当移动主机接入新的网络,转发地址就发生变化。
移动IPv6的工作过程是:移动主机通过接收移动代理的通告报文分辨其在本地网,还是在外地网。移动代理分为本地代理(HA)和外地代理(FA)。如果移动主机检测到自己位于本地网,则不需要移动服务就可以工作。如果检测到自己已漫游到外地网,则获得该外地网上的一个转交地址。然后移动主机向本地代理登记其新的转交地址。发往移动主机本地地址的数据被其本地代理接收,本地代理利用隧道技术封装数据包,发送到移动主机的转交地址并解除封装,最终发送给移动主机。
2 组播应用于移动IPv6的优势
移动主机区别于固定网络设备的最大特点是它具有移动性。当移动主机从一个网络切换到另一个网络时,其IP地址会随之改变。而IP地址通常会被网络协议的高层(如传输层或应用层)用来确定一个通信连接,所以这种在通信过程中IP地址的改变将导致重新建立不必要的连接。例如TCP协议使用源端地址和目的端地址组成的4元组(目的IP地址、目的端口号、源IP地址、源端口号)来确定一个连接。如果在使用TCP协议的通信过程中,移动主机的IP地址发生了改变,则先前建立的连接就必须断开,并重新建立连接。如在TCP中使用3次握手来重新建立连接,则会造成一定的时延和通信的间断。
将组播应用于IPv6,其基本思想是将每个移动主机看成1个组播组。在通信过程中,如果移动主机的IP地址改变,则只要将新的IP地址加入组播组,就可以接收数据了。这样可以利用组播的优势,当移动主机切换时,保持通信的连续性。
3 移动主机通信方案
本文提出一种基于域的组播和移动IPv6结合的移动主机通信方案。在该方案中,首先建立基于域的网络体系结构。并采用core-based trees组播路由,以域网关为核心建立从通信主机到移动主机的组播路由。在此基础上,提出了保证数据在移动网络中传输的可靠性策略(即数据重传策略)以及移动主机在切换时保证数据传输稳定性的方法。
3.1 基于域的网络体系结构
基于域的网络体系结构如图1所示。网络被分成域中网络和与其互联的Internet网络。其中移动主机MH和固定网络进行通信的部分称为无线网络。假定固定网络的通信是可靠的,既不丢失也不损坏数据,本文所提出的方案只保证无线网络能可靠地传输数据。
通过使用域的概念,把移动主机切换分为域内切换和域间切换,以提高移动网络的数据传输效率。例如:一个移动主机可能会在大学的几个校区不断地变换位置,但是大部分时间在该大学的范围内。这样,可以把1个自治网络作为1个域,即可以把整个大学作为1个域,几个校区作为几个子网。本文着重研究域内切换的情况。
每个需要加入组播组的主机都必须发送加入组播组信号给域网关。在建立组播路径时,只需要对每个组播组以core节点(即域网关)为中间节点建立单一的组播树。此组播树包括源端到域网关的路由和域网关到移动主机的路由。这种方案避免了采用广播式的组播选路,减少了网络资源的浪费,减轻了网络负担。
移动主机本地代理HA的作用是缓存移动主机当前所在的域网关地址(即移动主机的本地地址到域网关的映射),使要与移动主机通信的主机知道该移动主机组播路由器的位置。外地代理FA的作用是代表移动主机向域网关发送组播请求。为保证无线网络通信的可靠性,使用移动代理代替移动主机缓存接收数据。移动代理只能释放已正确接收的数据,以保证移动网络传输数据的可靠性。域网关是组播路由的中心点,即通信主机与移动主机通信的转接点,负责建立与通信另一端的路由和建立到移动主机的组播路由。
3.2 建立到移动主机的路由
(1)移动主机作为接收者
移动主机加入到组播组的算法如下。
①当移动主机切换到另一个网络后,根据移动IPv6协议可以通过外地代理获得1个外地地址。同时,外地代理代表移动主机向域网关发送IGMP请求,要求加入此移动主机的组播组。
②域网关检查此组播组是否已存在,如果已存在,则表明此切换是域内切换,不需要向本地代理发更新信息,只需在域网关为相应的组播组增加新的组播地址并新建1条到此新地址的路由的域网关。
③如果不存在此组播组,则表明此移动主机是从别的域切换过来的,因此域网关需要向移动主机的本地代理发更新信息,通知本地代理更新缓存中的移动代理当前域网关地址。同时在域中记录此组播组和其对应的组播地址,并建立从域网关到此移动主机的组播路由以及通信主机之间的路由。
通信主机与移动主机通信的路由算法如下。
①通信主机向DNS请求得到移动主机本地地址和移动主机组播号(假定DNS能提供移动主机本地地址和组播号)。
②通信主机发请求信息给移动主机本地代理(此请求信息包括移动主机的本地地址和组播号),要求移动主机通告移动主机当前的域网关地址。
③移动主机本地代理收到请求后,检索其缓存,得到移动主机对应的当前域网关地址并把域网关地址发送给通信主机。
④通信主机收到此域网关地址后,建立到域网关的组播路由,然后把需要发送的数据发送给域网关。域网关根据域内的组播路由再把数据发送给移动主机的外地代理并由外地代理把数据转发给移动主机。
(2)移动主机作为发送者
移动主机作为发送者的情况要简单些。使用移动IPv6协议,以移动主机的当前外地地址作为组播原地址、组播号作为移动IPv6的头部扩展字段(用来标志移动主机)发送给外地代理。由外地代理负责路由,转发给通信主机。
3.3 数据重传策略
由于移动网络的不可靠性,因此需要采用一定的策略来保证移动网络的传输可靠性。
(1)移动主机作为接收者
①移动代理需要一定的缓存来存储从固定网络接收的数据。移动代理将数据发送给移动主机后并不立即将缓存中的数据释放,而是设置超时定时器。
②移动主机接收数据后,如果数据无损坏并且序号不重复,则发送ACK消息给移动代理。如果接收数据的序号与移动主机已正确接收数据的序号相同,则丢弃数据,不做任何响应。移动主机不需要对接收到的每个数据报进行ACK确认,可以一次确认多个数据报。发送一个数据报的ACK确认表明在这个数据报之前的所有数据报都已正确接收。
③如果数据被损坏或者接收数据的序号之间出现不连续性,则发送NACK消息给移动代理,希望移动代理重传数据,并设置超时定时器。如果定时器超时,则表明NACK或重传的信息丢失,需要重发NACK消息。
④移动代理收到移动主机的ACK消息后,释放此ACK序号以及此序号之前的数据。如果收到NACK消息,则重新发送此序号的数据。如果移动代理的超时定时器到,表明ACK消息丢失或移动主机已离开网络,则移动代理可以释放缓存。
(2)移动主机作为发送者
①移动主机向移动代理发送数据,移动代理正确接收到数据后,向移动主机发送ACK消息。移动主机也可以一次确认多个数据报。
②如果数据被损坏或者接收数据的序号之间出现不连续性,则发送NACK消息给移动主机,要求移动主机重传数据,并设置超时定时器。如果超时定时器到,表明NACK或重传的信息丢失,则重发NACK消息。
③如果移动主机收到NACK消息,则重新发送此序号的数据。
3.4 切换策略
(1)移动主机作为接收者的切换算法。
①假定移动主机从FA切换到FA′,移动主机首先加入组播组。
②MH向FA′登记时,向FA′发送的信息包括:原FA地址、已正确接收的数据序号和组播号。此时,FA和FA′在同一组播组。设移动主机向FA′发送的信息中已正确接收的数据序号为N,即在FA中已正确接收到了序号为N的数据,FA′接收到数据序号最小为N′。
③如果N′>N,则表示序号为N+1~N′-1的数据在移动主机切换时丢失,FA′发送请求信息给FA,要求FA传输数据序号为(N,N′)间的数据给FA′,并发送release信号给FA,通知FA可以离开组播组。FA通过单播方式传输数据序号为(N,N′)区间的数据给FA′。
④如果N′≤N,则表示移动主机在切换过程中无数据丢失,只需发送release信号给FA,通知FA可以离开组播组。
(2)移动主机作为发送者的切换算法。
假定移动主机从一个网络(移动代理为FA)切换到另一个网络(移动代理为FA′)。移动主机有序号1~L的数据需要发送,在FA网络中发送序号为1~n的数据,鉴于网络的延迟或数据的丢失,可能移动主机没有收到1~n的数据的全部确认就已经发生切换。设移动主机收到FA序号为1~m的ACK(m≤n≤L)。
①移动主机MH切换到FA′时向FA′登记,并向FA′发送原FA和已正确接收的数据序号。
②FA′发送消息给FA,要求FA代替移动主机向组播组发送移动主机在FA中已正确收到的数据确认序号的数据,本例中为1~m的数据。FA′代替移动主机向组播组继续发送序号从移动主机在FA中已正确收到的数据确认序号以后的数据,本例中为m~L的数据。
4 性能分析和总结
本文将组播和移动IPv6相接合,利用组播的优势实现了移动主机在切换位置时通信的连续性,避免了因为切换时IP地址的改变导致通信连接的重建。采用core-based trees组播路由,将移动主机所在的域网关作为core,减少了移动主机切换位置时组播路由的重建。移动主机在1个域中进行切换的概率是远高于在域间切换的概率,所以重建组播路由的路径一般只限于域网关与子网的路由器之间。采用ACK和NACK消息在移动主机和其移动代理之间进行传递,进行传输数据的确认和重传机制,保证了移动网络的通信可靠性。
参考文献
1 Tanenbaum A S.Computer Networks.北京:清华大学出版社,2001
2 Stevens W R著,范建华译.TCP/IP详解 卷1:协议.北京:机械工业出版社,2001
3 Perkins C.IP Mobility Support.RFC2002,1996
4 Fenner W.Internet Group Management Protocol(Version 2).RFC2236,1997