摘要 分析讨论了基于IPv6协议的移动终端的通信。目前由于IPv4地址空间的短缺,基于IPv4的移动终端的通信效率受到了影响,限制了新业务的开展。使对基于IPv6的移动终端间的通信的研究显得更为重要。首先分析了IPv6对移动终端的支持和实现机制,然后研究了移动终端在IPv6环境下的通信实现,最后讨论了移动IPv6越区切换技术和安全性问题。
一、引言
近年来基于IP传输协议的移动通信发展迅速,但IPv4地址短缺的事实成了限制其发展的“瓶颈”。IPv6与移动通信的结合将为目前的Internet开拓一个全新的领域。无线应用将成为IPv6的“杀手级”应用,同时也是展示IPv6巨大地址空间的舞台。移动互联网上有许多新型而精彩的服务,移动IPv6将是实现这些服务的关键。当越来越多的移动终端需要配有IP地址时,IPv6将为所有的移动终端提供唯一的IPv6地址,并使得移动终端更易于配置和管理,实现IPv6移动终端之间随时随地的端到端通信。
在进行移动终端的通信中,必须保证移动对用户的透明性。“透明性”包括两方面:一是使用移动IPv6协议的移动终端,无论是在移动前还是移动后,它总能被寻址,并且运行在移动终端上的应用程序不用修改或重新配置仍然可用;二是移动终端的通信性能不能因为移动而下降。
本文将分析讨论基于IPv6协议的移动终端间的通信。我们首先分析了IPv6对移动终端的支持和实现机制,然后研究了移动终端在IPv6环境下的通信实现,最后讨论了移动IPv6越区切换技术和安全性问题。
二、移动IPv6技术分析
根据现有的IP网络的寻路机制,同一个IP子网的结点具有相同的网络前缀,当设备终端从一个子网移动到另一子网时,由于原来的IP地址的网络前缀与当前接入子网的网络前缀不同,因此发送到该终端的分组就不能到达目的终端。
移动IPv6为设备终端在移动的同时能够连续访问Internet提供了网络层支持。它为移动的设备终端分配了两类IP地址:一类是在本地网络上的长期有效的IP地址,称为归属地址;一类是移动终端访问外地链路时获得的一个转交地址。当移动终端在本地链路时,可直接通过归属地址进行寻址;当移动终端连接在外地链路时,可以通过转交地址或归属地址来寻址。而移动终端的归属地址和转交地址的关联称为移动终端的一个“绑定”。
移动终端在本地链路时,可以使用正常的路由、机制对发往移动终端的数据报进行路由。移动终端离开本地链路时,向本地链路上的一个路由器注册自己的一个转交地址,并要求此路由器作为自己的归属代理(Home Agent),从而建立了一个归属地址和转交地址的关联。当离开了本地链路的移动终端和通信终端(可以是固定终端,也可以是移动终端)进行通信时,移动终端告知通信终端它的转交地址,通信终端发出的数据报就可以绕过归属代理直接发给移动终端。
三、移动IPv6通信的处理过程
在移动终端和通信终端的通信过程前期,连接到外地链路的移动终端将采用IPv6定义的地址自动配置来获得一个临时的转交地址,然后对这个地址进行重复地址检测。如果检测到现在的链路上有另一个终端正在使用此地址,地址自动配置停止进行,改为手动配置该移动终端的转交地址;反之,这个临时的转交地址的状态改为有效状态,然后向本地链路注册这个转交地址,建立转交地址和归属地址的一个关联,即“绑定”。
移动终端要实现和通信终端的通信,首先要告知通信终端它当前的转交地址,建立它的转交地址和通信终端的地址的一个绑定。为了对绑定的建立进行授权,需要先对返回路径可达性进行测试。返回路径可达过程的信令过程如图1所示。
图1 移动终端返回路径的信令过程
归属和转交测试初始消息同时被发送;通信接点要尽快地返回归属和转交测试消息,并且要求很少的处理过程。这四种消息构成了返回路径可达过程。由于近乎同时的消息发送,因此返回路径可达过程几乎是在一个移动终端和通信终端之间往返时间内完成的。
1.归属测试初始消息
移动终端向通信终端发送归属测试初始消息以请求归属Cookie。这个消息中的内容有:源地址=归属地址,目的地址=通信终端,参数=HoT-Cookies(用来验证响应消息是否匹配清请求消息,并保证没有见到请求消息的接点不能伪造响应信息)。此消息通过归属代理的反向隧道发送到通信终端,告知移动终端的归属地址,然后被通信终端返回。
2.转交测试初始消息
移动终端向通信终端发送转交测试初始消息以请求转交Cookie。这个消息的内容有:源地址=转交地址,目的地址=通信终端,参数=CoTCookie;此消息直接发送到通信终端,告知移动终端的转交地址。然后被通信终端返回。
3.归属测试
此消息用来响应归属测试初始消息。消息中的内容有:源地址=通信终端,目的地址=归属地址,参数=HoTCookie、归属Cookie和归属临时随机数索引。当通信终端接收到归属测试初始消息后。它将产生一个归属Cookie,归属Cookie可用来测试移动终端能否收到发向归属地址的消息。从移动终端发出的HoTCookie在归属测试消息中返回,用来保证该消息是从位于归属代理和通信终端之间路径上的一个结点发出的。发送到移动终端的临时随机数索引能允许通信终端有效地发现它用来生成归属Cookie的临时随机数的值。
4.转交测试
此消息用来响应转交测试初始消息。消息中的内容有:源地址=通信终端,目的地址=转交地址,参数=CoTCookie、转交Cookie和转交临时随机数索引。当通信终端接收到转交测试初始消息后,它将产生一个转交Cookie,用来保证这个消息来自于在通信路径上的一个结点。转交临时随机数索引用来确定生成转交Cookie的临时随机数。
当移动终端收到归属和测试转交消息后,返回路径可达过程就结束了。然后,移动终端使用自己的授权机制向通信终端发送绑定更新消息。移动终端利用已经接收到的消息来形成一个16字节的会话密钥Kbu(Kbu=Hash归属Cookiel转交Cookie)。
当返回路径可达过程结束后,移动终端向通信终端发送一个绑定更新消息,过程如图2所示。
图2 移动终端的通信终端发送绑定更新过程
5.绑定更新
移动终端使用已经生成的会话密钥Kbu来授权绑定更新。消息中包含下面内容:源地址:转交地址,目的地址=通信终端,参数=归属地址、MAC-Kbu(转交地址|通信终端地址|BU)、归属临时随机数索引、转交临时随机数索引和序列号。
在绑定更新消息中包含的临时随机数索引选项,能够使得通信终端知道用来重新计算会话密钥的归属和转交临时随机数;BU是绑定更新消息中的内容,但不包括IP报头、位于IP报头和移动报头之间的任何扩展报头以及包含在绑定更新消息中的认证字段;MAC结果的前96位用于认证报头;序列号用来匹配这个消息的最后一次认可。一旦通信终端认证了MAC,就能为移动终端创建一个绑定缓存记录。
6.绑定应答
绑定应答用来认可一个绑定更新消息的接收。这个消息的内容包括:源地址=通信终端,目的地址=转交地址,参数=序列号、MAC-Kbu(转交地址|通信中断地址|BA)。
在绑定应答消息中包含与绑定更新消息内容中相同的序列号。BA是绑定应答消息的内容,但不包括IP报头,位于IP报头和移动报头之间的任何扩展报头以及包含在绑定认可消息中的认证字段。MAC结果的前96位用于认证报头。
在发送绑定更新之前,移动终端必须等待归属和转交Cookies的到来。由于资源限制、绑定的快速清除或重新启动等因素,当通信终端使用这些Cookies来处理绑定更新消息时,不保证这些Cookies是最新的和可接受的。如果Cookies已经变得很旧,则通信终端在绑定认可消息中返回一个错误代码。此时,移动终端能够重新尝试返回路径可达过程。
理想情况下,当移动终端和通信终端建立绑定后,就可以实现相互间的通信。但在具体实施中,有可能会发生下面的情况:
(1)当移动终端离开本地链路时,本地链路上的一些结点可能被重新配置,原来作为移动代理的路由器可能被别的路由器所替换。在这种情况下,移动终端可能不再知道它自己归属代理的IP地址。IPv6提供了“动态归属代理地址发现”机制来允许移动终端动态的在本地链路上发现一个归属代理的IP地址,移动终端可以向这个归属代理注册自己的转交地址。
(2)移动终端在越区切换时,要进行无线链路的切换,如果新旧链路不在同一个IP子网内,还要进行IP子网切换。切换过程会引起通信延时。在此过程中,发给移动终端的分组可能被丢失。蜂窝移动IPv6中提出了外地本地代理(FHA)和蜂窝组播(CM)的机制。外地本地代理是位于外地网络的主机,用来转发寻址到移动终端的分组。在外地本地代理中有移动终端的换存列表,用来记录其管理区域内的所有移动终端。由于移动终端转交地址可以通过网络前缀加上其MAC地址来自动配置,当寻址到移动终端的分组到达外地本地代理时,通过查询外地本地代理的移动终端缓存列表,蜂窝组播采用向该区域内具有相同MAC地址的转交地址进行组播的方式,来保证移动终端在该区域的任何一个子网上都能接收到数据。
四、移动IPv6安全问题
移动IP技术可以用户在不中断网络连接的情况下随意漫游,给用户带来了极大的方便。但在移动IP环境中,终端可以随意移动,并且可以使用包括无线信道在内的多种传输媒介,这也带来了许多安全隐患。
移动IPv6通信中要面临的安全隐患有:
(1)拒绝服务(Denial of Service)攻击,攻击者能够阻塞未受保护链路上的所有业务量,也能阻止移动终端和其他终端的通信。
(2)绑定更新报文对分组的重定向功能使得攻击者通过冒充移动终端向通信终端发送绑定更新报文,将发往移动终端的分组重定向到攻击者指定的地点。使通信信息遭到泄露。
(3)归属地址选项虽然解决了网络入境过滤路由器的问题,但也暴露了移动终端当前的位置信息。这给某些希望隐藏移动终端位置信息的通信带来了安全威胁。
(4)在移动IPv4协议中,移动终端获得转交地址前,外地代理会对移动终端进行认证处理;在移动IPv6协议中取消了外地代理,移动访问的安全策略工作需要有访问网络的路由器来完成。
(5)移动终端和通信终端的绑定消除了三角路由,实现了路由优化,当移动终端和通信终端同在一个本地网络时,可以通过手工分发密钥或建立一个组织内的认证机构来建立一个安全关联;但如果通信终端是网络内的其他结点尤其是不可信任的结点时,安全关联的建立就比较困难,此时需要建立广泛的公钥基础设施。
移动IPv6采用了IPSec协议为移动终端的通信提供了安全保护。IPSec有两个基本目标,一是保护IP数据包的安全;二是为抵御网络攻击提供防护措施。IPSec提供的是开放系统的安全框架,提供认证和加密两种安全机制。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭到改动;加密机制通过对数据进行编码来保证数据的机密性。这些机制都是在网络层上实现,对网络层以上的应用是透明的。
五、结束语
本文介绍了在IPv6下移动终端的通信的实现。我们首先分析了移动IPv6的实现机制,然后在此基础上论证了移动终端通信的实现过程,并讨论了移动终端区域切换带来的分组延时问题和移动IPv6的安全问题。
在移动终端通信的实际应用中,将会面临很多问题,例如移动终端的身份认证、授权、计费的具体实现,通信过程中服务质量的保证等,这将使移动终端通信的具体实施变得更加复杂。