In Mobile Internet Protocol (Mobile IP), a mobility agent is a router that facilitates Internet traffic forwarding for a mobile node when its location is changed to somewhere other than its home network. There are two different types of mobility agent: a home agent and a foreign agent.
A home agent is a router on the mobile node's home network that maintains information about the mobile node's current location, as identified in its care-of address. The home agent uses tunneling mechanisms to forward messages to the mobile node at its current location.
When a mobile device is away from its home network, it is assigned a care-of address. This may be a foreign agent care-of address, which is the static IP address of a foreign agent on a visited network, or a co-located care-of address, which is a temporary IP address assigned to the mobile node. A co-located care-of address may be acquired through some means such as Dynamic Host Configuration Protocol (DHCP) or may be a longer-term address assigned a device for connecting through a specific foreign network. The mobility agent registers the care-of address with a home agent, which resides on the home network. When a message for the mobile node is delivered to the home network, the home agent intercepts the message and tunnels it to the recipient at the care-of address.