Mobile IP
Mobile Internet Protocol
A Mobile IP (Mobile Internet Protocol) is a communication
protocol that allows mobile devices to move between
different networks while maintaining a permanent IP
address.
It is part of the IP suite designed to ensure seamless
connectivity for devices like smartphones, laptops, and other
portable devices as they move across networks without
changing their IP address.
Traditional Routing
A routing protocol sets up a routing table in routers
Routing protocol is typically based on Distance-Vector or
Link-State algorithms
3
Routing and Mobility
Finding a path from a source to a destination
Issues
– Frequent route changes
• amount of data transferred between route changes may be
much smaller than traditional networks
– Route changes may be related to host movement
– Low bandwidth links
Goal of routing protocols
– decrease routing-related overhead
– find short routes
– find “stable” routes (despite mobility)
4
Mobile IP (RFC 3344): Motivation
Traditional routing
– based on IP address; network prefix determines the subnet
– change of physical subnet implies
• change of IP address (conform to new subnet), or
• special routing table entries to forward packets to new subnet
Changing of IP address
– DNS updates take to long time
– TCP connections break
– security problems
Changing entries in routing tables
– does not scale with the number of mobile hosts and frequent
changes in the location
– security problems
Solution requirements
– retain same IP address, use same layer 2 protocols
– authentication of registration messages, …
5
Goal of Mobile IP:
[Link] Mobility: Mobile IP allows devices to move from one network
to another (e.g., from a home network to a foreign network) while retaining
the same IP address. This ensures that ongoing network connections (such as
VoIP calls, video streaming, or data transfers) are not disrupted as the device
switches networks.
[Link] Continuity: It aims to ensure that ongoing sessions or
connections are maintained even when the network point of attachment
changes (like moving from a cellular network to a Wi-Fi network).
[Link]: Mobile IP provides transparency to end-users and
applications by making the mobility process seamless, without requiring
modifications to applications or the need for users to be aware of changes in
their network environment.
[Link] and Security: The protocol is designed to handle a large
number of mobile devices and their movements while ensuring secure data
transmission.
6
Mobile IP: Basic Idea
7
Mobile IP: Terminology
Mobile Node (MN)
– node that moves across networks without changing its IP address
Home Agent (HA)
– host in the home network of the MN, typically a router
– registers the location of the MN, tunnels IP packets to the COA
Foreign Agent (FA)
– host in the current foreign network of the MN, typically a router
– forwards tunneled packets to the MN, typically the default router
for MN
Care-of Address (COA)
– address of the current tunnel end-point for the MN (at FA or MN)
– actual location of the MN from an IP point of view
Correspondent Node (CN)
– host with which MN is “corresponding” (TCP connection)
8
Home Network is a network to which the mobile node originally belongs as
per its assigned IP address (home address).
Home Address is the permanent IP address assigned to the mobile node
(within its home network).
Foreign Network is the current network to which the mobile node is visiting
(away from its home network).
Foreign agent COA, the COA could be located at the FA, i.e., the COA is
an IP address of the FA. The FA is the tunnel end-point and forwards
packets to the MN. Many MN using the FA can share this COA as a
common COA.
Co-located COA, the COA is co-located if the MN temporarily acquired an
additional IP address which acts as COA. This address is now topologically
correct, and the tunnel endpoint is at the MN. Co-located addresses can be
acquired using services such as DHCP.
9
IP Packet Delivery
10
Data transfer to the mobile system
HA
2
MN
home network receiver
3
Internet
FA foreign
network
1 1. Sender sends to the IP address of MN,
CN HA intercepts packet (proxy ARP)
2. HA tunnels packet to COA, here FA,
by encapsulation
sender
3. FA forwards the packet to the MN
11
Source: Schiller
Data transfer from the mobile system
HA
1 MN
home network sender
Internet
FA foreign
network
1. Sender sends to the IP address
CN of the receiver as usual,
FA works as default router
receiver
12
Source: Schiller
13
How Mobile IP works?
It happens through 3 phases such as :
Agent discovery
Registration
Data transfer
14
Agent Discovery
If the mobile node is not in the home network then
the following two things need to be done:
Finding foreign agent (finding that your mobile
node at which foreign location and which foreign
agent is managing it)
Discovery methods:
Agent Advertisement
Agent Solicitation
15
Agent Advertisement
FA and HA advertise their presence through
periodic advertisement messages.
A FLAG is used to indicate whether a node is
HA or a FA.
The HA and FA also shares the CoA.
16
Agent Solicitation
It is used when mobile node doesn’t receive any
CoA.
The purpose is to search for foreign agent.
There can be maximum of 3 solicitation
messages(1 message per sec) sent on entry
into new network.
17
Registration
MN registers with HA when CoA is known.
Informs HA about MN current location.
MN sends requests to FA (contains CoA)
FA forwards to HA.
HA sets up mobility binding. The mobility
binding contains Home IP, Current CoA,
Registration lifetime.
18
Registration
MN r FA HA MN r HA
egi s egi s
r equ t r at ion r equ t r at ion
es t e st
regi
s
r equ t r at ion
es t
t ion
s t ra
regi
y
n repl
o
g i s t rat i
re
repl
y t
o n
g i s t rat i
re
y
repl
19
Data Transfer
Data transfer happens through Tunneling and
Encapsulation.
Tunneling is the process of sending a packet
via a tunnel and it is achieved by a mechanism
called encapsulation.
In tunneling, a virtual packet is established for
data packets between HA(Tunnel entry) and FA
(End point).
The process of enclosing an IP datagram within
another IP header is called encapsulation.
Decapsulation is the reverse process of
encapsulation. 20
Encapsulation
original IP header original data
new IP header new data
outer header inner header original data
21
Reverse tunneling (RFC 3024)
HA
2
MN
home network sender
1
Internet
FA foreign
network
1. MN sends to FA
3 2. FA tunnels packets to HA
CN by encapsulation
3. HA forwards the packet to the
receiver (standard case)
receiver
22
Mobile IPv4 Summary
Mobile node moves to new location.
Agent Advertisement by foreign agent.
Registration of mobile node with home agent.
Proxying by home agent for mobile node.
Encapsulation of packets.
Tunneling by home agent to mobile node via
foreign agent.
Optimizations for triangular routing.
Reverse tunneling.
23
IPv6 Address Architecture
Unicast address
– provider-based global address
– link-local(at least one per interface), site-local
– IPv4 compatible IPv6 address (IPv6 node)
– IPv4 mapped IPv6 address (IPv4 node)
A single interface can have multiple addresses of any
type or scope
Multicast address identifies a group of stations/interfaces
(112-bit group ID)
No Broadcast addresses
– Broadcast applications in IPv4 will have to be re-written in IPv6
24
Autoconfiguration
Plug & Play - a machine when plugged in will
automatically discover and register the required
parameters for Internet connectivity
Autoconfiguration includes
– creating a link-local address
– verifying its uniqueness on a link
– determining what information should be
autoconfigured, addresses and/or other info
– In the case of addresses, they may be obtained
through stateless or stateful mechanism (DHCPv6), or
both
25
Mobile IPv6 protocol
correspondent node
Local Router
correspondent node
with binding
Home Age
– Advertisement from local router contains routing prefix
– Seamless Roaming: mobile node always uses home
address
– Address autoconfiguration for care-of address
– Binding Updates sent to home agent & correspondent
nodes
• (home address, care-of address, binding lifetime)
– Mobile Node “always on” by way of home agent
26
IPv6 and Mobile IPv6 Summary
Proliferation of wireless devices driving adoption of IPv6
340 undecillion addresses
– (340,282,366,920,938,463,463,374,607,431,768,211,456) total!
Billions of IP-addressable wireless handsets
Specially interesting for China which has
– 8 million IPv4 addresses and 50+ million handsets
Mobile IP considers the mobility problem as a routing problem
– managing a binding – that is, a dynamic tunnel between a care-
of address and a home address - Binding updates in IPv6
replace registration requests in IPv4
– Of course,there is a lot more to it than that!
Mobile IPv6 still hampered by the lack of security solutions
– IPSec requires deployed PKI (not available yet)
27
Dynamic Host Configuration Protocol
(DHCP)
28
Overview of DHCP in General:
•Purpose: DHCP dynamically assigns IP addresses and other
network configuration parameters (such as subnet mask, gateway,
DNS server) to devices on a network, allowing them to
communicate without needing manual configuration.
•How it Works: When a device (e.g., a smartphone or laptop)
connects to a network, it broadcasts a request for network
configuration. The DHCP server responds by assigning an
available IP address and other necessary settings. This allows the
device to connect to the network and communicate with other
devices or the internet.
29
In mobile computing, DHCP is crucial for ensuring devices can
connect to different networks automatically and efficiently.
It simplifies the process of connecting mobile devices to networks,
allowing for seamless mobility and ensuring proper IP address
management.
As mobile devices switch between cellular networks, Wi-Fi, and
other connections, DHCP helps maintain communication
continuity.
30
DHCP Handshaking
31
32
ICMP (Internet Control Message Protocol)
33
ICMP (Internet Control Message Protocol) is a crucial network-layer
protocol used for error handling, diagnostics, and operational purposes in
Internet Protocol (IP) networks. It is primarily used by network devices,
like routers, to send error messages or informational messages to the source
IP address when there are issues in the communication.
Purpose of ICMP:
[Link] Reporting: ICMP is used to report errors when data packets fail to
reach their destination or when other network issues occur.
[Link] and Troubleshooting: ICMP assists in diagnosing network
problems by providing information about the state of the network. Tools
like ping and traceroute use ICMP to test connectivity and find the path to
a destination.
34
How ICMP Works:
ICMP is a message-based protocol, and it works by sending small
control messages across the network. These messages do not carry
actual data (like TCP or UDP), but they carry information about the
state of the network and any issues that may have arisen during
transmission.
ICMP Messages: ICMP sends specific types of messages, including:
•Destination Unreachable: Sent when a packet cannot reach its
destination. This could be due to a network issue, a router not having a
route to the destination, or a firewall blocking the packet.
35
•Time
•Time Exceeded:
Exceeded: Sent
Sent when
when aa packet's
packet's "time-to-live"
"time-to-live" (TTL)
(TTL) has
has
expired.
[Link]
Thismessage
messagehelps
helpsdetect
detectrouting
routingloops
loopsand
andtrace
tracethe
thepath
path
ofofaapacket
packet(used
(usedinintraceroute).
traceroute).
•Echo
•EchoRequest
Requestand andEcho
EchoReply:
Reply:Used
Usedininthe
theping
pingcommand.
[Link]
"Echo
"EchoRequest"
Request"isissent
senttototest
testwhether
whetheraahost
hostisisreachable,
reachable,and
andan
an
"Echo
"EchoReply"
Reply"isisreturned
returnedtotoconfirm
confirmconnectivity.
connectivity.
•Redirect
•RedirectMessage:
Message: Used
Usedby byrouters
routerstotoinform
informhosts
hostsabout
aboutbetter
better
routes
routesfor
forsending
sendingpackets
packetstotoaaspecific
specificdestination.
destination.
36
ICMP
ICMPPacket
PacketFormat
Format
[Link]: Defines the type of ICMP message (e.g., Echo Request, Destination
Unreachable).
[Link]: Provides further information about the message type (e.g., for
"Destination Unreachable," the code could specify whether the network,
host, or port is unreachable).
[Link]: A verification mechanism for detecting errors in the ICMP
message.
[Link] of the Header: Additional data depending on the type of ICMP
message.
37
Ad-Hoc Routing
38
What is mobile Ad-Hoc network?
It is a decentralized wireless network consisting
of mobile devices (nodes) that communicate
with each other without relying on a fixed
infrastructure.
39
Characteristics
Dynamic Topology
Decentralized Control
Limited Resources
Multi-hop communication
40
Types of Routing Protocols
The routing protocols are broadly classified into
the following 3 categories:
Proactive algorithm
Reactive algorithm
Hybrid algorithm
41
Proactive Algorithm
It maintains route to destination even if it is not
needed.
Examples:
DSDV, WRP, GSR, STAR, CGSR,TBRPF,OLSR
etc.
Advatange: Low route latency, state information,
QoS guarrantee related to connection set up
Disadvantage: high overhead and route repair
42
Reactive algorithm
It maintains routes to destination only when they
are needed.
Examples: DSR,AODV,TORA,ABR etc.
Advantages: No overhead from periodic update,
scalability
Disadvantages: high route latency
43
Hybrid algorithm
It maintains route to near by nodes even if they
are not needed and maintains route to far away
nodes only when they are needed.
Example: ZRP
44
Destination Sequenced Distance Vector
(DSDV)
45
It is a proactive routing protocol.
Here, each node keeps record of route
information in the form of routing table.
The routing table consists of : Destination ID,
Next node, Distance(no of hops needed),
Sequence number.
46
Route Broadcast Message
The message contains the following information:
Destination node
Next hop
Recent sequence number
Distance
47
Here the nodes exchange their updated routing
table with each other.
The update can be done in two ways:
Full Dump(Entire routing table is shared with
neighbour)
Incremental update (Only entries that are
changed are exchanged)
48
Table maintained in DSDV
Each node receives the routing information with
most recent sequence number from other node and
update it’s table.
Node looks at it’s routing table in order to determine
shortest path to reach all the destination.
Each node constructs another routing table based
on shortest path information.
New routing table will be broadcast to it’s
neighbour.
Neighbour nodes update it’s routing table.
49
Example:
Disconnected, so,
D distance of D becomes
A infinite.
C E
50
Dynamic Source Routing (DSR)
51
The DSR is simple and efficient routing protocol
designed for multi-hop wireless and ad hoc
networks of mobile nodes.
It consists of two main mechanisms such as:
Route discovery
Route maintenance
52
Route Discovery
A route request (RREQ) message will be broadcast
from the source, if it doesn’t contain the routing
information to the destination.
It contains a route record that specifies the
sequence of nodes traversed by the message.
To prevent the routing loops, the intermediate
nodes check the route record and drop message if
they are already there in the record.
The intermediate node forwards the RREQ to the
next hop according to the route specified in the
header.
53
When the destination node get the RREQ, it
sends back a route reply message. If it has a
route to the source then it also sends RREP
(Route Request Response) back to the source
containing this route.
54
Route Maintenance
When a node detects a broken link while
forwarding a packet , it sends a route error
(RERR) message back to the source containing
the link in error.
When an RERR is received, all routes
containing the link in error are deleted at that
node.
55
Ad Hoc On demand distance vector routing
(AODV)
56
Ad Hoc On-Demand Distance Vector (AODV)
routing is a reactive routing protocol designed
for mobile ad hoc networks (MANETs)
57
Route Discovery
The route discovery process is initiated when a
source needs a route to a destination and it
does not have a route in its routing table
To initiate route discovery, the source floods the
network with a RREQ packet specifying the
destination for which the route is requested.
When a node receives an RREQ packet, it
checks to see whether it is the destination or
whether it has a route to the destination.
If either case is true, the node generates an
RREP packet, which is sent back to the source
along the reverse path. Each node along the
reverse path sets up a forward pointer to the
node it received the RREP from.
When the source node receives the first RREP,
it can begin sending data to the destination.
Route Maintenance:
When a node detects a broken link while
attempting to forward a packet to the next hop, it
generates a RERR packet that is sent to all
sources using the broken link.
The RERR packet erases all routes using the
link along the way.
If a source receives a RERR packet and a route
to the destination is still required, it initiates a
new route discovery process.
Sequence Numbers
Nodes maintain sequence numbers for
destinations to ensure up-to-date routing
information.
Higher sequence numbers indicate fresher
routes.
Packet Structures
1. Route Request (RREQ): Fields include source
IP, destination IP, source sequence number,
destination sequence number, hop count, and
broadcast ID.
2. Route Reply (RREP): Contains information
about the destination, such as destination IP,
sequence number, hop count, and lifetime.
3. Route Error (RERR):