Monday, December 31, 2007

Mobile IP - Quick learn


A very short description of Mobile IP is given in this post:

Purpose of Mobile IP:
Keep the mobile node's IP address unchanged when mobile node moves

Main modules used in Mobile IP:
MN(Mobile Node) - has a permanent home address
CN(Correspondent Node) - a host in the traditional network
HA(Home Agent)
FA(Foreign Agent)
COA(Care-Of Address) - the 2nd IP address of the MN

How Mobile IP works:
1) MN first finds the FA's info (because FA broadcasts its information
periodically) - Agent Discovery
2) If MN is still in its HA's area, nothing to do with Mobile IP; else MN needs
to get a COA
3) MN registers the COA to its HA through FA (HA maintains a table,
including MN's COA) - Registration
4) HA sends data to FA through a tunnel - Tunneling
5) FA sends data to CN (MS's data is sent to CN through FA, not going back
to HA)

Further explanation:

Agent Discovery
Extend the ICMP (Internet Control Message Protocol) message
IRDP (ICMP Router Discovery Protocol) - automatically find the local router
1) HA/FA use ICMP/IRDP to broadcast their info - agent broadcast
2) MN sends the agent request (also in broadcasting)
How to determine the mobility? ("life time" in IRDP)
1) Agent sends IRDP including a "life time" field
2) MN compares the network prefix in the broadcast messages to check if it's
moved
3) if MN cannot receive any broadcast message
i) try to contact HA, as if it's back to HA
ii) try to use DHCP or manual configuration
Registration
MN -> FA -> HA (bind the 1st IP and the 2nd IP addresses together)
When MN returns HA, needs to cancel the registration

MN's Co-located COA: MN sends registration request to HA directly, tunneling is
from HA to MN, COA is MN's address
In this case, there's no FA and HA in the traditional network
(using DHCP/manual configuration to get 2nd IP)
PROS: no FA needed;
CONS: MN needs two IP addr, two overlapped IP protocol stacks

FA's COA: FA sends the registration request to HA for MN, tunneling is from HA
to FA, COA is the FA's address
PROS: multiple MN can share one COA, so IP address is saved;
CONS: need FA

Frequent registration: on the boundary of two networks
1) Data link layer solution:
Use layer-2 capability to manage the mobility, to reduce layer-3 mobility
2) Mobile IP multiple binding:
Similar as soft hand-over in CDMA
In HA, for one registered MN, binds multiple COAs for this MN (when MN is
on the boundary of multiple FAs)

Tunneling (data forwarding): assure transparent transmission
1) CN's information is still forwarded to HA (for CN, any MN is treated as if it
is fixed)
2) HA uses proxy ARP to capture this information
HA works as an agent of the MN to give the MAC back to the CN
3) Use tunnel to forward data to FA (FA records MN's MAC addr when MN is
registering)
4) Reverse data is delivered to CN directly

Functions of HA and FA:
HA:
1) Act as a router
2) Manage the MN's host routing (binding table, maintain different tunnel to
different COA)
3) Manage and operate tunnel's interface (encapsulate beared protocol and then
forward with bearing method)

FA:
1) Manage and operate tunnel's interface
2) Manage visited MN's list (in registration)
3) Use ARP to access MN (FA gets the original IP packet, but FA cannot access MN
directly since FA and MN are not in the same network, so FA needs to use ARP)

Encapsulation process in Mobile IP:
1) IP in IP encapsulation - an outer IP header is inserted to the front
2) Minimum encapsulation - reduce redundant information of the inner IP datagram
3) GRE (Generic Routing Encapsulation) - encapsulate a wide variety of network
layer packets inside IP tunneling packets