"); //-->
移动设备在网络间移动时,其IP地址必须适应移动性的要求;另一方面,由于应用系统需要恒定的IP地址,移动IP也必须满足其对地址固定性的要求。两者之间的矛盾可以通过为每个设备分配本地地址和转发地址加以解决,本文从移动性问题、移动IP的工作原理以及DHCP等方面阐述了移动IP面临的问题及其解决方案。
互联网分级路由数据包的特性阻碍了漫游设备接入互联网,而移动IP协议正是直接解决这个难题的有效方法。网络连接对嵌入式系统设计至关重要,包含互联网设备在内的常用网络设备必须在连接之前确定其不同的适用规模,这些要求也迫使嵌入式系统开发人员寻求一套新的设计技巧。此外,还必须迅速满足网络协议要求。
嵌入式系统接入网络的常规方式与其他设备(从大型计算机到PC机)接入网络的方式完全相同。目前接入互联网的设备数目可能已超过互联网的最初地址容量,但由网络地址翻译(NAT)实现的地址空间局域化和互联网协议版本6(IPv6)提供的更多编址已使得上述问题迎刃而解。类似地,像动态主机控制协议(DHCP)这样的协议也极大地简化了设备配置。目前嵌入式系统的网络支持正在顺利地建设。
只要所有的节点静止不动,TCP/IP系列协议就能很好地工作。IP的分级寻址方案依赖于下述假设:一旦网络的某个指定点收到数据包,数据包就停留在该处。这个假设不仅适用于服务器,还适用于PC机,甚至包括笔记本电脑,因为笔记本电脑在移动时通常需要断电。到达新目的地后,这些设备即可通过新的初始化过程(最好由DHCP自动执行)获得新的地址。
无线通信带来了新的挑战。如果联网的嵌入式设备可以移动并且必须保持连接状态,那么又该如何处理呢?本文将分析移动系统特殊寻址的TCP/IP扩展。移动IP的设计基于这样的思想:在寻址分级结构固定位置处的固定虚拟网络中实施应用,尽管现实中用户可能远远地游离于该地理位置之外。移动IP可使地铁上甚至起居室中的用户看来好像工作在办公室中央。这些设置之间的转换对用户而言应当是透明的。
移动性问题
TCP/IP的寻址方案能有效的分配信息传输,IP地址由网络地址和节点地址组成。这样骨干网可将信息传送至适当的网络,而局域路由则能负责“最后一公里”处理,将数据包传送至接收终端。
寻址载荷的发送是双重的,网络地址通常作为一类可由骨干网指定的路由实体加以管理的网络地址进行处理,这类地址通常可作为分配给指定ISP的子网。这样互联网骨干网上的路由表就可以在指定ISP的范围内大批量传输带有网络地址的数据包。
ISP完全可以对地址进行更为详尽的分析,经过这一级路由,数据包通常至少发送至确实接收该数据包的网络。ISP经营的每个网络都具有一个说明如何到达该网络的路由入口。由于ISP只关心所管理的网络,因此这些路由表比骨干网服务器管理的路由表要小得多。
一旦数据包到达网络,通常被直接发送至接收该数据包的节点。这项工作需要另一级路由表完成,这级路由表具有符合网络地址要求的所有节点的列表。
只要用户不移动或者移动的范围不是很大,那么该方案还是行之有效的。只要一个节点停留在某个指定的网络地址,那么只有局域网关才能找到该地址。如果网关处理的是无线802.11网络,那么用户就可在半径约为300英尺的范围内移动。这能解决许多公司的办公室通信问题,但必须在规定的范围以内。如果用户突然切换至不同的无线网络集线器或者甚至不同的无线协议(例如GPRS),那么移动设备就将处于不同的网络,而其节点地址则不再有效。
笔记本电脑通常要求用户重新启动来解决上述问题。但这并非笔记本电脑所需解决的主要问题,因为用户在移动时很少运行笔记本电脑。一旦笔记本电脑到达目的地,即可重新启动,并从该位置处的网络获得新分配的节点地址。
这毕竟还会带来些许麻烦。笔记本电脑需要接入公司的本地资源,由于发现是从外地进行访问,因而无法接入这些资源。正是上述问题导致了虚拟专用网(VPN)的出现,VPN允许设备从外地接入网络,就好像该设备直接驻留在指定网络上。上述描述可以参见图1。
只要强制设备进行初始化循环,就能很好地完成上述操作。分层结构中的新位置在初始化循环中建立,而设备应用系统不会出现转换不稳定状态。
漫游设备则要复杂得多,人们通常期望移动设备要么总是保持连接,要么具有最小的启动时间,这些期望都使得扩展初始化序列的验证变得复杂。如果设备还支持扩展功能,那么必须能动态协商连接的变化,使得应用系统呈现出恒定连接和一致连接。这就是移动IP所做的工作。
移动IP的工作原理
移动IP的基本概念非常简单。由于移动设备在网络间移动时,其IP地址肯定会发生变化,因此移动IP必须适应这项要求。另外由于应用系统需要恒定的IP地址,移动IP也必须满足这项要求。两者间明显的矛盾可以通过为每个设备分配两个分离的地址加以解决。
首先是本地地址,这是设备的物理地址,驻留在本地网络的地址空间中。本地地址由本地网络本身分配(通过DHCP或其他一些机制)并在设备中长期存在。对于应用系统,本地地址即为设备的IP地址。
其次是转发地址,随着用户穿越数个网络的连接范围,转发地址可能不时地发生变化。对于互联网路由协议,转发地址即为设备的目的地址。
最后,还有一点值得进一步研究。互联网应该怎样才能跟上在不同网络间飞速穿越的移动设备?关键在于骨干网的路由协议只关注IP地址的网络地址部分,而节点地址只适用于本地网络。新的转发地址在分配给移动设备的同时,也分配给新网络,而该网络负责跟踪移动设备。
使上述机制运转的新部件源自本地网络。任何发送至移动设备的数据包将首先路由至本地网络,因为这是网络对设备本地地址的规定。一种称为本地代理的新实体将出现在支持移动IP的网络中。
本地代理负责截取发送至当前不在本地网络的移动设备的任何数据包,之后再将这些数据包转发至设备的当前转发地址。本地代理将收到的数据包打包在另一个带有转发地址的数据包中,该数据包再发送至互联网,路由协议将确保数据包抵达临时为该移动设备服务的网络,这个网络称为外地网络。
一旦数据包抵达外地网络,该数据包仍必须到达移动设备。路由的最后一大难题可由一种称为外地代理的新实体加以解决。外地代理拆封数据包,并经由本地地址发送至实际设备,本地地址与无线设备的硬件目的地址关联。当数据包抵达设备,将被作为寻址正确的数据包加以接收;然后经由TCP/IP协议栈传送至相关的应用软件。
图2描述了数据包路由至移动设备的工作原理,该移动设备正连接在一个并非本地网络的网络上。
进一步的阐述
下面的描述忽略了手工设置操作技巧的细节,数据包路由过程包括的事件序列为:1. 移动设备进入新的无线网络。移动设备通过任何适当的协议与网络协商物理连接。2. 移动设备连接网络上的外地代理。移动设备向外地代理发送请求数据包,该数据包中指示了移动设备的本地地址和正确的本地代理地址。3. 外地代理与本地代理的通信。如果请求被认定为有效,本地代理记录移动设备的新转发地址,并向外地代理发送一个接收确认信号。4. 外地代理协调新分配的转发地址和用于通过路由表到达移动设备的物理地址。
上述步骤允许数据包抵达移动设备,但来自移动设备的数据包又该如何处理呢?显然最简单的处理方法是反向执行上述步骤,将数据包从设备传送至外地代理,再传送至本地代理,再传送至最终目的地。但通常并不需要这样,因为TCP/IP的路由算法并不真正关心数据包的来源,而只关心数据包的发送方向。因此在大多数情形中,移动设备可简单地将数据包直接发送至目的地,并带有本地地址的返回地址。
该解决方法最吸引人之处在于大部分互联网部件不需要改变。与移动设备通信的服务器不需要进行任何特殊处理,也不需要通知移动设备上的大部分协议栈,除了与外地代理协商建立转发地址的那部分协议栈。
该方案在主流IP寻址中工作良好,但对于许多已被互联网经常使用的其他协议而言则可能有一些麻烦。下面几节将研究其中的一些难题以及移动IP的处理方法。
DHCP
DHCP使系统管理员的任务变得更为简单,以前需要在网络中管理所有的计算机并为每台计算机预分配唯一的IP地址,这种手工配置进程不可避免地会出现多台计算机共用同一IP地址的情形。毫无疑问,地址复用并不是一件好事情。
移动计算的出现进一步强化了这一点。维护一组相对不能移动的桌面电脑已经够困难了,而为计算机设备更新地址空间则更为复杂,因为这些设备可能在一小时以内反复进出同一网络。
因此,DHCP(或其它的自动地址分配形式)对于移动IP的实现至关重要。显然外地代理可实现这种功能,因为外地代理最终具有为移动节点分配转发地址的功能。尽管还存在另一问题,即与DHCP服务器相反,外地代理需要将许多可被这个实体处理的地址进行分割。这样的地址分割会在指定的网络中降低地址使用的灵活性。总之,由单个中央DHCP服务器处理地址分配是完全可取的。
这样的话,问题又在何处呢?显然DHCP应具备为移动节点分配地址的能力,就像为固定节点分配地址一样。一般说来,移动IP对DHCP的地址分配操作是透明的。
总体而言这是正确的。但又有另一问题浮出水面,即通常与地址相关联的租用时间。如果DHCP为每个地址分配的租用时间为一天或更多,那么公共位置的DHCP服务器就像一个迅速耗尽的地址池(pool of address)的块区。遗憾地是,适用于典型移动节点的租用时间对于固定系统实在是太短了。
解决这个问题的方法是为移动节点建立分离的DHCP服务器。这允许在适合于移动节点的时间间隔内建立移动租用,而处理固定节点的DHCP服务器可使用更长的时间间隔值。这样,块区中的公共服务器在极端情况下也能工作良好,但必须对地址空间进行分段,因而有可能导致商业设置出错。
DHCP在处理复杂事务时,可使移动IP受益非浅。目前DHCP客户可获取IP地址、与DNS服务器和网关地址相关的信息以及局域网络资源。该项功能也可轻易地扩展至支持有效本地代理的动态搜索中,但对于外地代理,则必须通过不同的协议进行搜索,因为传送设备没有完全连接到本地网络。
实际上DHCP的新选项正好可以完成这项功能,尽管新选项尚未在DHCP软件中得到充分的传播。这也是移动IP受益于互联网其他协议的几个情形之一。
防火墙
防火墙已是目前互联网必不可少的配置,它能对多种网络攻击提供良好的安全防护,因此大多数商业网络(以及持续增长的家用系统)都带有防火墙。只要防火墙配置正确,就能使大多数互联网的常规操作变得相对透明。但遗憾的是,移动IP包含一个不在常规之列的操作。
问题在于数据包从移动节点发出的独特三角路径。只要涉及到路由,那么从移动节点发出的数据包直接发送至目的地的工作机制就能很好的实现,但防火墙将认为从网络中发出的带有返回地址的数据包是可疑的。实际上许多防火墙和边界路由器都实现了一种称为入口过滤的特性,入口过滤可阻塞任何呈现可疑特征的数据包。
解决方案是回避对返回至移动设备的数据包所做的多余处理,而只是将其直接发送至目的地址。经过修正,通讯数据将被打包并返回至本地代理,代理拆封数据包并将其发送至最终目的地。这个过程增加了网络的负荷,并且显著增加了本地代理的计算量,但有助于移动IP回避由防火墙干扰引发的问题。
IPv6
IPv6是IPv4体系结构的一项重要修订,升级的动力与其说源自IP地址的不足,不如说源自地址空间的分片。IPv6的设计人员也利用这次升级机会解决了许多困扰IPv4的问题,因此这是一次重大的升级,其中的几项升级与移动IP相关联。
几项增强的功能也与移动IP协调良好。在启动器中,IPv6新增的安全选项对于本地代理验证移动节点标识非常有效。IPv6支持加密的数据包,允许本地代理完全信赖来自位于远程位置并被本地代理支持的移动节点的数据包。
但IPv6对外地代理的影响更大一些。实际上,IPv6完全消除了外地代理,转而支持能取代网络搜索协议的邻节点搜索协议,网络搜索协议可被移动节点用来连接外地网络。另外源节点路由选项允许本地代理将转发地址直接指定为任意数据包的中间节点。上述因素以源节点路由信息的形式,很好地结合了将更新信息直接传送至内部代理的功能,这样就不需要外地代理了。
当然上述因素的适当组合并非偶然。IPv6本身就构建在尽可能支持移动IP协议的基础上,反过来移动IP也能顺利地升级至IPv6。因此,移动IP将随其不断的推广而获得更多的应用。
过去与未来
今天的互联网已迥异于5年前,数百万移动设备的加入又将使5年后的互联网发生翻天覆地的变化。互联网协议的技术设计以及根据需要进行修正的请求说明(RFC)过程都已证明这是正确无误的,这也是IP在完全不同的要求条件下仍然有效的原因所在。
移动IP是IP适应各时期需要的一个典型示例。移动IP使专为台式电脑所设计的网络标准适应了便携式移动设备的需要,并将在不远的将来满足更小更轻移动设备的需要。随着这些网络需要得到更充分地满足,移动节点也将获得更多的应用。
Larry Mittag是无线系统集成商Stellcom公司的首席技术专家。他在担任嵌入式系统编程(Embedded Systems Programming)杂志的编辑时,为该杂志的发展做出了巨大的贡献。他的联系方式是:lmittag@stellcom.com。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。