移动IP

17 Mar 2025 | 6 分钟阅读

这是一个IETF (互联网工程任务组) 标准通信协议,旨在允许移动设备(如笔记本电脑、PDA、手机等)的用户在从一个网络移动到另一个网络时,保持其永久 IP(互联网协议)地址。

移动 IP 在 RFC (请求注解) 2002 中定义,是互联网协议 (IP) 的一种增强,它增加了用于将互联网流量转发到移动设备(称为移动节点)的机制,当这些设备通过其家庭网络以外的网络连接时。

Mobile IP

以下案例展示了数据报如何在移动 IP 框架内从一个点移动到另一个点。

  • 首先,互联网主机使用移动节点的家庭地址(正常的 IP 路由过程)向移动节点发送数据报。
  • 如果移动节点 (MN) 在其家庭网络上,则数据报通过正常的 IP(互联网协议)过程传递到移动节点。否则,家乡代理会拾取数据报。
  • 如果移动节点 (MN) 在外部网络上,则家乡代理 (HA) 将数据报转发到外部代理。
  • 外部代理 (FA) 将数据报传递给移动节点。
  • 从 MN 到互联网主机的数据报使用正常的 IP 路由过程发送。如果移动节点在外部网络上,则数据包被传递给外部代理。 FA 将数据报转发到互联网主机。

在无线通信的情况下,上述插图描绘了使用无线收发器将数据报传输到移动节点。此外,互联网主机和 MN 之间的所有数据报都使用移动节点的家庭地址,而不管移动节点是在家庭网络还是外部网络上。转交地址 (COA) 仅用于与移动代理的通信,互联网主机永远看不到它。

移动 IP 的组成部分

移动 IP 具有以下三个组成部分:

1. 移动节点 (MN)

移动节点是一个终端系统或设备,例如手机、PDA(个人数字助理)或笔记本电脑,其软件支持网络漫游功能。

2. 家乡代理 (HA)

家乡代理为移动节点提供多种服务,并位于家庭网络中。指向移动节点的数据包的隧道从家乡代理开始。家乡代理维护一个位置注册表,即它通过当前的 COA(转交地址)获知移动节点的位置。以下是 HA 实现的替代方案。

  • 家乡代理可以在负责家庭网络的路由器上实现。这显然是最好的位置,因为没有对移动 IP 进行优化,所有发往 MN 的数据包都必须通过路由器。
  • 如果无法更改路由器的软件,则家乡代理也可以在子集中的任意节点上实现。此解决方案的最大缺点是,如果 MN 在外部网络中,则数据包要双倍穿越路由器。发往移动节点的数据包通过路由器进入; HA 通过隧道发送它,隧道再次穿越路由器。

3. 外部代理 (FA)

外部代理可以在移动节点访问外部网络期间为其提供多种服务。 FA 可以具有 COA(转交地址),充当隧道端点并将数据包转发到 MN。外部代理可以是 MN 的默认路由器。

外部代理还可以提供安全服务,因为它们属于外部网络,而不是仅访问的 MN。

简而言之,FA 是一个路由器,当移动节点漫游到外部网络时,它可以用作移动节点的连接点,将数据包从家乡代理传递到移动节点。

4. 转交地址 (COA)

转交地址定义了移动节点从 IP 角度的当前位置。发送到 MN 的所有 IP 数据包都传递到 COA,而不是直接传递到 MN 的 IP 地址。向移动节点的数据包传递是使用隧道完成的。更准确地说,COA 标记了隧道的端点,即数据包退出隧道的地址。

转交地址的位置有两种不同的可能性

  1. 外部代理 COA:COA 可以位于外部代理上,即 COA 是外部代理的 IP 地址。外部代理是隧道端点,并将数据包转发到 MN。许多使用 FA 的 MN 可以共享此 COA 作为公共 COA。
  2. 同位 COA:如果 MN 暂时获取了一个充当 COA 的附加 IP 地址,则 COA 是同位的。该地址现在在拓扑上是正确的,并且隧道端点位于移动节点。可以使用 DHCP 等服务获取同位地址。与此方法相关的一个问题是,如果 MN 请求 COA,则需要其他地址。考虑到 IPv4 地址的稀缺性,这并不总是一个好主意。

5. 通信节点 (CN)

至少需要一个伙伴进行通信。通信节点代表 MN 的这个伙伴。通信节点可以是固定节点或移动节点。

6. 家乡网络

家乡网络是 MN 所属的子集,相对于其 IP 地址。此网络中不需要移动 IP 支持。

7. 外部网络

外部网络是 MN 访问的当前子集,而不是家乡网络。

移动 IP 的过程

移动 IP 过程有以下三个主要阶段,分别是

1. 代理发现

在代理发现阶段,HA 和 FA 使用 ICMP 路由器发现协议 (IROP) 在网络上通告其服务。

移动 IP 定义了两种方法:代理通告和代理请求,它们实际上是路由器发现方法加上扩展。

  • 代理通告:对于第一种方法,FA 和 HA 使用特殊的代理通告消息定期通告它们的存在。这些消息的通告可以被视为广播到子网中的信标。对于此通告,根据 RFC 1256 使用互联网控制消息协议 (ICMP) 消息,并附带一些移动性扩展。
  • 代理请求:如果没有代理通告,或者到达时间间隔太高,并且 MN 尚未收到 COA,则移动节点必须发送代理请求。这些请求再次基于 RFC 1256 进行路由器请求。

2. 注册

注册的主要目的是告知家乡代理当前位置,以便正确转发数据包。

Mobile IP

注册可以通过两种方式完成,具体取决于 COA 的位置。

  • 如果 COA 位于 FA 上,则 MN 将其包含 COA 的注册请求发送到 FA,FA 将该请求转发到 HA。 HA 现在设置一个移动性绑定,其中包含移动节点的家乡 IP 地址和当前 COA。

此外,移动性绑定包含注册的生命周期,该生命周期在注册过程中协商。注册在生命周期后自动过期并被删除;因此,移动节点应在过期前注册。设置移动性绑定后,HA 向 FA 发送回复消息,FA 将其转发给 MN。

  • 如果 COA 是同位的,则注册可以非常简单。移动节点可以直接将请求发送到 HA,反之亦然。顺便说一下,这也是 MN 返回其家乡网络的注册过程。

3. 隧道

隧道用于建立数据包在隧道入口和隧道端点之间的虚拟管道。进入隧道的数据包将在隧道内部转发,并保持不变地离开隧道。借助封装,可以实现隧道,即通过隧道发送数据包。

隧道也称为“端口转发”,是指通过公共网络传输仅用于私有网络(通常是公司网络)的数据,以供其使用的数据。