移动IP技术(1)

发布时间:2008-08-08 作者:糜正琨

[编者按] 随着无线通信技术和便携式终端技术的快速发展,面向固定网络环境的传统IP技术迫切需要更新,以支持主机在网络中的漫游和移动。为此提出了移动IP技术,它是下一代通信网络(NGN)和下一代因特网(NGI)的重要基础技术之一。本讲座分3期介绍该项技术,第1期介绍移动IPv4和移动IPv6的基本原理和关键技术;第2期将介绍移动IP的路由优化技术和安全技术;第3期将介绍移动IP切换技术,并简述移动IP技术的未来发展。

1 移动IP的技术背景
    下一代通信网络将是一个以IP为核心的分组网络,充分利用各种无线接入技术实现终端可自由移动的、无处不在的通信。无论固定通信终端还是移动通信终端都将被赋予统一编址的IP地址,网络根据IP地址将数据分组路由传送至终端。

    IP地址采用“网络前缀+主机地址”的两段式结构,当主机位于其对应的子网上才能收到以它为目的地的数据分组。因此,当主机由一个子网移至另一个子网时,为保证其仍能收到数据分组,传统IP技术可采取两种方法:一是人工重新配置其IP地址、二是针对该主机在相应的路由器中配置特定的主机路由规则。但是,前者将导致运输层和高层应用连接的中断,后者将导致网络路由表的急剧增长。为此,必须提出新的支持网络节点自由移动的IP技术,即移动IP技术。

    移动IP的基本技术要求是:网络节点在改变接入子网时,无需改变其IP地址,仍然能和其他普通节点正常通信,且路由器和非移动主机的协议无需更新;移动IP不但支持节点在同质IP子网间的自由移动,也支持节点在异质子网如以太网和无线局域网之间的自由移动;移动IP对于运输层及高层应用应该是完全透明的,即上层协议感觉不到它的引入,无需作任何改变;考虑到无线链路的有限带宽和无线终端的有限电池容量,移动IP的协议开销应尽可能地小;本质上,移动IP的实现将导致数据分组的重定向,因此必须有很高的安全性。

    根据以上要求,IETF于1996年提出了移动IP的第一个版本,于2002年和2004年分别提出了移动IPv4和移动IPv6协议标准。

2 移动IPv4技术

2.1 移动IPv4网络结构
    移动IPv4(MIPv4)的网络结构如图1所示,包括以下4个功能实体:


  • 移动节点(MN):装备了移动IP协议的主机。
  • 对端节点(CN):与移动节点进行通信的对端通信节点,并不要求装备移动IP。
  • 家乡代理(HA):在MN家乡链路上的路由器,其主要功能是当MN移动到外部子网时,截获所有至该MN的数据分组,并通过隧道将其转发给MN。所谓家乡链路就是其子网前缀和移动节点IP地址的网络前缀相同的链路。
  • 外地代理(FA):在外地链路上的路由器,其主要功能是代表移动至该链路上的MN接收数据分组,并将其路由至MN。所谓外地链路就是其子网前缀和移动节点IP地址的网络前缀不同的链路。

    在MIPv4中,MN对应有两个地址:

  • 家乡地址(HoA):常规配置的IP地址,该地址不随MN的移动而改变,CN始终以此地址作为目的地地址和MN通信。
  • 转交地址(CoA):MN至外地子网后的临时通信地址,家乡代理以此地址作为目的地地址向MN转发数据分组,实际上该地址就是家乡代理至外地子网的隧道的出口地址。分为两类转交地址,一类称为外地代理转交地址,是在外地代理上配置的一个地址,通过该地址向所有连接在该外地链路上的MN转发分组;另一类称为配置转交地址,是临时分配给MN的一个地址,为该MN独享。使用配置转交地址的好处是数据分组直接递交给MN,无需通过外地代理中转,其代价是需要占用额外的地址空间。因此从可扩展性考虑,通常采用外地代理转交地址。

2.2 MIPv4协议过程
    MIPv4包括3个协议过程:

  • 代理发现过程:MIPv4规定FA应周期性地广播代理公告报文,该报文是因特网控制消息协议(ICMP)路由公告报文的扩展。MN通过监听该报文判定其是否位于外地网络或从一个外地网络迁移至另一外地网络,并由此获得外地代理转交地址。MN也可主动发送代理请求报文,请求外地代理发送代理公告报文。
  • 注册过程:如图2所示。MN发现新的外地代理后,向HA发送注册请求报文,告之HA其在外地网络中的转交地址。HA接受其注册,回送注册应答报文,并将MN的家乡地址和转交地址绑定。通过绑定实现数据分组的重定向,即原来指向MN家乡地址的数据包至HA后转发给MN的转交地址,最后递交给MN。


  • 数据转发过程:注册成功后,如注册的是外部代理转交地址,则HA和FA之间将建立隧道,HA截获CN发往MN的分组后,通过隧道转发给FA,再由FA递交给MN。因此,MN无需改变其家乡地址仍然能收到CN发给它的数据分组。MIPv4规定必需支持的隧道技术是IP in IP隧道技术,可以选择的隧道技术则是IP内最小封装隧道技术和通用路由封装(GRE)隧道技术。

    图3所示为HA采用IP in IP隧道方式向MN转发数据的情况。其中,X表示CN的IP地址,Proto=4表示隧道封装的是IP协议数据包。


