情报编辑部提供移动IP技术王海涛苗鹏峰1、引言随着人们生活节奏的加快和对信息量的巨大需求,传统的固定IP节点之间的相互通信的数据传输方式已经很难满足人们在移动过程中的办公需求;同时,网络向全IP方向的快速发展和便携式终端的广泛应用,使得在IP网络中实现对移动性的支持变得越来越重要。这种重要性推动了业界对移动终端在网络层接入的研究,促使了移动IP技术的产生。2、技术背景和支持计算机相互通信要遵守一定的规则,这些规则称为协议,计算机网络是一些遵循通信协议的计算机及通讯设备的集合体,而因特网是覆盖全球的计算机网络,因特网中的每一台计算机或通信设备称为因特网的一个节点。现有的因特网采用的TCP/IP协议簇;这是一个四层协议,从上到下,每层完成特定的功能,如表1所示:表1因特网协议应用层Telnet、FTP和E-mail传输层TCP和UDP网络层IP、ICMP和IGMP链路层设备驱动程序及接口卡在现有的协议机制下,PDA、笔记本电脑等移动设备经常切换在因特网上的接入点;节点改变了切入点,必须改变网络层的地址才能继续接入因特网,但是改变因特网层地址使节点无法保持现有的通信。因为在节点之间的连接由源IP地址、目的IP地址、源端口和目的端口构成。当移动节点改变IP地址时,就导致和别的节点之间进行的通信中断,移动节点只能以新的IP地址建立一条新的连接。同时在现有的网路协议下,实现移动IP的是选择使用特定主机路由。由于现在的因特网路由技术是以目的IP地址的网络前缀部分来决定路由的,所以我们可以在从移动节点的家乡链路到外地链路的路径上的所有路由器上添加移动节点的特定主机路由来解决节点路由的问题。但是这种方案存在以下弊端:首先,情报编辑部提供每个节点所需的路由数目比较多,至少在从移动节点的家乡链路到外地链路的路径上的所有路由器上都需要设定特定的主机路由;其次在于节点的切换速度,节点每切换一次链路,就要增加、删除、更改多个特定主机路由,这样就引起了大量的路由更新;再次,如果我们只向最小数目节点传送特定主机路由,当路由器与他们之间的链路有一个发生故障时,移动节点的数据包就会中断;最后,移动计算机的数目在不断增加,这样路由表中的表项将变得极为庞大。以硬件和通信的发展开启了移动计算的新时代,笔记本电脑等移动设备的普及和无线通信技术的发展使人们随时随地存取因特网网络资源成为可能;特别是基于蜂窝数字分组数据(CDPD,CellularDigitalPacketData)在电信领域实现数字分组移动通信;因特网任务工作组(IEFT,InternetEngineeringTaskForce)的IPRoutingforWireless/MobileHost工作组在研究、总结本领域的基础上,提出了移动IP的概念。3、移动IP的体系结构移动IP技术是移动节点(计算机/服务器/网段等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变,实现数据的无缝和不间断的传输。简单地讲,就是能让网络节点在移动的同时不断开连接,并且还能正确收发数据包。移动IP通过三个功能实体:移动节点、外地代理、家乡代理;通过完成代理搜索、注册、包传输这三个基本功能来协同完成移动节点的路由问题。如图1所示说明了三者之间的关系:图1移动IP的功能实体说明:移动节点是指一个主机或路由器,当它在切换链路是可以不改变IP地址而能保持正在进行的通信。情报编辑部提供本地代理是连接到本地网络的主机或路由器,它保存有移动节点位置信息,当移动节点离开本地网络时能将发往移动节点的数据包传给移动节点。外地代理是移动节点当前所在的外地网络上的一个主机或路由器,它能把本地送来的数据包转发给移动节点。4、工作机制及关键技术(1)在移动IP协议中,每个移动节点都有一个唯一的本地地址,当移动节点移动时,它的本地地址是不变的,在本地网络链路上每一个本地节点还有一个本地代理来维护当前的位置信息,即转交地址。当移动节点连接到外地网络链路上时,转交地址就用来标示移动节点现在所在的位置,以便进行路由选择。移动节点的本地地址与当前转交地址的联合称为移动绑定或绑定。当移动节点得到一个新的转交地址时,通过绑定向本地代理进行注册,以便让本地代理即时了解节点的当前位置。(2)当移动节点连接在外地网络链路上时,移动节点使用一个称作“代理发现”的规程在外地链路上发现一个外地代理,并向这个外地代理进行注册,把这个外地代理的IP地址作为自己的转交地址,移动节点获得转交地址后,再通过注册规程把自己的转交地址告诉本地代理。这样当有发往移动节点本地地址的数据包时,本地代理便截取该数据包,并根据注册的转交地址,通过隧道将数据报传给移动节点。◆代理发现(AgentDiscovery):该机制能够使移动节点检测出它是在本地网络链路还是在外地网络链路上,并且当移动节点移动到一个新的网络链路上时,代理发现机制还能为它找到一个合适的外地代理。代理有两种消息:一是代理发送的周期性的代理广告消息,二是移动节点发送的代理请求消息。◆注册(Registeration):一旦移动节点发现它的网络接入点从一条链路切换到另一条链路,就要注册,完成的任务主要有:移动节点通过注册可以得到外地链路上外地代理的路由服务;把它的转交地址通知本地代理;动态得到本地代理的地址;本地代理把发往移动节点本地地址的数据包通过隧道发往移动节点的转交地址。注册包括注册请求和注册应答两种注册消息。◆隧道技术(Tunneling):是移动IP中重要内容,有三种:IP的IP封装、IP的最小封装和通用路由封装。IP的IP封装用于将整个原始的IPv4数据包放在另一个IPv4数据报净荷部分中,它在原始IPv4数据包的现有报头前插了一个外层IP报头,外层报头的源地址和目的地址分别标示隧道中的两个边界节点;内层IP报头中源地址和目的地址分别标示原始数据包的发送节点和接受节点。移动IP要求本地代理和外情报编辑部提供地代理实现IP的IP封装,以实现从本地代理至转交地址的隧道。IP的最小封装是通过将IP的IP封装中内层IP报头和外层IP报头的冗余部分去掉,以减少实现隧道所需的额外字节数。但使用这种封装技术有一个前提,就是原始的数据包不能已经被分片,因为IP的最小封装技术在新的IP报头和净荷之间插入了一个最小转发报头,它不保存有关分片的情况。通用路由封装是除了IP协议,它可以支持其它网络层协议,允许一种协议的数据包封装在另一种协议数据包的净荷中。5、移动IP存在的问题及解决办法(1)三角路由移动IP中的路由可以由图2来描述。从图中可以看出,如果通讯主机要发数据给本地网以外的移动主机必须通过本地代理(路径1)。当本地代理收到通讯主机发给移动主机的IP包时,它将重新封装该包,新包的目的地址是移动主机的临时IP地址(路径2)。外地收到包时,它解封装并发给移动主机(路径3)。而移动主机发回通讯主机的数据包可以直接通过外地代理发给通讯主机(路径4、5)。由于通讯主机只知道移动主机的本地地址,从图2可以看出,所有发往移动主机的数据必须经过本地代理路由,这是一个三角形的路径,称为三角路由。显然,这种转发路径不是最优,额外开销很大。为了解决“三角路由”问题,建议采用绑定和隧道技术,具体过程为:当发往移动主机的数据报首先到达本地网络时,本地网络立刻发出绑定请求,随后发送数据的路由代理将对后继要发送的数据报进行封装,采用隧道技术直接送到移动主机(路径6),而不是送到本地网络再通过转交地址到达外地网,这样就解决了路由的优化问题。但其负面的影响是增加了地址转换的开销,由于隧道技术必须对数据进行封装和拆封,因此要对路由代理的软件进行修改。同时绑定技术的应用会引起网络安全性方面的问题,破坏者可以利用绑定技术,使数据沿着他所指的方向传送,从而达到窃取数据的目的。图2移动IP中的路由情报编辑部提供(2)信息重复由上可知,IP-in-IP封装技术是将原始数据报(IP报头加上负载)封装在另一个IP报头中,最终报文是外部报头(含转交地址)加上原始数据报。外部报头的存在,加长了数据报,且存在很多与内部报头重复的字段,增加了网络负载。为此采用一种利用隧道封装数据包的技术,如图3所示。它修改原始报头以替代新报头,然后插入短小的转发头,转发头仅用来恢复源地址和目的地址。外地代理解包时,只需简单地移去转发头,恢复源地址和目的地址即可。显然,这种最小封装技术节省很大开销。然而,这种最小封装技术有一个前提条件,就是数据包在封装之前不能被分片。图3IP内的最小封装(3)平滑切换当移动节点快速移动时,移动节点可能无法及时将新的转交地址注册到归属地址上,此时发往移动节点的数据包将丢失,为解决这个问题,可以采用代理之间的平滑切换。如果在新的外地代理,在移动节点得到认证前就发送绑定更新给旧外地代理,然后通过旧外地代理向新外地代理转发数据,从而完成代理之间的切换。这种方法虽然时延较短,但存在很大的安全缺陷。为增加代理切换的安全性能,同时尽量减少切换过程中的数据丢失,必须要求新外地代理首先得到移动节点的认证。移动节点可以在向新外地代理发送注册请求的同时向旧外地代理发送绑定更新信息,并通知旧外地代理暂时缓存数据,然后,移动节点对新外地代理进行认证,如果认证成功,移动节点将通知旧外地代理转发它缓存的数据到新外地代理,从而实现一种更平滑、安全的切换。(4)通信频繁情报编辑部提供如果移动节点频繁移动,移动节点则频繁地向本地代理报告新的转交地址,频繁的报告信息降低了代理性能,增加了通信延时。解决办法:采用外地代理组,即建立多组外地代理,仅当移动节点从这一组移动到另一组时,才向本地代理报告,这样大大减少了向本地代理报告的次数。6、结语本文在对原有IP协议的基础上介绍了移动IP的工作机制和原理,并对当前存在的一些问题及解决方法进行了探讨。目前移动IP协议还不是很成熟,一些相关的机制还需要进一步的完善;在传输层的可靠性和安全性上有待进一步加强。随着网络和移动通信等技术的蓬勃发展,移动接入因特网进行服务在不久的将来成为可能。