📖 移动 IP 技术概述
🎯 课程摘要:移动 IP(Mobile IP)是 IETF 开发的技术,使移动主机在各网络间漫游时仍保持原 IP 地址不变。其核心概念包括归属网络、归属地址、归属代理(home agent)、外地代理(foreign agent)和转交地址(care-of address)。工作过程涉及代理发现与注册、IP 隧道转发,并存在三角形路由问题。
📝 详细笔记
1. 移动性对因特网应用的影响
- 应用场景一:用户在同一个 WiFi 服务区内移动下载文件,未改变网络和 IP 地址,对通信无影响。
- 应用场景二:用户在公司和家里不同地点上网,使用不同 IP 地址,但用户不关心 IP 地址,对应用无影响。
- 应用场景三:用户在行驶汽车中穿越多个 WiFi 服务区,设备不断切换网络、不停改变 IP 地址,无法顺利完成大文件下载——这正是移动 IP 技术要解决的问题。
- ⚠️ 重点:只有"跨网络漫游且需保持通信不中断"的场景才需要移动 IP 技术。
2. 移动 IP 基本概念
- 移动 IP(Mobile IP):IETF 开发的技术,使移动主机在各网络之间漫游时仍能保持其原来的 IP 地址不变;同时为非移动主机提供机制,使其能将 IP 数据报正确发送到移动主机。
| 概念 | 英文 | 含义 |
|---|---|---|
| 归属网络 | home network | 移动主机默认连接的(或初始申请接入的)网络 |
| 永久地址 / 归属地址 | permanent address / home address | 移动主机在归属网络中的 IP 地址,整个移动通信过程中始终不变 |
| 归属代理 | home agent | 归属网络中代表移动主机执行移动管理功能的实体,通常是归属网络上的路由器,代理功能在网络层完成 |
| 外地网络 / 被访网络 | foreign network | 移动主机当前漫游所在的网络 |
| 外地代理 | foreign agent | 外地网络中帮助移动主机执行移动管理功能的实体,通常是外地网络上的路由器 |
| 转交地址 | care-of address | 外地代理为移动主机提供的、临时使用的属于外地网络的地址 |
3. 移动 IP 基本工作原理
3.1 代理发现与注册
- 代理发现:移动主机通过代理发现协议与外地网络中的外地代理建立联系,并从外地代理获得一个属于该外地网络的转交地址。
- 注册过程:
- 移动主机向外地代理注册自己的永久地址和归属代理地址,外地代理将其记录在注册表中。
- 外地代理向移动主机的归属代理注册该移动主机的转交地址(也可由移动主机直接注册)。
- 归属代理记录移动主机的转交地址。
- ARP 代理:当移动主机不在归属网络时,归属代理以自己的 MAC 地址应答所有对该移动主机的 ARP 请求(ARP 代理技术),并主动发送 ARP 广播声称自己是该移动主机,使归属网络中其他主机和路由器更新 ARP 高速缓存,从而所有发给移动主机的 IP 数据报都发给归属代理。
3.2 固定主机向移动主机发送 IP 数据报
- 固定主机 B 发给移动主机 A 的 IP 数据报被路由到 A 的归属网络。
- 归属代理代替 A 接收该数据报(源地址为 B 的 IP,目的地址为 A 的永久地址)。
- 归属代理将该数据报封装到新的 IP 数据报中(首部目的地址为 A 的转交地址,即外地代理的 IP),通过 IP 隧道发送给外地代理。
- 外地代理收到后解封出原 IP 数据报,在注册表中查找 A 的永久地址对应的 MAC 地址,将数据封装到目的 MAC 为该地址的帧中发给移动主机 A。
- ⚠️ 重点——转交地址的本质:
- 当外地代理和移动主机不是同一台设备时,转交地址是外地代理的地址,而非移动主机的地址。
- 转交地址既不作为移动主机发送 IP 数据报的源地址,也不作为其接收 IP 数据报的目的地址。
- 转交地址仅仅是归属代理到外地代理的 IP 隧道的出口地址。
- 所有使用同一外地代理的移动主机可共享同一个转交地址。
- ⚠️ 重点:外地代理不能按正常的 IP 转发流程转发解封后的数据报,否则会造成该数据报又被发回移动主机的归属网络。
3.3 移动主机向固定主机发送 IP 数据报
- 移动主机 A 向固定主机 B 发送 IP 数据报:源地址为 A 的永久地址,目的地址为 B 的 IP。
- A 按正常发送流程发出即可,由于 IP 路由器不关心源地址,数据报被直接路由到 B,无需经归属代理转发。
- 移动主机可将外地代理作为默认路由器,或通过代理发现协议从外地代理获取外地网络中其他路由器地址设为默认路由器。
3.4 移动 IP 通信过程(Mermaid 时序图)
4. 同时转交地址方式
- 外地代理也可直接运行在移动主机上(移动主机需运行额外的外地代理软件)。
- 外地网络提供机制使移动主机能自动获取一个外地网络中的地址,同时作为自己的 IP 地址和外地代理的地址,称为同时转交地址(co-located care-of address)。
- 此时移动主机自己接收所有发往转交地址的 IP 数据报。
5. 三角形路由问题
- 问题:当固定主机 B 与移动主机 A 同在外地网络时,B 发给 A 的数据报仍要先发给 A 的归属代理,再由归属代理经隧道转发回来,造成 IP 数据报转发的低效性。
- 定义:即使固定主机与移动主机之间存在更有效的路径,发往移动主机的 IP 数据报也要先发给归属代理,这种间接路由称为三角形路由问题。
- 解决方法:给固定主机配置一个通信代理。通信代理先从归属代理获取移动主机的转交地址,之后所有发给移动主机的数据报直接发给转交地址,无需经归属代理转发。
- 代价:增加复杂性,且要求固定主机也配置通信代理,对固定主机不再透明。
💡 核心总结
- 移动 IP 让移动主机漫游时 IP 地址不变:归属网络有归属代理和永久地址,外地网络有外地代理和转交地址。
- 通信核心:归属代理用 ARP 代理截获发给移动主机的数据报,经 IP 隧道(目的为转交地址)发给外地代理,外地代理解封后按 MAC 转发给移动主机。
- 移动主机发送数据报则直接路由,无需经归属代理。
- 转交地址是隧道出口地址,非移动主机地址,可被多主机共享。
- 三角形路由问题是移动 IP 的固有低效问题,可用通信代理缓解。
❓ 课后思考 / 经典考题
- 简述移动 IP 中归属网络、归属地址、归属代理、外地代理、转交地址的概念及作用。
- 描述固定主机向移动主机发送 IP 数据报的完整过程,并说明 IP 隧道技术的作用。
- 转交地址是否就是移动主机的地址?为什么所有使用同一外地代理的移动主机可共享同一个转交地址?
- 什么是三角形路由问题?如何解决?该解决方法有何代价?
- 移动主机向固定主机发送 IP 数据报时,为何不需要经过归属代理?