标题：移动IP技术
简介
如何让人们能够随时、随地访问Internet，是当前Internet技术研究的一个热点，也是下一代真正的个人通信技术的目标。无线接入中的移动IP技术使得人们一直梦想的无处不在的多媒体全球网络连接成为可能，它适应了普遍计算时代的需求。 
现有的移动通信采用的是电路交换方式，用户通话时一直占用固定的带宽资源。这种通信方式适合话音业务，但对IP类型的业务则不是最适合的。为适应快速增长的数据型业务需求，现有的电路交换的移动通信网络必须进行改造，人们需要的是一个以包交换为基础的无线网络，这种新型网络结构正是移动IP未来的结构。 
移动IP不是移动通信技术和因特网技术的简单叠加，也不是无线话音和无线数据的简单叠加，它是移动通信和IP的深层融合，也是对现有移动通信方式的深刻变革。它将真正实现话音和数据的业务融合，移动IP的目标是将无线话音和无线数据综合到一个技术平台上传输，这一平台就是IP协议。未来的移动网络将实现全包交换，包括话音和数据都由IP包来承载，话音和数据的隔阂将消失。在IMT-2000中已明确规定，第三代移动通信系统必须支持移动IP分组业务。而IETF(Internet工程任务组)也正在扩展因特网协议，开发一套用于移动IP的技术规范，目前已制订完成了RFC2002（IP移动性支持）、RFC2003（IP内的IP封装）、RFC2004（IP内的最小封装）、RFC2290（用于PPP IPCP的移动IPv4配置选项），其他协议正在制订中。移动通信的IP化进程将分为三个阶段：首先是移动业务的IP化；之后是移动网络的分组化演进；最后是在第三代移动通信系统中实现全IP化。
移动IP的基本原理
使用传统IP技术的主机使用固定的IP地址和TCP端口号进行相互通信，在通信期间它们的IP地址和TCP端口号必须保持不变，否则IP主机之间的通信将无法继续。而移动IP的基本问题是IP主机在通信期间可能需要在网路上移动，它的IP地址也许经常会发生变化。而IP地址的变化最终会导致通信的中断。 
如何解决因节点移动（即IP地址的变化）而导致通信中断的问题？蜂窝移动电话提供了一个非常好的解决问题的先例。因此，解决移动IP问题的基本思路与处理蜂窝移动电话呼叫相似，它将使用漫游、位置登记。隧道技术、鉴权等技术。从而使移动节点使用固定不变的IP地址，一次登录即可实现在任意位置（包括移动节点从一个IP（子）网漫游到另一个IP（子）网时）上保持与IP主机的单一链路层连接，使通信持续进行。
几个重要概念
移动代理（Mobility Agent）移动代理分归属代理(HomeAgent)和外区代理(ForeignAgent)两类，它们是移动的IP服务器或路由器，能知道移动节点实际连接在何处。 
其中，归属代理是归属网上的移动IP代理，它至少有一个接口在归属网上。其责任是当移动节点离开归属网，连至某一外区网时，截收发往移动节点的数据包，并使用隧道技术将这些数据包转发到移动节点的转交节点。归属代理还负责维护移动节点的当前位置信息。 
外区网代理位于移动节点当前连接的外区网络上，它向已登记的移动节点提供选路服务。当使用外区代理转交地址时，外区代理负责解除原始数据包的隧道封装，取出原始数据包，并将其转发到该移动节点。对于那些由移动节点发出的数据包而言，外区代理可作为已登记的移动节点的缺省路由器使用。移动IP地址移动IP节点拥有两个IP地址。一个是归属地址，是移动节点与归属网连接时使用的地址，不管移动节点移至网络何处，其归属地址保持不变。二是转交地址，就是隧道终点地址，转交地址可能是外区代理转交地址，也可能是驻留本地的转交地址。通常用的是外区代理转交地址。在这种地址模式中，外区代理就是隧道的终点，它接收隧道数据包，解除数据包的隧道封装，然后将原始数据包转发到移动节点。位置登记（Registration）移动节点必须将其位置信息向其归属代理进行登记，以便被找到。有两种不同的登记规程。一种是通过外区代理，移动节点向外区代理发送登记请求报文，然后将报文中继到移动节点的归属代理；归属代理处理完登记请求报文后向外区代理发送登记答复报文（接受或拒绝登记请求），外区代理处理登记答复报文，并将其转发到移动节点。另一种是直接向归属代理进行登记，即移动节点向其归属代理发送登记请求报文，归属代理处理后向移动节点发送登记答复报文。代理发现（Agent Discovery）一是被动发现，即移动节点等待本地移动代理周期性的广播代理通告报文；二是主动发现，即移动节点广播一条请求代理的报文。隧道技术（Tunneling）当移动节点在外区网上时，归属代理需要将原始数据报转发给已登记的外区代理。这是，归属代理使用IP隧道技术，将原始IP数据包封装在转发的IP数据包中，从而使原始IP数据包原封不动的转发到处于隧道终点的转交地址处。在转交地址处解除隧道，取出原始数据包，并将原始数据包发送到移动节点。当转交地址为主流本地的转交地址时，移动节点本身就是隧道的终点，它自身进行解除隧道，取出原始数据包的工作。RFC2003和RFC2004中分别定义了两种隧道封装技术，见图1。
移动IP协议工作原理
1）移动代理（即外区代理和归属代理）通过代理通告报文广播其存在。移动节点通过代理请求报文，可有选择的向本地移动代理请求代理通告报文。 
2）移动节点收悉这些代理通告后，分辨其在归属网上，还是在某一外区网上。 
3）当移动节点检测到自己位于归属网上时，那么它不需要移动服务就可工作。假如移动节点从登记的其他外区网返回归属网时，通过交换其随带的登记请求和登记答复报文，移动节点需要向其归属代理撤销其外区网登记信息。 
4）当移动节点检测到自己已漫游到某一外区网时，它获得该外区网上的一个转交地址。这个转交地址可能通过外区代理的通告获得，也可能通过外部分配机制获得，如DHCP(一个驻留本地的转交地址)。 
5）离开归属网的移动节点通过交换其随带的登记请求和登记答复报文，向归属代理登记其新的转交地址，另外它也可能借助于外区代理向归属代理进行登记。 
6）发往移动节点归属地址的数据包被其归属代理接收，归属代理利用隧道技术封装该数据包，并将封装后的数据包发送到移动节点的转交地址，由隧道终点（外区代理或移动节点本身）接收，解除封装，并最终传送到移动节点。 
在相反方向，使用标准的IP选路机制，移动节点发出的数据包被传送到目的地，无需通过归属代理转发。无论移动节点在归属网内还是在外区网中，IP主机与移动节点之间的所有数据包都是用移动节点的归属地址，转交地址仅用于与移动代理的联系，而不被IP主机所觉察。
移动IP的工作过程
1）IP主机经过标准的IP选路，发往移动节点的数据包抵达归属网。 
2）数据包被归属代理接收，由注册表可知移动节点的关联地址。 
3）采用"隧道技术"送到移动节点的转交地址，即外区代理。 
4）外区代理解除隧道，取出原始数据包，并将原始数据包转发给移动节点。 
5）移动节点发出的数据包通过标准的IP选路规程发送到目的地（本图中外区代理为移动节点的缺省路由器）。
现有移动IP技术存在的不足与改进
1．解决移动节点在子网间漫游时在寻径上却存在如下不足
考虑一个漫游至外地网的用户A，正与用户B进行通信，根据以上寻径方式，用户A的数据必将按照传统IP寻径方法，以某种最佳寻径方式达到用户B；而从用户B发出的数据，由于目的地址是用户A，数据必将先到达用户A的归属代理，在由归属代理传到外地代理，最后才到达用户A。这显然不是最佳路径，特别是当用户A漫游到用户B所在的归属网时，这种寻径方式的传输延迟很大，对实时语音、图像等会造成极大的损害；也增加了网络负担，数据包在网络中运行的时间大大增加。 
为了解决这个不足，可以引入一种新的代理——通信代理，它是与移动节点通信的IP节点的路由器。新结构的工作过程如下：三个代理都发送代理通告报文声明自己的存在，不同的是，通信代理针对的是本范围内的所有用户。用户B要发数据给用户A，他并不知道用户A已移动，仍向用户A所在的子网发数据，被本地代理截获，本地代理一方面将该数据包转发到外区代理，一方面分析源地址，向数据包源端反向发送一条消息，该消息包括用户A目前的状态，如它的关联地址等等，用户B收到本地代理发来的消息后，得知用户A已移动，则向通信代理进行登记，告诉其关于用户A的关联地址，请求建立通信代理至外区代理的通道，建立成功后，由于这是通信两点直接建立的，所以路径最佳，然后用户B把发往用户A的数据包发给通信代理，通信代理截获后由"隧道"发往外区代理，再由外区代理发给用户A。示意图如图3。
通过这种改进，大大减小了时延，更好的满足了第三代移动通信系统IMT-2000中对于传输和寻径时延的要求。 
2．由于采用了IP隧道封装技术，使得封装后的数据包大于源路由数据包，这样不但增加了路由上的负担，还必然的增加了消息处理时延。为了解决这一问题，就要对数据包的包头进行合理的设计或是对包头进行压缩。 
3．移动IP节点的成本要高于有线IP网的节点成本，而目前Internet上的大多数设备和ISP不支持移动IP业务。增设外区代理、归属代理、通信代理都需要更大的资金投入，且技术含量更高。 
4．移动IP的接入对Internet网的安全性提出了更高的要求；反过来，Internet网中的防火墙检验每个数据包的源地址时，当发现数据包的归属地址与外区网的网络地址不一样时，会阻截IP隧道数据包。 
5．IPv4和IPv6。在安全性方面，在移动IPv4中必须依赖自己的安全机制，通过静态地配置“移动安全关联”来完成这些功能，增加了负担。移动IPv6使用IPSec来满足更新绑定时的所有安全需求（发送者认证，数据完整性保护，重传保护等），也就是说移动IPv6的安全性是建立在IPv6的安全机制之上的，这样对移动IPv6就可以省去很多用来应付安全性的工作。IPv6在解决路由的低效性、入口过滤等问题方面也较IPv4有自己考虑的解决的方案。
移动IP技术发展三部曲
1．IP业务与移动通信结合的第一步：在电路交换的移动通信网络中引入IP电话业务 
IP电话是一种新的电话业务，是在IP网络承载话音技术创新的产物。它把话音进行压缩编码，打包分组，路由分配，存储交换，解包解压缩等变换处理，在IP网络上实现话音通信。因为它的分组特性有效地利用了网络资源，降低了话音传输的成本，所以与传统电话相比有成本价格上的优势。在固定网中，IP电话业务正在崛起。基于成本上的考虑，在移动网络中引入IP电话业务也是颇有发展前景的新业务。在我国，GSM移动网络中引入IP电话是用户关注的新业务，也是运营商需要解决的技术问题。 
2．在GSM网络中引入IP分组数据业务：GPRS 
GPRS是移动通信网络向分组化发展的一个里程碑。GPRS是一个从空中接口到地面接入网再到核心网络部分都分组化的数据通信网络。GPRS的分组化实质，使得空中接口频谱利用率与地面接入网带宽利用效率都得到极大地提高。同时诞生了“按流量计费”这种更加合理的资费政策，使得运营商可以宣称：让用户24小时在线，只有点击的时候才计费。GPRS扫除了阻碍无线互联网应用得到普及在技术和成本两方面的障碍，必将加快移动互联网应用的普及和推广。GPRS的骨干网将借助于IP网络和互联网络能够无缝互通互联。对用户来说，移动终端使得原先需要庞大昂贵的PC才能使用的互联网以一种更为简单便捷、亲切易用和廉价实用的方式出现，也更加易于为广大普通百姓所接受。移动性将大大促进互联网应用的普及。可以大胆地预言，互联网和移动通信的结合，会使得以前曲高和寡的数据业务以廉价实用的方式进入寻常百姓家。 
3．第三代移动通信网络的发展方向将是一个全IP的分组网络 
第三代移动通信的发展是在固定网络向宽带电信级IP网络发展的大背景下进行的。第三代移动通信的核心网络将采用宽带IP网络。在此IP网上，承载着从实时话音、视频到Web浏览、电子商务等多种业务，是电信级的多业务统一网络。宽带的IP网络将是分层的：物理承载可以是IP over DWDM、IP over SDH、IP over ATM等多种方式，IP协议是主导的网络路由与寻址协议，网络控制由Call Server服务器实现，而网上的业务则由众多的第三方智能业务提供商提供。实现了传输网络、网络控制、业务提供的分离。相对与传统网络、网络安全性、业务质量保证、新业务提供的便利性、业务种类的丰富性以及开放系统带来的广阔商业机会都是无可比拟的。 
第三代移动网络发展的初期将继承现有移动网络的基础设施，如移动交换机（MSC/VLR），归属位置登记（HLR）数据库等；在业务发展初期，电路型业务如话音，电路型多媒体业务将仍然由MSC网络承载，而分组数据业务将由GSN分组交换机承载，形成电路和分组两套网络并存的局面。但随着分组业务量的急剧增长和IP技术的完全成熟，所有的业务将会统一到IP网络，形成一个真正的综合业务网络。
移动IP出现的背景
——随着Internet的飞速发展和移动计算机日益广泛的应用，推动了对移动计算机无线接入的研究，即移动Internet的研究。象其它台式机用户一样，移动计算机用户希望接入同样的网络，共享资源和服务，而不局限于某一固定区域。且当它移动时，也能方便地断开原来的连接，并建立新的连接。IETF（Internet工程任务组）为了迎合这种需求，制定了移动IP协议，从而使Internet上的移动接入成为可能。
——目前IETF正在开发一套用于移动IP的技术规范，这主要是：
——RFC2002（IP移动性支持）、RFC2003（IP内的IP封装）、RFC2004（IP内的最小封装）、RFC2290（用于PPP IPCP的移动IVv4配置选项）。
——传统IP技术的主机使用固定的IP地址和TCP（传统控制协议）端口进行相互通信。在通信期间，它们的IP地址和ICP端口号必须保持不变，否则IP主机之间的通信将无法继续。而移动IP主机在通信期间可能需要在网络上移动，它的IP地址也许会经常发生变化。若采用传统方式，IP地址的变化会导致通信中断。为解决这一问题，移动IP技术引用了处理蜂窝移动电话呼叫的原理，使移动节点采用固定不变的IP地址，一次登录即可实现在任意位置上保持与IP主机的单一链路层连接，使通信持续进行。移动IP网络结构示于图1。
与移动IP技术相关的重要术语及工作原理重要术语——.归属代理（Home Agent）
——一个在移动节点归属网上的路由器，它至少有一个接口在归属网上，当移动节点离开归属网时，它通过“IP通道（IP Tunnel）”把数据包传给移动节点，并且负责维护移动节点的当前位置信息。
——.外区代理（Foreign Agent）
——移动节点当前所在网络上的路由器，它向已登记的移动节点提供选路服务。当使用外区代理转交地址时，外区代理负责解除原始数据包的隧道封装，取出原始数据包，并将其转发到该移动节点。对于那些由移动节点发出的数据包而言，外区代理可作为已登记的移动节点的缺省路由器使用。
——.归属地址（Home Address）
——这是用来识别端到端连接的静态地址，也是移动节点与归属网连接时使用的地址。不管移动节点连至网络何处，其归属地址保持不变。
——.转交地址（Care of Address）
——转交地址即隧道终点地址。它可能是外区代理转交地址，也可能是驻留本地的转交地址。外区代表转交地址是外区代理的一个地址，移动节点利用它进行登记。在这种地址模式中，外区代理就是隧道的终点，它接收隧道数据包，解除数据包的隧道封装，然后将原始数据包发到移动节点。由于这种地址模式可使很多移动节点共享同一个转交地址，而且不对有限的IPv4地址空间提出不必要的要求。所以这种地址模式被优先使用。驻留本地的转交地址是一个临时分配给移动节点的地址。它由外部获得（如通过DHCP），移动节点将其与自身的一个网络接口相关联。当使用这种地址模式时，移动节点自身就是隧道的终点，执行解除隧道功能，取出原始数据包。一个驻留本地的转交地址仅能被一个移动节点使用。转交地址是仅供数据包选路使用的动态地址，也是移动节点与外区网连接时使用的临时地址。每当移动节点接入到一个新的网络，转交地址就发生变化。
——.位置登记（Registration）
——移动节点必须将其位置信息向其归属代理进行登记，以便被找到。在移动IP技术中，依不同的网络连接方式，有两种不同的登记规程。一种是通过外区代理进行登记。即移动节点向外区代理发送登记请求报文，外区代理接收并处理登记请求报文，然后将报文中继到移动节点的归属代理；归属代理处理完登记请求报文后向外区代理发送登记答复报文（接受或拒绝登记请求），外区代理处理登记答复报文，并将其转发到移动节点。另一种是直接向归属代理进行登记，即移动节点向其归属代理发送登记请求报文，归属代理处理后向移动节点发送登记答复报文（接受或拒绝登记请求）。登记请求和登记答复报文使用用户数据报协议（UDP）进行传送。当移动节点收到来自其归属代理的代理通告报文时，它可判断其已返口到归属网络。此时，移动节点应向归属代理撤销登记。在撤销登记之前，移动节点应配置适用于其归属网络的路由表。
——.代理发现（Agent Discoery）
——为了随时随地与其他节点进行通信，移动节点必须首先找到一个移动代理。移动IP定义了两种发现移动代理的方法：一是被动发现，即移动节点等待本地移动代理周期性地广播代理通告报文；二是主动发现，即移动节点广播一条请求代理的报文。移动IP使用扩展的“ICMP Router Discovery”机制作为代理发现的主要机制。要注意的是，使用以上任何一种方法都可使移动节点识别出移动代理并获得转交地址，从而获悉移动代理可提供的任何服务，并确定其连至归属网还是某一外区网上。使用代理发现可使移动节点检测到它何时从一个IP网络（或子网）漫游（或切换）到另一个IP网络（或子网）。
——所有移动代理（不管其能否被链路层协议所发现）都应具备代理通告功能，并对代理请求作出响应。所有移动节点必须具备代理请求功能。但是，移动节点只有在没有收到移动代理的代理通告，并且无法通过链路层协议或其他方法获得转交地址的情况下，方可发送代理请求报文。
——.隧道技术（Tunneling）
——当移动节点在外区网上时，归属代理需要将原始数据包转发给已登记的外区代理。这时，归属代理使用IP隧道技术，将原始IP数据包（作为净负荷）封装在转发的IP数据包中，从而使原始IP数据包原封不动地转发到处于隧道终点转交地址处。在转变地址处解除隧道，取出原始数据包，并将原始数据包发送到移动节点。当转交地址为驻留本地的转交地址时，移动节点本身就是隧道的终点，它自身进行解除隧道，取出原始数据包的工作。IETF RFC2003和RFC2004各自定义了一种利用隧道封装数据包的技术，详见图2所示。
——在RFC2003中规定，为了实现在IP数据包中封装作为净负荷的原始IP数据包，需要在原始数据包的现有头标前插入一个外层IP头标。外层头标中的源地址和目的地址分别标识隧道的两个边界
节点。内层IP头标（即原始IP头标）中的源地址和目的地址则分别标识原始数据包的发送节点和接收节点。除了减小TTL值之外，封装节点不改变内层的IP头标。内层IP头标在被传送到隧道出口节点期间保持不变。从而使原始IP数据包原封不动地转发到处于隧道终点的转交地址。
——使用RFC2004定义的IP内最小封装有一个前提条件，就是当原始数据包被分片时，不能使用这
种封装技术，也就是说，数据包在封装之前不能被分片。因此，对移动IP技术来讲，最小封装技术是可选的。为了使用最小封装技术来封装数据包，移动IP技术需要在原始数据包经修改的IP头标和未修改的净负荷之间插入最小转发头标。显然，这种最小封装技术比RFC2003定义的封装技术节省开销。
——当拆装数据包时，隧道的出口节点将最小转发头标的字段保存到IP头标中，然后移走这个转发头标。工作原理——工作原理分以下步骤：
——①归属代理和外区代理不停地向网上发送代理通告（Agent Advertisement）消息，以声明自己的存在。
——②移动节点接到这些消息，确定自己是在归属网还是在外区网上。
——③如果移动节点发现自己仍在归属网上，即收到的是归属代理发来的消息，则不启动移动功能。如果是从外区重新返回的，则向归属代理发出注册取消的功能消息，声明自己已回到归属网中。
——④当移动节点检测到它移到外区网，它则获得一个关联地址，这个地址有两种类型：一种即是外区代理的IP地址；另一种是通过某种机制与移动节点暂时对应起来的网络地址，也即是移动节点在外区暂时获得的新的IP地址。
——⑤然后移动节点向归属代理注册，表明自己已离开归属网，把所获的关联地址通知归属代理。
——⑥注册完毕后，所有通向移动节点的数据包将归属代理经由“IP通道”发往外区代理（如使用第一类关联地址）或移动节点本身（如使用第二类关联地址），外区代理收到后，再把数据包转给移动节点，这样，即使移动节点已由一个子网移到另一个子网，移动节点的数据传输仍能继续进行。
——⑦移动节点发往外地的数据包按一般的IP寻径方法送出，不必通过归属代理。
——图3说明了移动节点在外区网上时，移动IP的工作过程。
移动IP存在的问题——一个是三角形路径问题。移动IP协议执行时常会遇到三角形路径问题，即通信节点发送数据包到移动节点时，需要通过其归属代理，而移动节点根据标准IP路由规则将数据包直接发送到通信节点。三角形路径问题会引起一些潜在的危害，例如增加引入流量的时延容易引起归属代理处的路由瓶颈。如果通信节点知道移动节点的转交地址，通信节点就能通过隧道技术直接发送数据包到移动节点，不需要归属代理的帮助。现在的问题是Internet上的通信节点一般不能提供接收和存储移动节点转交地址的信息，也就是不能执行任何隧道技术。对基本移动IP协议的改进将有助于这个问题的解决。
——另一个问题是外区代理间的光滑切换。由于移动主机的频率可能很高，与移动节点通信的每个主机可能来不及收到移动主机的地址更新消息，在主机离开一个子网而进入另一个子网期间，有可能在网络上有以移动节点为目的的分组。因此保证这些分组的安全是网络实现在于网间光滑漫游的主要问题。
——另外移动节点连至Internet的链路通常是无线链路，这种链路与传统的有线网络相比，其带宽明显低得多，误码率高得多；某些防火墙也可能会阻断IP隧道，因为它们检验每个数据包的源地址，而移动节点的数据包归属地址与外区网的网络地址不一样，从而导致防火墙阻截IP隧道数据包；且移动节点可能是电池供电，如何减小功耗是一个急需解决的问题。