Module 4 Final
Module 4 Final
Module 4 Final
Mobile IP
‘Mobile IP is a communication protocol (created by extending
Internet Protocol, IP) that allows the users to move from one
network to another with the same IP address. It ensures that the
communication will continue without the user’s sessions or
connections being dropped.
Similar to the handoff/roaming situation in cellular network
Mobile IP allows the mobile node to use two IP addresses
called home address and care of address
The home address is static and known to everybody as the
identity of the host
The care of address changes at each new point of attachment
and can be thought of as the mobile node’s location specific
address
MOVIVATION FOR MOBILE IP
• Routing
– based on IP destination address, network prefix (e.g. 129.13.42) determines
physical subnet
– change of physical subnet implies change of IP address to have a topological
correct address (standard IP) or needs special entries in the routing tables
• Specific routes to end-systems?
– change of all routing table entries to forward packets to the right destination
– does not scale with the number of mobile hosts and frequent changes in the
location, security problems
• Changing the IP-address?
– adjust the host IP address depending on the current location
– almost impossible to find a mobile system, DNS updates take to long time
– TCP connections break, security problems
REQUIREMENTS FOR MOBILE IP
• Transparency
– mobile end-systems keep their IP address
– continuation of communication after interruption of link possible
– point of connection to the fixed network can be changed
• Compatibility
– support of the same layer 2 protocols as IP
– no changes to current end-systems and routers required
– mobile end-systems can communicate with fixed systems
• Security
– authentication of all registration messages
• Efficiency and scalability
– only little additional messages to the mobile system required (connection
typically via a low bandwidth radio link)
– world-wide support of a large number of mobile systems in the whole Internet
TERMINOLOGY
• Mobile Node (MN)
– system (node) that can change the point of connection
to the network without changing its IP address
• Home Agent (HA)
– system in the home network of the MN, typically a
router
– registers the location of the MN, tunnels IP datagrams
to the COA
• Foreign Agent (FA)
– system in the current foreign network of the MN,
typically a router
– forwards the tunneled datagrams to the MN, typically
also the default router for the MN
TERMINOLOGY
• 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
– can be chosen, e.g., via DHCP
• Correspondent Node (CN)
– communication partner
Working of Mobile IP
Working of Mobile IP
Let’s take the case of mobile node (A) and another host (server X).
The following steps take place:
Server X wants to transmit an IP datagram to node A. The home
address of A is advertised and known to X. X does not know
whether A is in the home network or somewhere else. Therefore,
X sends the packet to A with A’s home address as the destination
IP address in the IP header. The IP datagram is routed to A’s home
network.
Working of Mobile IP
N4 N4
N5 N5
time = t1 time = t2
good link
weak link
Difference between wired networks and ad-
hoc wireless networks.
1. Asymmetric links: Quality of connection may vary
between directions due to mobility and environmental
factors
2. Redundant links: Many redundant links due to dynamic
nature and mobility of devices
3. Interference: Susceptible to interference from various
sources including other wireless devices and
environmental factors
4. Dynamic topology: Dynamic topology with frequent
changes in connections, connection quality, and
participants due to device mobility
Difficulties in design of ad-hoc routing
protocols
• Traditional algorithm know for wired network
may not work efficiently or fail completely
because these are not design with highly
dynamic topology, asymmetric links, or
interference in mind.
• Additional information such as connectivity or
interference is needed for finding best path.
• Centralized approach cannot be used.
Routing Algorithms
1.) Destination sequence distance vector(DSDV)
• Enhanced version of distance vector routing
for ad-hoc network.
• DVR is used as routing information protocol in
wired network.
• In DVR each node exchanges its routing table
periodically with its neighbor, this strategy is
not used in case of wireless ad-hoc networks,
due to rapidly changing topology.
• DSVR adds two things to distance vector routing algorithm:
1. Sequence number :Each routing advertisement comes with a
sequence number. Sequence numbers help to apply the
advertisements in correct order
2. Damping :mechanism designed to address transient changes
in network topology that are short-lived and should not
destabilize routing.
Part of routing table for DSDV
Destination Next hop Metric Sequence no. Instal time
N1 N1 0 S1–321 T4–001
N2 N2 1 S2–218 T4–001
N3 N2 2 S3–043 T4–002
N4 N4 1 S4–092 T4–001
N5 N4 2 S5–163 T4–002
• Destination:
– Refers to the network address or IP address of the destination network
or host.
– Each entry in the routing table corresponds to a specific destination.
• Next Hop:
– Indicates the IP address of the next router or gateway to which
packets should be forwarded in order to reach the destination.
– The next hop is determined based on the best known route to the
destination.
• Metric:
– Represents the cost or distance associated with reaching the
destination via a particular route.
– The metric can be based on factors such as hop count, link bandwidth,
delay, or a combination of these.
• Sequence Number:
– A unique identifier assigned to each route entry in the
routing table.
– Helps routers determine the freshness of routing
information.
– Higher sequence numbers indicate newer information.
• Installation Time:
– The timestamp indicating when a particular route entry
was added or updated in the routing table.
– Helps routers determine the age of routing information
and make decisions based on freshness.
– Routes with more recent installation times are considered
more up-to-date.
2. Dynamic source routing
N4 N5
time = t1
good link
weak link
Example
Cluster
Super cluster
• Clusters can be combined to form super clusters etc.,
building up a larger hierarchy.
• Using this approach, one or more nodes can act as
cluster heads, representing a router for all traffic
to/from the cluster.
• All nodes within the cluster and all other cluster heads
use these as gateway for the cluster.
• Figure shows an ad-hoc network with interconnection
to the internet via a base station. This base station
transfers data to and from the cluster heads. In this
example, one cluster head also acts as head of the
super cluster, routing traffic to and from the super
cluster.
• Different routing protocols may be used inside and
outside clusters.
• Some are
1. CGSR – Clusterhead-Gateway Switch
Routing
2. HSR – Hierarchical State Routing
3. LANMAR – Landmark Ad Hoc Routing
4. ZRP – Zone Routing Protocol
Geographic-position-assisted ad-hoc
routing
• If mobile nodes know their geographical position this can be
used for routing purposes.
• This improves the overall performance of routing algorithms .
• One way to acquire position information is via the global
positioning system (GPS).
• Mauve (2001) gives an overview of several position-based ad-
hoc routing protocols.
• some of them are
1. DREAM – Distance Routing Effect Algorithm for Mobility
2. GeoCast – Geographic Addressing and Routing
3. GPSR – Greedy Perimeter Stateless Routing
4. LAR – Location-Aided Routing
Generic Routing Encapsulation (GRE)
• Generic Routing Encapsulation (GRE) is a
tunneling protocol that encapsulates a wide
variety of network layer protocols inside
virtual point-to-point links. This encapsulation
process allows data packets from one network
protocol to be transported over another
network protocol.
• Here's how data packets are encapsulated via
Generic Routing Encapsulation (GRE):
1. Header Addition:
– When a data packet enters a GRE tunnel, a new GRE header is added
to the packet.
– The GRE header contains fields such as the Key, Protocol Type,
Checksum, and the Source and Destination IP addresses of the tunnel
endpoints.
2. Original Packet Encapsulation:
– The original packet, along with its header, is encapsulated inside the
GRE packet. This means the entire original packet becomes payload for
the GRE packet.
3. Protocol Identification:
– The Protocol Type field in the GRE header specifies the type of the
encapsulated protocol. It indicates the type of the original packet being
encapsulated, such as IPv4, IPv6, or any other network layer protocol.
4. Routing:
– Once the packet is encapsulated, it is routed through the network as if it
were a regular packet, regardless of the encapsulated protocol.
– Routers along the path forward the packet based on the destination IP
address in the outer IP header, which is the address of the receiving
endpoint of the GRE tunnel.
5. Decapsulation:
– Upon reaching the destination endpoint of the GRE tunnel, the GRE
header is stripped from the packet, leaving the original packet intact.
– The original packet is then forwarded based on the information in its own
header, as if it had never been encapsulated.
6. Delivery:
– Finally, the original packet is delivered to its ultimate destination as if it
had been sent directly without traversing the GRE tunnel.
Mobile Transport Layer
●
Mobility support on only lower layer is not
enough to provide mobility support for
applications.
●
• As application is directly communicates with
transport Layer only.
Traditional TCP
Traditional TCP (Transmission Control Protocol) is a core
protocol of the Internet Protocol Suite (TCP/IP) and serves as
a reliable, connection-oriented, and stream-oriented
communication protocol. It ensures the reliable delivery of
data packets between devices over a network, typically the
Internet. It include Mechanisms that influence the efficiency
of TCP in a mobile environment
Congestion control
Slow start
Fast retransmit/fast recovery
Implications on mobility
Congestion control
TCP has been designed for fixed networks with fixed end-systems
Hardware and software are mature enough to ensure reliability of data
The sender notices the missing acknowledgement for the lost packet
and assumes a packet loss due to congestion
Retransmitting the missing packet and continuing at full sending rate
would now be unwise, as this might only increase the congestion.
Slow start
The behavior TCP shows after the detection of congestion is called slow start
The sender always calculates a congestion window for a receiver.
The start size of the congestion window is one segment (TCP packet).
This scheme doubles the congestion window every time the acknowledgements
come back, which takes one round trip time (RTT) like 1, 2, 4, 8 etc.
This is called the exponential growth of the congestion window in the slow start
mechanism.
The exponential growth stops at the congestion threshold.
Retransmit
a receiver sends acknowledgements only if
it receives any packets from the sender.
Receiving acknowledgements from a receiver also shows that
the receiver continuously receives something from the sender.
The gap in the packet stream is not due to severe
congestion, but a simple packet loss due to a transmission
error.
The sender can now retransmit the missing packet(s) before
the timer expires.
This behavior is called fast retransmit
Fast recovery
no changes in the fixed network necessary, no changes for the hosts (TCP protocol)
necessary, all current optimizations to TCP still work
transmission errors on the wireless link do not propagate into the fixed network
simple to control, mobile TCP is used only for one hop between, e.g., a foreign agent
and mobile host
therefore, a very fast retransmission of packets is possible, the short delay on the
mobile hop is known
Disadvantages
loss of end-to-end semantics, an acknowledgement to a sender does now not any longer
mean that a receiver really got a packet, foreign agents might crash
higher latency possible due to buffering of data within the foreign agent and forwarding
Snooping TCP
the foreign agent buffers all packets with destination mobile host and
additionally ‘snoops’ the packet flow in both directions to recognize
acknowledgements
buffering enable the FA to perform a local retransmission in case of packet
loss on the wireless link
Transparent extension of TCP within the foreign agent
buffering of packets sent to the mobile host
Disadvantages
Snooping TCP does not isolate the behavior of the wireless link as
well as ITCP
Using negative acknowledgements between the foreign agent and the mobile host
assumes additional mechanisms on the mobile host.
All efforts for snooping and buffering data may be useless if certain encryption
schemes are applied end-to- end between the correspondent host and mobile host
Mobile TCP
Selective retransmission
• The WAP standard is based on Internet standards (HTML, XML and TCP/IP).
• Wireless Application Protocol (WAP) is a specification for a set of
communication protocols to standardize the way wireless devices,
such as mobile phones and radio transceivers, can be used for
internet access, including email, the web, newsgroups and instant
messaging.
• WAP was conceived in 1997 by Ericsson, Motorola, Nokia and
Unwired Planet (now Enea Openwave Mobility) at an event
known as the WAP Forum. While wireless internet access was
possible before the introduction of WAP, different manufacturers
used varying technologies, and WAP was intended to be an
industry standard. However, WAP is now considered obsolete, as
modern devices use networks and browsers that function
similarly to those on PCs.
Working of Wireless Application Protocol or WAP Model
The following steps define the working of Wireless Application Protocol or
WAP Model:
• The WAP model consists of 3 levels known as Client, Gateway and Origin
Server.
• When a user opens the browser in his/her mobile device and selects a
website that he/she wants to view, the mobile device sends the URL
encoded request via a network to a WAP gateway using WAP protocol.
• The request he/she sends via mobile to WAP gateway is called as encoding
request.
• The sent encoding request is translated through WAP gateway and then
forwarded in the form of a conventional HTTP URL request over the
Internet.
• When the request reaches a specified Web server, the server processes
the request just as it would handle any other request and sends the
response back to the mobile device through WAP gateway.
• Now, the WML file's final response can be seen in the browser of the
mobile users.
WAP Architecture
• The WAP (Wireless Application Protocol)
architecture consists of several layers, each
serving a specific purpose in enabling
communication between wireless devices and
servers over mobile networks. Here are the
typical layers and protocols involved:
• Application Layer:
This layer consists of the Wireless Application Environment (WAE), mobile device
specifications, and content development programming languages, i.e., WML.
.
– . The Wireless Application Environment, or WAE, provides an architecture for
communication between wireless devices and Web servers. To understand WAE, you
should first be familiar with the World Wide Web (WWW) model, which is a simpler
architecture based on similar principles.
• Session Layer:
The session layer consists of the Wireless Session Protocol (WSP). It is responsible
for fast connection suspension and reconnection.
– WSP (Wireless Session Protocol): A session-layer protocol that provides a reliable and
secure connection between the WAP client and server. It's similar to HTTP but optimized
for wireless communication.
• Transaction Layer:
, The transaction layer consists of Wireless Transaction Protocol (WTP) and runs on
top of UDP (User Datagram Protocol). This layer is a part of TCP/IP and offers
transaction support.
– WTP (Wireless Transaction Protocol): A transaction-layer protocol responsible for
ensuring reliable data transfer between the client and server. It manages message
segmentation, reassembly, and error recovery.
• Security Layer:
It contains Wireless Transaction Layer Security (WTLS) and responsible
for data integrity, privacy and authentication during data transmission.
• In this class the responder does not ACK and initiator does not perform any
retransmission.
• This occasionally used
WTP Class 0 Transaction
initiator responder
TR-SAP TR-SAP
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=0, H) TR-Invoke.ind
Invoke
PDU (SA, SP, DA, DP, A, UD, C=0, H‘)
Source: Schiller
WTP: Wireless Transaction Protocol
• WTP class 1: reliable message transfer without result message
• Sender send a TR-Invoke.req (SA, SP, DA, DP, A, UD, C=1, H)
• Responder signals the incoming by TR-Invoke.ind and ACK automatically
• Where
– C is Class type which is 1 for this class
user ACK is
required initiator responder
TR-SAP TR-SAP
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=1, H) TR-Invoke.ind
Invoke
PDU (SA, SP, DA, DP, A, UD, C=1, H‘)
TR-Invoke.res
(H‘)
TR-Invoke.cnf U
(H) Ack PD
Source: Schiller
WTP: Wireless Transaction Protocol
• WTP class 2: reliable message transfer with exactly one reliable result
message
• Reliable request/respond transaction
TR-Result.ind
(UD*, H)
TR-Result.res
(H)
Ack PD TR-Result.cnf
U
(H‘)
Source: Schiller
WTP Class 2 Transaction, user ack
initiator responder
TR-SAP TR-SAP
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind
Invoke
PDU (SA, SP, DA, DP, A, UD, C=2, H‘)
TR-Invoke.res
(H‘)
TR-Invoke.cnf U
(H) Ack PD TR-Result.req
(UD*, H‘)
TR-Result.ind P DU
(UD*, H) Result
TR-Result.res
(H)
Ack PD TR-Result.cnf
U
(H‘)
Source: Schiller
WSP - Wireless Session Protocol
• Goals
– HTTP 1.1 functionality
• Request/reply, content type negotiation, ...
– support of client/server transactions, push technology
– key management, authentication, Internet security services
• WSP Services
– provides shared state between client and server, optimizes content
transfer
– session management (establish, release, suspend, resume)
– efficient capability negotiation
– content encoding
• WSP/B (Browsing)
– HTTP/1.1 functionality - but binary encoded
– exchange of session headers
– push and pull data transfer
– asynchronous requests
WSP/B session establishment
client server
S-SAP S-SAP
S-Connect.req
(SA, CA, CH, RC) Conne S-Connect.ind
ct PDU
(SA, CA, CH, RC)
S-Connect.res
(SH, NC)
S-Connect.cnf
nR epl y PDU
(SH, NC) Con
WTP Class 2
transaction
Source: Schiller
WSP - Wireless Session Protocol
• S-Connect.cnf confirms the session establishment and includes the
server header and the negotiated capabilities from the server.
• On resuming
– If server Address (SA) and Client Address (CA) are not the same
(before suspension and on resuming) then it is the responsibility
of the service user to map the addresses.
WSP/B session suspend/resume
client server
S-SAP S-SAP
Source: Schiller
WSP/B session termination
client server
S-SAP S-SAP
S-Disconnect.req
(R) Discon S-Disconnect.ind
nect P
S-Disconnect.ind DU (R)
(R) WTP Class 0
transaction
Source: Schiller
WSP - Wireless Session Protocol
• S-MethodInvoke.req
– Used to request an operation to be executed by the server
– CTID : client transaction ID to distinguish between pending
transactions.
– Method M: requested operations at the server
– Request URI: Uniform Resource Identifier i.e., URL’s
• S-MethodResult.ind
– Result is sent back
• S-MethodResult.ind
– Result is sent back
– Parameters are
• S: Response Status
– Is the HTTP/1.1 status code such as
» 404 (indicating server could not be found)
» 200 (indicating everything is ok)
• RH: Response Header
• RB: Response Body
WSP/B method invoke
client server
S-SAP S-SAP
S-MethodInvoke.req
(CTID, M, RU) Metho S-MethodInvoke.ind
d PDU
(STID, M, RU)
S-MethodInvoke.res
(STID)
S-MethodInvoke.cnf
(CTID) S-MethodResult.req
(STID, S, RH, RB)
S-MethodResult.ind P DU
(CTID, S, RH, RB) Reply
S-MethodResult.res
(CTID) S-MethodResult.cnf
(STID)
WTP Class 2
transaction
TR-Invoke.res S-MethodInvoke.res
U
S-MethodInvoke.cnf TR-Invoke.cnf Ack PD
TR-Result.req S-MethodResult.req
)
e s u l t(Reply
S-MethodResult.ind TR-Result.ind R
Source: Schiller
WSP - Wireless Session Protocol
S-MethodResult_2.ind
Source: Schiller
WSP - Wireless Session Protocol
• Push data from the server to the client using S-Push.req
• Class 0 transaction service
• Another variation is class 1.
WSP/B - confirmed/non-confirmed push
client server
S-SAP S-SAP
S-Push.req
(PH, PB)
S-Push.ind DU
(PH, PB) Push P
S-ConfirmedPush.res
(CPID) S-ConfirmedPush.cnf
(SPID)
WTP Class 1
transaction
Source: Schiller
WSP - Wireless Session Protocol
• WSP/B connectionless session service
– The connection establishment and release require overhead,
confirm method invocation require overheads
– Which may not be required.
• S-Unit-MethodInvoke.req
– To request an operation on the server.
– TID: Transaction Identifier to distinguish between different users.
• S-Unit-MethodResult.req
– To return the result
• S-Unit-Push.req
– To push the data onto a client.
WSP/B over WDP
client server
S-Unit-MethodInvoke.req S-SAP S-SAP
(SA, CA, TID, M, RU) Metho S-Unit-MethodInvoke.ind
d PDU
(SA, CA, TID, M, RU)
S-Unit-MethodResult.req
(CA, SA, TID, S, RH, RB)
S-Unit-MethodResult.ind PDU
(CA, SA, TID, S, RH, RB) Reply
S-Unit-Push.req
(CA, SA, PID, PH, PB)
S-Unit-Push.ind DU
(CA, SA, PID, PH, PB) Push P
WDP Unitdata
service