摘 要:本文首先阐述了移动IP技术的基本概念,接着在此基础上,介绍了隧道技术的基本概念和应用,并且详细阐述了在移动IP中三种典型的隧道技术概念,实现方法以及各自的优劣点。最后简要介绍了隧道技术在真实通信系统中的应用解决方案。
关键词:移动IP;隧道技术;ICMP;封装;MTU
0 引言
移动通信已成为现代通信领域中发展潜力最大、市场前景最广阔的热点技术,它正向高速率、高移动性和大范围覆盖发展。随着Intemet业务的迅猛发展,现有的IPv4地址数目已经十分紧缺,因此采用128位地址长度的IPv6协议,彻底解决了IPv4地址数量不足的难题。通过隧道技术可以有效的实现IPv4和IPv6的互通,IPv6隧道技术即是IPv4报文将IPv6报文封装在其中,使得IPv6通过IPv4网络进行通信的技术。目前IPv6技术中的重要应用是移动IP。移动IP是解决节点的移动性问题,它其实也是一种IP的路由机制,使移动节点可以用一个不变的IP地址连接到任何链路中。
1.移动IP概述
从通信节点可移动性的定义得到,因为每次都需要把连接断开,所以当节点移动时只是改变它的地址不能解决移动性问题。但是,当节点移动时改变节点的IP地址确实解决了一个称为漫游的相关问题。漫游节点在改变它们的接入点前要中止所有通信,但在到达新的接入位置时,它们就会以新地址重新发起通信。目前的因特网协议簇中已经有相应的机制来解决漫游问题了,比如PPP(Point-to-Point)协议的IPCP(IP Control Protocol)。
在现在的因特网中,节点漫游时,另一节点也不可能主动与漫游节点通信,因为它无法知道到底在哪个IP地址上可以找到漫游节点。
事实上,移动IP的一个基本假设是:点到点通信的数据包在选路时与源IP地址无关。它可以看作是一个路由协议,只是与其他几种路由协议相比,移动IP具有特殊的功能,它的目的是将数据包路由到那些可能一直在快速地改变位置的移动节点上。
2.隧道技术的概念
当一个数据包被封装在另一个数据包的净荷中进行传送时,所经过的路径称为隧道。
除了极少数特例,移动节点只用家乡地址和别的节点通信,即移动节点发出的所有包的源I P地址都是它的家乡地址,它接收的所有包的目的IP地址也都是它的家乡地址。这就要求移动节点将家乡地址写入DNS中的“IP地址”域,其他节点在查找移动节点的主机名时就会发现它的家乡地址。通常,一般数据包的分片会在任意一台路由器上发生(如果MTU受限制),而分片的重组在目的地进行。但是隧道的分片是一个特例,它的重组在隧道出口进行,而隧道出口不是数据包的最终地址。
3.隧道技术的分类
移动IP中的三种隧道技术:IP的IP封装(IP in IP Encapsulation)、最小封装( Minimal Encapsulation)和通用路由封装GRE(Generic Routing Encapsulation)。一般情况,尽量不用最小封装技术。
3.1IP的IP封装
IP的IP封装非常简单,第一个IP包放在一个新IP包的净荷中,会增加开销20个byte。如果IP包是被转发过来的,比如是通过某个物理端口进入隧道的,那么隧道入口应将内层的IP报头的生存时间域减小。同样在拆封时,如果内部封装的IP包还要进行转发,比如从隧道出口转发到某个物理端口,那么它的生存时间域也要减小。因此,采用IP的IP封装的隧道对穿过它们的数据包来说就像一条虚拟链路。例如,一个包到达第一台路由器,通过从第一台路由器开始的隧道到达第二台路由器,并进一步转发到它的目的地址,这时这个包的生存时间域会被减小两次,好像隧道只是连接这两台路由器的一条链路一样
在IP over IP的形式中,对ICMP的报文格式需要特殊处理。通过隧道的IP包的相应的ICMP报文只需要送到隧道的入口,而无需要送到包的源。但有时,隧道内产生的ICMP报文到达源也是及其有用的。对ICMP的处理,它并不是直接把隧道内部的ICMP转发给源,而是在隧道入口进行分析后,再产生一个ICMP然后到达源。例如,当一个包到达家乡代理,包的大小大于隧道的MTU,当不允许分片的比特设置为1时,家乡代理就不在隧道内部产生ICMP,而是直接给源发送一个自己的ICMP。
综合上面的分析不难看出,对于IP over IP的封装形式需要防止递归封装,所谓递归封装,就是由于路由环,使数据离开隧道前,又重新进入了一个隧道。GRE和IPV6有专门机制防止递归封装。在IPV4中用两个法则来判别,简单的说就是依据源IP是否与目标IP重复来进行判断。
3.2 最小封装
最小封装的目的是减少实现隧道所需的额外字节数,可通过将IP的IP封装中内层IP报头和外层I P报头的冗余部分去掉来完成。开销是8或12字节,取决于隧道入口是否是原始数据包的源。
最小封装不能用于那些已经经过分片的原始数据包。相反,经过封装的数据包可以进行分片,以便穿过路径MTU较小的隧道,但是已经分片的原始数据包不可以通过采用最小封装的隧道。这和IP的IP封装有显著的区别。
相对于生存时间和隧道长度,它和IP over IP的封装也有区别,至少从生存时间的角度,最小封装使得数据包可以识别从入口到出口的每一条链路。也就是说,在采用最小封装的隧道中,从隧道入口到出口的每一台路由器都会将原始数据包的生存时间减小。因此,经过最小封装的包可能不能到达目的地。因为在一条长隧道中,每经过一台路由器,生存时间域的值就会减小。而对于同样长的隧道,采用IP的IP封装的数据包就可以经过该隧道到达目的地,因为这时生存时间域的值只在入口和出口减小。移动节点的实现者应认识到这个事实,并决定在注册过程中是否采用最小封装。但是对于ICMP报文的处理和防止递归操作的产生,最小封装和IP over IP的封装是一样的。
3.3GRE通用路由封装
GRE封装除了支持IP协议外,它还允许一种协议的数据包封装在另外一种协议的数据包的净荷中。当两者都是IP的时候,就可以理解为IP over IP的封装。另外对于递归封装的防止,GRE提供了特定机制来应对递归封装。GRE报头中有一个recure域,记录允许封装次数。每封装一次,recure减一。如果recure为0,就不能够再实现封装。如果一定要封装才能够传输,那么这个报文就会被抛弃。
4.隧道技术在真实通信系统中的应用方案
如图1 所示为基于WiMAX系统的移动IP应用方案的实现图。其中在两个Base之间就用到了隧道技术。该移动IP方案的实现避免了简单IP的MER和移动IP的HA。如果终端在保持业务的情
况下切换到另外一个小区,可以保持IP地址不变。如果在其它小区终端不释放IP地址,可以保持在原小区的IP地址。如果释放了,就转到当前小区下来获取IP。
图1 基于WiMAX系统的移动IP应用方案图
5.结束语
移动 IP 是基于网络层解决移动问题的方案,IP技术和移动通信技术的完美结合,正使得数据通信发生着深刻的改变。目前虽然移动IP中的隧道技术有了很大的发展,但是如何选择合适的技术进行设计和实施,才能更好、更顺利的保证移动IP的QOS,以及IPv4和IPv6的无缝互操作,也是今后一项值得深入研究的课题。
参考文献:
[1] 杜根远,邱颖豫. 基于隧道技术的IPv6 迁移策略[J]. 中国有线电视,2004(1)
[2] 张宏科,苏伟. IPv6路由协议栈原理与技术[M].北京:北京邮电大学出版社,2006,7
[3] 汪军. IPv6 隧道代理设计方案的研究[J]. 武汉工业学院学报,2007,26(3)
[4] 沈庆伟,张霖. 基于隧道的IPv4/IPv6 过渡技术分析[J].计算机技术与发展,2007,17(5)
[5] 李金攻,张平,陈继光. 基于NAT—PT簇的集中式动态负载均衡的研究[J].通信技术2009.第4期
[6] 张波,李涛. 基于IPv6 协议的网络安全改进与分析[J]. 江苏技术师范学院学报,2006
[7] 蓝集明,张海燕.对IPv4/IPv6过渡技术的分析与研究[J].电脑知识与技术,2008,4(7):