You are on page 1of 51

Mobile IP

Lec#6

Lecture Objectives
Present the basic principles of addressing in IP

networks Describe the problem of mobility with IP and consider alternative solutions Describe the operation of Mobile IP

Mobile IP
Mobile IP (or IP mobility) is an Internet Engineering

Task Force (IETF) standard communications protocol that is designed to allow mobile device users to move from one network to another while maintaining a permanent IP address Mobile IP for IPv4 is described in IETF RFC 3344, and updates are added in IETF RFC 4721 Mobile IPv6, the IP mobility implementation for the next generation of the Internet Protocol, IPv6, is described in RFC 3775

Mobile IP
Mobile IP protocol allows location-independent

routing of IP datagrams on the Internet Each mobile node is identified by its home address disregarding its current location in the Internet While away from its home network, a mobile node is associated with a care-of address which identifies its current location and its home address is associated with the local endpoint of a tunnel to its home agent Mobile IP specifies how a mobile node registers with its home agent and how the home agent routes datagrams to the mobile node through the tunnel

Applications
Mobile IP is most often found in wired and wireless

environments where users need to carry their mobile devices across multiple LAN subnets Examples of use are in roaming between overlapping wireless systems, e.g., IP over DVB, WLAN, WiMAX and BWA Currently, Mobile IP is not required within cellular systems such as 3G, to provide transparency when Internet users migrate between cellular towers, since these systems provide their own data link layer handover and roaming mechanisms However, it is often used in 3G systems to allow seamless IP mobility between different packet data serving node (PDSN) domains

IP Addressing
IPv4 addresses Uniquely identify an interface 32 bits long Consist of a network identifier and a host identifier

0
Network Identifier

31
Host Identifier

Routing outside of the destination hosts subnet is

usually based on the network identifier, while the host identifier is only used within the destinations subnet IPv6 uses 128-bit addresses

Five Classes of IP Addresses


IP addressing was originally based on five classes of

addresses
A router can interpret the network and host fields by

examining the first few bits of the IP address

Class A
Class B Class C Class D Class E

01234 0 netid 10 110 1110 1111

8 netid netid

16

24

31

hostid
hostid hostid

multicast address reserved for future use

CIDR
Classless Inter-Domain Routing (CIDR) was

introduced to remedy problems with the rigid classes of IP addresses


Defined in RFCs 1517-1520

Generalize the notion of subnet addressing Allows a flexible definition of the boundary between

the network identifier and the host identifier Example


IP address:

10.1.9.52 Subnet mask: 255.255.252.0 (22-bit network identifier) Network: 10.1.8.0/22 Packets with address in the range 10.1.8.0-10.1.11.255 will be routed to network 10.1.8.0/22 based on the first 22 bits

A Problem With IP Addressing


An IP address serves two different functions The name for an interface (host) and The location (subnet) of the interface (host) in the network IP address is the only name carried in an IP datagram DNS can be used to map one or more symbolic names to one or more IP addresses, but a symbolic name is not carried in the datagram and has no meaning once the DNS lookup is completed Network identifier in the IP address is used by routers

to deliver to the destination subnet


The IP address is associated with the location or subnet of the

destination host

IP address used by the applications to identify the

endpoints

IP Routing
Router uses routing table to direct packets to the

appropriate interface Target 2.0.0.0/24 3.0.0.0/24 4.0.0.0/24 Interface a b c


a Dest = 3.0.0.4 Router c

3.0.0.2
b

3.0.0.3

3.0.0.4

4.0.0.5

4.0.0.6

Traditional Routing for a Mobile Host


Host moving to another network is unreachable

Target 2.0.0.0/24 3.0.0.0/24 4.0.0.0/24

Interface a b c
a Router

3.0.0.2
b

3.0.0.3

3.0.0.4

X
Mobile Host

Dest = 3.0.0.4

4.0.0.5

4.0.0.6

3.0.0.4

Definitions
Home link Link assigned the same network prefix

as the prefix of the hosts IP address


For example, link 3.0.0.0/24

Foreign link Any link where the network prefix

differs from the prefix of the hosts IP address


For example, link 4.0.0.0/24

Mobility The ability of a host to change its

attachment from one link to another while maintaining communications and not changing its IP address (transparently to corresponding host)
Host can change from home link to foreign link (or foreign

link to another foreign link) without a change in IP address and without a disruption in communication

Solutions for Mobile Hosts (1)


Host-specific routing Add routes for the mobile host to routing tables at routers Solution is not scalable since updates and unique entries would be needed for every mobile host Change IP address Mobile host can change its address to the foreign links network prefix Need to register new IP address with DNS, resulting in added load on the DNS server and network Communications, e.g., TCP connections, would be disrupted Changing host IP address does not enable mobility, but it does enable nomadicity