2.3 三角路由问题
    在MIPv4中,CN发给MN的数据包将沿着CN-->HA-->FA-->MN的绕行路径传送,而MN发给CN的数据包仍然按照直接路径MN-->CN传送,由此形成了所谓的“三角路由”。在MN和CN离家乡链路较远,两者通信的持续时间又较长的情况下,经由HA转发数据分组会造成网络资源消耗的显著增加。

    一个自然的想法是让CN获知MN的转交地址,从而将数据分组直接发送给MN,旁路掉家乡代理,这就是移动IP的路由优化。MIPv4之所以没有采用优化路由的主要原因是安全问题,在网络设备FA和HA之间配置建立安全关联则是可行的,但是要在终端设备MN和众多的CN之间都配置建立安全关联是不大现实的,必须要有一种自动机制确保优化路由的安全性,MIPv6定义了这样一种自动的安全机制。

3 移动IPv6技术
    移动IPv6(MIPv6)的基本思想和MIPv4类似,但是它充分利用了IPv6的增强功能,完善和提升了协议的性能。和MIPv4相比,MIPv6有两点主要不同:一是利用IPv6的地址自动配置功能,省略了外地代理的设置;二是利用IPv6的增强安全功能,实现路由优化。

3.1 IPv6协议及其移动扩展
    IPv6是下一代因特网的标志性技术,对于移动IP来说,以下的技术特点尤为重要。

    首先,IPv6的地址空间巨大,可用地址极其充裕,因此完全可以采用由MN独占的配置转交地址,无需使用外地代理转交地址。

    其次,IPv6定义了地址自动配置协议,包括有状态配置和无状态配置两种机制。前者类似于IPv4中的动态主机配置协议,利用动态主机配置协议第6版(DHCPv6)实现;后者使主机可以自动生成所需的地址。同时,IPv6还定义了邻居发现ICMPv6协议,主机藉此可检验无状态生成的地址是否和其他主机生成的地址冲突。利用这些功能,MN就可以自动生成唯一的配置转交地址。
再次,IPv6规定IPSec是所有主机和路由器,包括所有MN和CN必需具有的功能,这为移动IP实现路由优化奠定了基础。

    最后,IPv6报头结构采用“固定报头+扩展报头”的形式,扩展报头可包含多个描述有关信息的选项,这样的可扩展的报头结构形式便于定义新的增强协议功能。标准IPv6协议已定义了逐跳选项报头、目的地选项报头、路由选项报头、片段报头、认证报头、封装安全有效载荷报头、上层协议报头共7个扩展报头。

    移动IPv6对于IPv6的扩展主要表现在:

  • 新定义了两个扩展报头:一个是移动报头,该报头携带了MIPv6的主要协议报文,用于绑定和路由优化的实现;另一个是第2类路由报头,用于通过优化路由直接传送CN-->MN数据包时携带MN的家乡地址。
  • 新定义了一个家乡地址选项,该选项置于目的地选项扩展报头中,用于MN-->CN发送数据包时携带MN的家乡地址。
  • 新定义了4个ICMPv6报文,用于发现家乡代理地址以及发现家乡网络前缀的改变。

    MIPv6的网络结构和MIPv4的网络结构基本相同,只是网络不再包含外地代理,图1中的外地代理只是外地网络中的一个普通路由器。

3.2 MIPv6协议过程
    MIPv6包括4个协议过程:

  • 配置转交地址:MN发现移动进入一个新的子网时,利用地址自动配置协议自动配置转交地址。
  • HA注册:MN通过和HA交互绑定更新(BU)和绑定更新确认(BA)报文,登记其配置的转交地址,HA建立其家乡地址和转交地址的绑定关系,并建立和MN的隧道。
  • 路由优化:MN收到CN通过HA转发来的数据分组后,根据需要可以向CN发送绑定更新报文,将其转交地址告之CN,CN建立绑定关系。
  • 数据传送:MN和CN之间的数据传送可有两种方式。

    一种是非路由优化的隧道方式,类似于MIPv4。但不同的是,此时MN-->CN的数据也必须通过经由HA的反向隧道传送,不能由MN直接发往CN。其原因是直接传送的数据分组的源地址为MN的家乡地址,未使用外地链路的网络前缀,而MIPv6又没有外地代理,数据分组将直接发送给外部链路上的接入路由器,路由器的入口过滤会认为分组的拓扑非法而将其丢弃。

    另一种是路由优化方式,MN和CN之间利用转交地址直接传送数据,不再经由HA隧道转发。为了保证对于上层协议的透明性,数据分组需利用新定义的第2类路由扩展报头和家乡地址选项携带关于目的地址和源地址的补充信息。

