移动IP技术让病人监视器、IP语音电话和笔记本电脑等设备可以在其穿梭于不同地点或者网络之间时,无缝地进行通信。目前,在漫游时保持连续的连接对于日常生活而言正日益重要,而它对于一些关键任务领域(例如紧急医疗服务和军事服务)则更加关键。那么,移动IP技术怎样工作?“运动中网络”将来会有哪些应用?
需要移动IP技术
移动IP技术是由互联网工程任务小组(IETF)在1996年制定的一项开放标准(现RFC 3344),它让用户可以在漫游于不同IP网络之间时保持连接。网络中的IP寻址和路由都是基于固定位置的,网络中的一个设备可以被找到的原因是它在网络中拥有一个地址。IP地址类似于一个与某个电话插孔相对应的电话号码。如果某个电话始终插入到一个特定的插孔中,那么就可以通过分配给这个插孔的电话号码找到这部电话。
但是,如果某个正在打电话的人想要移动到另外一个地方,并将同一部电话插到一个新的插孔中,就会出现问题。因为电路是按照原有的插孔设计方式工作的,所以通话会中断。IP网络也面临着同样的问题。当某个设备不再与它原来所在网络中的IP地址相关联时,它的有效会话将被中断。
移动IP技术让用户可以在出行到另外一个网络中时仍然可以保持相同的IP地址,从而确保漫游的用户可以在不中断会话或者连接的情况下继续通信。尤其是在2.5G/3G/WLAN 等无线网络环境下, 移动IP技术是无线网络内部以及无线网络间的无缝切换/漫游, 用以实现不间断的网络应用的技术保证。
移动IP涉及三个实体
移动IP涉及到三个实体:移动节点、归属代理和外部代理。移动节点是指一个能够进行网络漫游的设备。移动IP客户端的实例包括蜂窝式电话、PDA或者笔记本电脑,它们的软件可以提供漫游功能。归属代理是指本地网络上的一个路由器,它可以充当与移动节点进行通信的定位点;它可以通过隧道将分组发送给正在漫游的移动节点。外部代理是指一个可以在移动节点移动到某个外地网络时,充当移动节点的连接点的路由器,它可以将归属代理发来的分组提供给移动节点。
移动IP领域的常用术语还包括转交地址(COA)和远端节点。转交地址是移动节点处于本地网络之外时,连接移动节点隧道的端接点;而远端节点是指移动节点与之通信的设备,例如一个Yahoo! Web服务器。
代理发现
为了让在不同网络之间漫游的移动节点获得“永不中断”的连接,移动节点首先要做的是发现代理。
归属代理和外部代理会不断地在网络上广播它们的服务。移动节点在收到广播消息之后,就可以发现这些代理和它们所提供的服务,并可以由此判断出自己目前是在本地网络中还是已经移动到某个外地网络。在广播消息中,代理可以说明它是一个归属代理或者外部代理,或者两者都是;它的转交地址;它所提供的服务的类型,例如反向隧道;以及它所允许的注册时间或者漫游期限,这些时间可能会针对移动节点延长。
当移动代理收到某个外部代理的广播消息时,它可以检测到自己已经移动到本地网络之外,并开始注册。
登记注册
为了明确地表达它的注册请求,移动节点可以利用外部代理的广告消息中的信息,并在将请求发送到外部代理之前,利用它的归属代理共享密钥保护这些数据的完整性。作为移动节点和归属代理之间的桥梁,外部代理将会处理这些信息,并将请求转发到归属代理,它可以利用相同的共享密钥进行身份校验,以确认移动节点的有效性。归属代理随后可以建立移动捆绑,即将移动节点映射到转交地址——移动节点目前在外地网络中实际所在的位置。
移动IP为获取转交地址提供了两种方法:移动节点可以从某个外部代理获得转交地址,或者它也可以直接获取一个配置转交地址,它实际上代表了它在外地网络中的当前位置。获得了一个配置转交地址的移动节点需要占用外地网络中的一个地址,而从外部代理获取转交地址的节点则可以与其他移动节点共享一个与该代理相关联的地址。
因为在归属代理和外部代理上的注册都会自动过期,所以移动节点必须重新注册,以保持它与外地网络的连接。移动节点还可以通过取消注册,明确地通知代理它将不再漫游。
为了在移动节点和它的本地网络之间传输分组,归属代理将创建一条指向转交地址的隧道,随后将注册回复发送给外部代理。外部代理,或者移动节点,在使用配置转交地址的情况下,也会建立一条指向归属代理的隧道,以实现成功的注册,同时将注册恢复转发给移动节点。最后,移动节点将对这个回复进行身份验证,确认代理已经意识到它正处于漫游状态。注册可以设置移动节点收发分组的路由方式,整个过程是通过隧道完成的。
利用隧道发送IP包
移动节点可以利用它的本地IP地址发送分组,从而有效地保持这样一种表象:它一直处于本地网络之中。因此,即使在移动节点漫游到外地网络时,它的运动对于远端节点而言始终是透明的。
发送移动节点的数据分组将被路由到它的本地网络,随后本地网络将阻截这些分组,并通过隧道方式将它们发送到移动节点的转交地址。隧道主要具有两种功能:封装到达隧道终端的数据分组,并在分组被发送到隧道另一端时解除分组的封装。
通常,移动节点首先将分组发送到外部代理。外部代理将这些分组路由到它们的最终目的地—远端节点。但是,这条数据路径在拓扑上是不正确的,因为它并没有体现出数据真正的源IP地址,而是体现了移动节点的本地网络。因为分组在外地网络中将本地网络作为它们的来源,所以网络路由器上的一种名为“输入过滤”的访问控制列表将丢弃这些分组,而不是转发它们。一种名为“反向隧道”的功能可以让外部代理从移动节点接收到分组之后,通过一条隧道将这些分组发送到归属代理,从而可以解决这个问题。
移动路由器造移动网
移动路由器可以被定义为一个支持移动网络的路由器。IETF RFC 3344确立了这种“可移动的网络”的概念。移动路由器的作用类似于一个移动节点,但是两者的主要区别在于,移动路由器可以保持与整个网络的连接,而不只是某个移动IP客户端。
当某个分组被发送到一个移动网络时,归属代理将对该分组进行两次封装,再将它发送给外部代理。外部代理随后会对封装的分组进行解封装,并将它们转发到移动路由器,移动路由器再对分组进行一次解封装,并将它们发送给它目前与之保持连接的节点。对于网络的其他部分而言,节点看起来似乎仍然位于本地网络之中,但它实际上处于移动路由器的移动网络中。
为了在漫游期间继续通信,移动网络上的IP设备首先会将分组发送给移动路由器,它通常会将分组转发到外部代理进行路由。网络路由器上的输入过滤功能将会再次丢弃分组,因为数据路径在拓扑上不正确。为了防止这种情况,移动路由器也可以利用反向隧道功能,封装从IP设备发来的分组,将它们转发到外部代理。外部代理会再次对分组进行封装,并将它们发送给归属代理。归属代理会对这些分组进行两次解封装,并将原始分组发送到它们的目的地。
系统架构图
----《中国计算机报》