Solutions for Mobile Hosts (2)


Source routing Use loose source routing to specify a path to the foreign link (router interface) and then to the mobile nodes interface Source host must determine address of foreign link, which is not a standard function for a host Use link level (Layer 2) mobility Some Layer 2 protocols support mobility (e.g., between access points in IEEE 802.11 infrastructure networks) Requires that the mobile host not leave the local IP subnet Mobile IP Extension to IP routing to support mobile nodes in a scaleable and secure manner Mobile IP allows a host to move to a foreign network, but still maintain its home IP address

Abstract Functions Needed to Support Mobility


Readdressing at the home network

Associating (in the location directory) the home

address and the care-of-address of the mobile node and maintaining up-to-date values for the association Delivering the datagram to the care-of-address Inverting the readdressing operation once the datagram arrives at the care-of-address

Mobile IP Addressing
Really need two addresses One address for locating (routing to) the host Another address for identifying (naming) a communications end-point Standard IP uses one address for both functions Addresses in Mobile IP Home address Known IP address for the host Home network (home link) Destination network associated with the home address Foreign network (foreign link) Network associated with the visited or foreign link Care-of address IP address on the foreign link used to locate the host

Mobile IP Overview: Data Flow


Correspondent Node (Host) 10.92.2.3 Home Agent 10.0.8.5 10.0.8.0/24

10.0.8.5 10.92.2.3 10.4.5.43

10.4.5.0/24

Foreign 10.4.5.43 Agent 10.0.8.5 Mobile 10.0.8.5 Host

Mobile IP Elements
Mobile Host (MH) Host that changes its attachment point from

one network or subnetwork to another


Home Agent (HA)
Specialized router on mobile nodes home network that tunnels

datagrams for delivery to the mobile host


Maintains current location information for the mobile node

Implements the readdressing function

Foreign Agent (FA)


Specialized router on foreign network that provides routing services to

the mobile host while registered


May serve as default router for registered mobile hosts
Implements the reverse readdressing function when the datagram is

delivered to the care-of-address Correspondent Node (CN) Communicates with mobile host

Components of Mobile IP

Mobile IP Operation (1)


Mobile (foreign and home) agents advertise their

availability using agent-advertisement messages


Mobile host may optionally solicit an agent-advertisement

message

Mobile host receives agent-advertisement message

and decides if it is on a foreign or home network If the mobile node is returning to its home network, it deregisters with its home agent If the mobile host is on a foreign network, it obtains a care-of address on the foreign network
Foreign agent care-of address Colocated care-of address

Mobile IP Operation (2)


Mobile host registers new care-of address with home

agent, possibly via a foreign agent


Registration request Registration reply

Home agent intercepts datagrams sent to the mobile

nodes home address and tunnels datagrams to the registered care-of address Tunneled datagram received
At foreign agent and delivered to mobile node, or

Directly at the mobile node (colocated)

Mobile host can usually send datagrams directly

back to the correspondent node

Mobile IP Operation (3)


Datagrams sent by the mobile node are delivered

directly to the destination


No need to pass through the home agent

Mobile IP Procedures
Fall into following areas Agent Advertisement/discovery HA and FA may advertise their availability on each link for which they provide service (advertisement) A newly arrived mobile node can send a solicitation on the link to learn if any prospective agents present (discovery) Registration When the MN is away from home, it registers its care-ofaddress with it HA Either directly with its HA Through a FA, which forwards the registration to the HA Tunneling HA tunnels the datagram to the care-of-address to deliver to MN

Mobile IP Procedures

Two ways to acquire care-of-address


1. Provides by the FA through its agent advertisement

messages Care-of-address is an IP address of the FA Many MNs share the same care-of-address 2. A co-located care-of-address acquired by the MN through some external means, and associates with one of its network interfaces DHCP Preconfigured in MN

Mobile IP Procedures
1.

Mobile agents (HA or FA) advertise their presence via agent advertisement messages

A MN can also solicit an agent advertisement message from any local agent

2.

MN receives an agent advertisement message and determines whether it is on its home network or a foreign network

At home networks MN operates without mobility services Deregisters it self from HA when returning home from some FA

3. 4. 5. 6.

When MN detects an FA, it obtains a care-of-address (either of FA or co-located) MN, away from home registers its new care-of-address with HA through registration requests/reply messages possible through FA HA tunnels the datagrams to MN Datagrams sent by MN may be delivered to their destination using standard IP routing mechanisms, without necessarily passing through the HA

Mobile IP Details (1)


Agent advertisement/discovery 1 ICMP router discovery Mobility agent discovery operation Agent advertisement and solicitation messages Registration 2 Registration operation Authentication Registration request and reply messages Security Example Datagram delivery (Tunneling) 3 Encapsulation principles and schemes ARP issues

