且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《分布式系统:概念与设计》一3.4.5 移动IP

更新时间:2022-09-27 12:51:59

3.4.5 移动IP

像笔记本电脑和掌上电脑这样的移动计算机可以在移动时从不同的位置连接到互联网。当用户在自己办公室时,笔记本电脑可以先连接到本地以太网,然后通过路由器连接到互联网;在乘车旅行途中,可以通过移动电话连接到互联网,然后,在另一个地点连接到以太网上。用户希望在任何一个地方查看电子邮件和访问Web。
对服务的简单访问并不需要移动计算机保留一个地址,它可在任意地方获得一个新的IP地址。动态主机配置协议(DHCP)正是用于这一目的的,120它使新接入网络的计算机动态获得一个在本地子网地址范围内的IP地址,并从本地DHCP服务器上找到诸如DNS服务器这样的本地资源地址,它也需要找到它所访问的每个站点上有哪些本地服务(如打印、邮件传送等)。发现服务是有助于完成此工作的一种命名服务,其具体内容将在第19章(19.2节)中介绍。
笔记本电脑上可能有其他人员需要访问的文件或其他资源,或者该笔记本电脑正在运行分布式应用(如共享监控服务,它接收用户拥有的股票超过一定阈值这样的特定事件的通知)。当移动计算机在局域网和无线网络之间移动时,如果要让用户和资源共享应用访问移动计算机,移动计算机必须保持单个IP号,但IP路由是基于子网的。子网位于固定的地点,将数据包正确地路由到子网取决于子网在网络上的位置。
移动IP是后一个问题的解决方案,该方案的实现对用户是透明的,因此当移动主机在不同位置的子网中移动时,IP通信会继续正常地进行。这是因为“主”(home)域的子网中的每台移动主机拥有永久固定的IP地址。
当移动主机在“主站点”中连接到互联网时,数据包会以正常方式路由到主机上;当移动主机在其他地方连入互联网时,有两个代理进程负责重新路由。它们是主代理(HA)与外地代理(FA)。这些进程运行在主站点以及移动主机当前所在位置处的固定计算机上。
HA负责保存移动主机当前位置(即可以到达该移动计算机的IP地址)的最新情况,它在移动主机自身的帮助下完成该功能。当一个移动主机离开主站点时,它会告知HA,HA会注意到该移动主机离开。当主机离开时,HA就充当一个代理服务器。为实现代理功能,HA会通知本地路由器取消与移动主机IP地址有关的任何缓存记录。当HA作为一个代理服务器时,HA会响应有关移动主机IP地址的ARP请求,将自己的局域网地址作为移动主机的网络地址发送给该请求。
当移动主机到达一个新站点时,它会通知在此站点上的FA。FA给它分配一个“转交”地址——一个本地子网上的新的临时IP地址。然后FA与HA联系,将移动主机的主IP地址以及分配给它的转交地址告知HA。
图3-20说明了移动IP的路由机制。当一个以移动主机的主地址为地址的IP数据包被传送到主网络上时,它将被路由到HA。然后,HA将该IP数据包封装到一个移动IP数据包中,并发送给FA。FA拆解出原来的IP数据包,并通过它当前连接的局域网发送到移动主机。注意,HA与FA将原始数据包重新路由到预期接收者的方法,是3.3.7节描述的隧道传输技术的实例。121
《分布式系统:概念与设计》一3.4.5 移动IP

HA也将移动主机的转交地址发送到原来的发送者。如果发送者支持移动IP,它将注意到新的地址,并且使用新的地址与移动主机接着通信,避免了通过HA重新路由的开销。如果发送者不支持移动IP,它将忽视地址的改变,而后续的通信依然通过HA重新路由。
移动IP方案是可行的,但还不是十分有效。将移动主机作为一等公民的方法会更好一些,这样可以允许主机漫游时无需预先给出通知,并且不必使用隧道技术就可将数据包路由到主机。应该注意,这个看上去很难的技术已在移动电话网中实现——当移动电话在不同蜂窝乃至国家之间移动时,并不需要改变电话号码。它们只需时常通知本地移动电话网基站它们的存在即可。