3.3 MIPv6的实现技术
    MIPv6的实现需要考虑以下几项技术:
    (1)移动检测
    移动检测指的是检测MN在网络层的移动,即MN是否离开家乡网络进入外部网络或由一个外部网络进入另一个外部网络,以触发移动IP协议过程的启动。为了保证可靠性,移动检测必须准确无误。判定网络层移动事件发生需同时满足两个条件:一是发现了新的网络前缀,二是原先的默认路由器已不可达。

    网络前缀信息是通过路由器公告报文获得的,但是由于通常路由器公告报文的源地址是本地链路地址,即使是位于不同子网中的路由器,其播发的公告的网络前缀也是相同的,无法予以区分。为此,MIPv6修改后的路由器公告报文中增设了描述路由器全局地址的网络前缀选项,并相应增设了该选项存在的指示比特。

    另外还要考虑在同一子网中可能有多个路由器的情况,这些路由器的网络前缀是不相同的,即使是同一路由器也可能配置有多个网络前缀。为此,要求支持移动IP的路由器播发路由器公告时应包括链路标识符选项,MN应根据该选项信息判定播发该公告的路由器是否和默认路由器位于同一链路上。

    即使确认发现了位于新的外部链路上的路由器,原先链路上的默认路由器可能仍然有效,这在无线接入的情况下是很可能的。因此,还需进一步判定原先路由器的可达状态。为此,MIPv6为路由器公告报文新定义了一个通告时间间隔选项,以ms为单位给出组播路由器公告发送的最大时间间隔,MN可据此判定路由器的可达性,也可通过主动发送路由器请求予以判定。

    为了加快移动检测的速度,在可能的情况下还应利用链路层切换的信息。当MN收到链路层切换指示时,可主动发送路由器请求报文,以判定链路层切换是否引起了网络层切换。

    (2)家乡代理动态发现
    考虑到在家乡链路上可以部署多个家乡代理、选定的家乡代理可能失效、家乡代理地址可能变化等因素,MIPv6定义了动态家乡代理发现(DHAAD)机制,它允许MN自动发现家乡代理地址,无需人工配置,并支持多个家乡代理的负荷分担。

    为此,MIPv6新定义了一个家乡代理信息选项,供家乡代理发送的路由器公告使用。该选项内容包括家乡代理生命期和家乡代理优先级,家乡代理可以根据其负荷和可用性动态改变其优先级,优先级值越大表示其可用性越高。当同一链路上其他家乡代理收到该信息时,将把该家乡代理的地址、生命期及优先级存入家乡代理列表,在列表中各家乡代理按优先级的高低顺序排列。这样,每个家乡代理都保存有家乡链路上所有家乡代理的信息。

    MIPv6新定义了两个ICMPv6报文:DHAAD请求和DHAAD应答,MN可通过发送DHAAD请求发现家乡代理。该报文的目的地址是家乡代理任播地址,其结构是“家乡链路前缀+特定的接口标识符”。家乡链路上的某个家乡代理将接收并处理该报文,在DHAAD应答中返回所有家乡代理的信息,MN可以根据策略选择一个合适的家乡代理。

    显然,实现家乡代理自动发现的前提是MN必须知道自身的家乡链路前缀,因此要完全免除人工配置,实现移动节点的即插即用,还必需有家乡地址自动发现机制。一个可能的方法是对每个MN赋予一个独立于物理地址的域名,然后利用DNS获得其家乡地址,但必须要解决DNS的安全性问题。

    (3)隧道实现
    无论是MIPv6还是MIPv4都要用到隧道传送技术,家乡代理路由器可以采用虚拟端口的方法将隧道集成到它的路由表中。
我们知道,IP路由表主要包含4项内容:目的地址、前缀长度(掩码)、下一跳地址、端口。其中,端口包含一个指向某物理接口驱动程序的指针,驱动程序负责将分组由该接口发送至外接物理链路,因此常称其为“物理端口”。但是虚拟端口并不和具体接口关联,它指向的是完成隧道封装的一个软件,该软件在待发送分组外部加封装一层外层隧道头部,然后再交给路由表进行常规转发。

    图4为MIPv4情况下,在家乡代理中隧道实现的示例,其对应的路由表如表1所示。当目的地地址为MN家乡地址(7.7.7.1)的分组到达家乡代理时,查询路由表得到的是家乡地址的特定主机路由,指向虚拟端口α。α端口软件封装后的隧道分组的目的地地址为MN的转交地址(1.1.1.1),再递交路由软件处理。查询路由表得到的是默认路由,指向端口2,经由FDDI链路转发出去,最终通向外部代理。该FDDI链路就是隧道的物理通路。



    另外两项十分重要的实现技术是移动IP的路由优化和安全技术,我们将在下一期专门予以讨论。(待续)

收稿日期:2008-05-19