跳到主要内容

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 的值.