跳到主要内容

2. 代理发现 (Agent Discovery)

Mobile node 使用 Agent Discovery 来识别具有 foreign agent 或 home agent 功能的路由器. Agent Discovery 是 ICMP Router Discovery 机制 [5] 的扩展, 允许 mobile node 确定其当前位置, 识别可用的 mobility agent, 并检测自身何时移动到新的子网.

2.1. Agent Advertisement

Mobility agent 通过在其提供服务的每条链路上广播或多播特殊 ICMP Router Advertisement 消息来宣布自身存在. 这些 Agent Advertisement 消息包含一个或多个特殊扩展, 用于传递 Mobile IP 特定信息.

Agent Advertisement 消息是附加了一个或多个 mobility extension 的标准 ICMP Router Advertisement 消息 [5]. agent 必须在其 Agent Advertisement 消息中包含 Mobility Agent Advertisement Extension.

mobility agent 可以在其 Agent Advertisement 中包含 Prefix-Lengths Extension, 以允许 mobile node 确定其 home network 的前缀.

2.1.1. Mobility Agent Advertisement Extension

所有 Agent Advertisement 消息都必须包含 Mobility Agent Advertisement Extension. 此扩展遵循第 1.10 节中定义的 Long Extension Format.

2.1.2. Prefix-Lengths Extension

Agent Advertisement 消息中可以包含 Prefix-Lengths Extension. 此扩展指定 Agent Advertisement 中列出的每个路由器地址的前缀长度.

2.1.3. One-Byte Padding Extension

必要时, 可以使用 Padding Extension 将后续扩展对齐到 4 字节边界.

2.2. Agent Solicitation

Mobile node 可以通过发送 Agent Solicitation 消息来主动请求 Agent Advertisement. Agent Solicitation 是标准 ICMP Router Solicitation 消息 [5].

2.3. Foreign Agent 和 Home Agent 注意事项

2.3.1. 通告的路由器地址

Agent Advertisement 中列出的路由器地址应该是 agent 在发送该 advertisement 的接口上的地址.

2.3.2. 序列号和回绕处理

Agent Advertisement 序列号从 0 开始, 每发送一个 advertisement 递增 1. 当序列号达到其最大值 (65535) 时, 应该回绕到 0.

2.4. Mobile Node 注意事项

Mobile node 使用 Agent Discovery 来:

  1. 确定其当前位置 (home network 或 foreign network)
  2. 识别可用的 mobility agent
  3. 获取 care-of address
  4. 检测向新子网的移动

2.4.1. 需要注册

如果 mobile node 在 Agent Advertisement 中看到 R bit 被置位, 即使它拥有 co-located care-of address, 也必须向该 foreign agent 注册.

2.4.2. 移动检测

mobile node 必须能够检测自身何时移动到新子网. 移动检测确保 mobile node 在移动后及时更新其注册.

2.4.2.1. Algorithm 1

mobile node 可以使用通告 agent 的链路层地址变化和/或序列号不连续来检测移动.

2.4.2.2. Algorithm 2

mobile node 可以通过在合理时间内未收到来自当前 agent 的 Agent Advertisement 来检测可能的移动.

2.4.3. 返回 Home Network

当 mobile node 检测到它已返回 home network 时, 必须通过发送 lifetime 为 0 的 Registration Request 向其 home agent 注销.

2.4.4. 序列号和回绕处理

Mobile node 使用 Agent Advertisement 序列号来检测移动并防止重放攻击. mobile node 应该允许序列号从 65535 转换到 0, 或从 65535 转换到任何接近 65535 的值.