Agent Advertisement/Discovery
Process by which a mobile host
Determines if it is connected to its home network or to a foreign network

Determines when it has moved from one network to another


Learns the care-of address provided by a foreign agent

Based on extensions to Internet Control Message Protocol (ICMP) router discovery mechanism
Agent advertisement is formed by including a mobility agent

advertisement extension in an ICMP router advertisement message


Agent solicitation message is similar to an ICMP Router solicitation

Both messages may not necessary for link layers that already provide this functionality
Different for each kind of link layer

Mobile IP assumes link level connectivity is established by some other means, e.g., association in IEEE 802.11b No authentication is required for agent advertisement and agent solicitation messages

Router Discovery ICMP Operation

Mobile IP extend ICMP router discovery as its primary

mechanism for agent discovery Host determines the local router IP address to deliver its datagrams to hosts on any other link and can monitor their continued presence Involves two ICMP messages
One transmitted by the router Other transmitted by the hosts themselves

Router discovery message is multicast/broadcast by routers

to hosts on the subnet/network


Preceded by an IP header
Normally, the all-systems multicast address (224.0.0.1) is the IP

destination address with IP Time-To-Live (TTL) of 1 Can be unicast directly to a host that sent a router solicitation message

Router Discovery ICMP Operation


DHCP
Not recommended, DHCP is quite a complex protocol

A MN can also be configured with router addresses by using

Router discovery messages do not constitute a routing

protocol
Enable hosts to discover the existence of neighboring routers, but

not which router is best used to reach the destination


If a host chooses a poor first-step router for a particular

destination, it should receive an ICMP redirect from that router, which identifies a better one In fact, it is quite often the case that hosts send all such datagram traffic through a single router the default router Router preference level - how eager a router is to have new hosts using its services

Router Discovery ICMP Message (1)


ICMP Message IP Header ICMP Message
8 16 24 31

ICMP Header

type code checksum num addrs addr entry size lifetime router address (1) preference (1)

. . .

Router Advertisement

Router Discovery ICMP Message (2)


Type: Type of ICMP message (9) Code: Used by some types to indicate a specific

condition (0)
Checksum: Checksum over full message Num addrs: Number of router addresses advertised

in this message
Addr entry size: The number of 32-bit words of

information for each router address (two words here)


Lifetime: Maximum number of seconds that the

router addresses may be considered valid

Router Discovery ICMP Message (3)


Router address (i), i = 1num addrs: Sending

routers IP addresses on the interface from which this message is sent


Preference level (i), i = 1num addrs: Preference of

this router address relative to other routers on this subnet (higher values are more preferable)

Router Solicitation ICMP Operation


Host can send router solicitation message for

immediate information Solicitation message can be broadcast or multicast


Broadcast to the limited-broadcast address (255.255.255.255) Multicast to the all-routers multicast address (224.0.0.2) with

TTL = 1

Routers reply with a unicast router advertisement

sent directly to the soliciting host Host processes advertisement as if the advertisement were unsolicited and received at the broadcast or multicast address

Router Solicitation ICMP Message


0 Type type 8 16 Code code reserved 24 Checksum checksum 31

Type: ICMP type (10)


Code: code for this type (0) Checksum: checksum over full message Reserved: sent as 0; ignored by receiver

Agent Advertisement

An ICMP Router Advertisement that has been extended

also to carry mobility agent advertisement extension Mobility agent transmits agent advertisements to advertise its services on a link
Mobile nodes use these advertisements to determine their

current point of attachment to the Internet

Extend router advertisement messages may also carry

other extensions
Mobility agent advertisement extension Prefix-length extension One-byte padding extension Future extensions

Agent Advertisement
advertisements include the following link layer, IP, and ICMP header fields
Link layer destination address Link layer destination address of a uni-cast agent

Within an agent advertisement message, ICMP router

advertisement is required to be the same as the source link-layer address of the agent solicitation that prompted the advertisement
IP TTL - requires to be set to 1 for all agent advertisements

Destination address all systems on this link multicast

address (224.0.0.1) or the limited broadcast address (255.255.255.255) ICMP (router discovery fields)

Advertisement Features (2)

ICMP Type = 9 (router advertisement message) Code Code = 0 if mobility agent handles common traffic, i.e. it is a router for general IP traffic Code = 16 if mobility agent does not route common traffic (but it must route datagrams from a registered mobile host) Lifetime is maximum time this advertisement is considered valid Router addresses are usual router addresses that are advertised (preference may be low) Num addrs is the number of advertised router addresses

Mobility Agent Advertisement Extension (1)


