Skip to main content

2. Agent Discovery

Mobile nodes use Agent Discovery to identify routers with foreign agent or home agent functionality. Agent Discovery is an extension to the ICMP Router Discovery mechanism [5], allowing mobile nodes to determine their current location, identify available mobility agents, and detect when they have moved to a new subnet.

2.1. Agent Advertisement

Mobility agents announce their presence by broadcasting or multicasting special ICMP Router Advertisement messages on each link for which they provide service. These Agent Advertisement messages contain one or more special extensions to convey Mobile IP-specific information.

Agent Advertisement messages are standard ICMP Router Advertisement messages [5] with one or more mobility extensions attached. An agent MUST include a Mobility Agent Advertisement Extension in its Agent Advertisement messages.

A mobility agent MAY include a Prefix-Lengths Extension in its Agent Advertisements to allow mobile nodes to determine the prefix of its home network.

2.1.1. Mobility Agent Advertisement Extension

The Mobility Agent Advertisement Extension MUST be included in all Agent Advertisement messages. This extension follows the Long Extension Format defined in Section 1.10.

2.1.2. Prefix-Lengths Extension

The Prefix-Lengths Extension MAY be included in Agent Advertisement messages. This extension specifies the prefix length for each router address listed in the Agent Advertisement.

2.1.3. One-Byte Padding Extension

The Padding Extension MAY be used to align subsequent extensions to 4-byte boundaries when necessary.

2.2. Agent Solicitation

Mobile nodes MAY actively request Agent Advertisements by sending Agent Solicitation messages. Agent Solicitation is a standard ICMP Router Solicitation message [5].

2.3. Foreign Agent and Home Agent Considerations

2.3.1. Advertised Router Addresses

Router addresses listed in Agent Advertisements SHOULD be addresses of the agent on the interface on which it is sending the advertisement.

2.3.2. Sequence Numbers and Rollover Handling

Agent Advertisement sequence numbers start at 0 and increment by 1 for each advertisement. When the sequence number reaches its maximum value (65535), it SHOULD wrap around to 0.

2.4. Mobile Node Considerations

Mobile nodes use Agent Discovery to:

  1. Determine their current location (home network or foreign network)
  2. Identify available mobility agents
  3. Obtain care-of addresses
  4. Detect movement to new subnets

2.4.1. Registration Required

If a mobile node sees the R bit set in an Agent Advertisement, it MUST register with that foreign agent, even if it has a co-located care-of address.

2.4.2. Move Detection

A mobile node MUST be able to detect when it has moved to a new subnet. Move detection ensures that the mobile node updates its registration promptly after a move.

2.4.2.1. Algorithm 1

The mobile node may use changes in the link-layer address of the advertising agent and/or sequence number discontinuities to detect movement.

2.4.2.2. Algorithm 2

The mobile node may use the absence of Agent Advertisements from its current agent within a reasonable time to detect possible movement.

2.4.3. Returning Home

When a mobile node detects that it has returned to its home network, it MUST deregister with its home agent by sending a Registration Request with a lifetime of 0.

2.4.4. Sequence Numbers and Rollover Handling

Mobile nodes use Agent Advertisement sequence numbers to detect movement and prevent replay attacks. The mobile node SHOULD allow sequence number transitions from 65535 to 0 or from 65535 to any value near 65535.