(follows ICMP router advertisement field 0 8 16 24 31

type length registration lifetime

sequence number RBHFMGV reserved

zero or more care-of addresses


Type: 16 Length: 6 + 4*N, where N is the number of advertised

care-of addresses (4 bytes each) Sequence number: Count of advertisement messages since agent was initialized

Agent Advertisement Extension (2)

Registration lifetime: Lifetime in seconds that this

agent is willing to accept a registration request (65,535 infinity) Bit fields


R: Registration required - Foreign agent requires

registration rather than using colocated care-of address (e.g., for accounting or other policies) B: Busy -- foreign agent will not accept registrations from new mobile hosts if set H: Home agent -- agent offers home agent services on this link F: Foreign agent -- agent offers foreign agent services on this link

Agent Advertisement Extension (3)

Bit fields (continued) M: Minimal encapsulation -- agent can receive datagrams that contain minimal encapsulation G: Generic routing encapsulation (GRE) -- agent can receive datagrams that use GRE V: Van Jacobson header compression -- agent supports use of header compression Reserved: sent as 0; ignored by receiver Care-of addresses: care-of addresses provided by

this agent
Must provide at least one if F = 1 Number of addresses determined by length field

Agent Advertisement Extension (4)

HA should never claim to be too busy to server MNs on its

home network There can be multiple HAs However, an advertisement from any of the HA on the same network will suffice to inform the MN that it is indeed attached to its home network A FA may indicate that it is too busy to allow new MNs to register with it, by setting the B bit in the agent advertisements
However, it must continue to send agent advertisements so that

any MN already registered with it will know that they have not moved out of the range of FA
An agent advertisement message is not allowed to have a

B bit set if the F bit is not also set

Agent Advertisement Extension (5)


mobility agent advertisement extension

Either the F bit or the H bit is required to be set in the When a FA wishes to require registration even from

those mobile nodes that have acquired colocated care-of-address, it sets R bit to one

Prefix-Length Extension
0 8 16 24 31

type

length

Prefix length

May follow the mobility agent advertisement extension

Used to indicate the number of bits of network prefix

that apply to each router address listed in the ICMP Router Advertisement portion of the agent advertisement portion Type: 19 Length: N, where N is the value of the num addrs fields in the ICMP Router Advertisement portion of the agent advertisement

One-byte Padding Extension


0 8

type = 0

Use to align ICMP to even number of bytes If present this extension should be the last extension

in the agent advertisement

Mobile Agent Solicitation Message


Same as ICMP router solicitation message TTL = 1 required Used in a slightly different way Frequency Number of attempts

Advertising by Mobility Agents


discovery, mobility agent (HA and FA) must
Send agent advertisement messages (at some maximum rate

If link-layer protocol does not provide agent

with 1 second maximum recommended rate)


Respond to agent solicitation messages

If link-layer protocol does provide agent discovery,

mobility agent must


Respond to agent solicitation messages Send agent advertisement messages if site policy requires

additional registration (when R bit is set or as a response to a specific agent solicitation)

Agent Discovery by Mobile Hosts

MH sends solicitation only if There is no agent advertisement message Care-of address not established by link-layer protocol Agent advertisement provides Care-of address Foreign agent address Mobile host knows it is on its home link when it sees

advertisement messages from its home agent


Mobile host reconfigures routing for home network operation

Issues gratuitous ARP to update any cached ARP entries


Deregisters with home agent

Agent Discovery by Mobile Hosts


broadcast or multicast agent advertisements
A recommended maximal rate is once per second

A MA is required to limit the rate at which it sends

A FA must accept router solicitation even when the IP

source address appears to reside on a different subnet than the mobility agents interface on which the solicitation was received A MA may be configured to send agent advertisements only in response to an agent solicitation message

Agent Discovery by Mobile Hosts

Solicitations should only be sent in the absence of

agent advertisements and when a care-of-address has not been determined through link-layer protocol or other means A node may send three initial solicitations on a given link, at a maximum rate of one per second
After this, solicitation rate is required to be reduced (binary

exponential backoff mechanism) so as to limit the overhead on the local link

In fact, a MN can continue to send out solicitation

indefinitely until a suitable FA finally comes within range


With maximum interval of at least one min

Registration Requires
set, the MN should register through the FA, even when the MN might be able to acquire its own colocated care-of-address
Intended to enforce visiting policies (such as accounting)

When a MN receives an agent advertisement with R bit

Returning Home

A MN can detect that it has returned to its home

network when it receives as agent advertisement from its own home agent If so, it should deregister with its home agent Before attempting to deregister, the MN should configure its routing table appropriately for its home network In addition, if the home network is using ARP, the MN is required to follow the procedures with regard to ARP, proxy ARP, and gratuitous ARP

You might also like