Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Cs8601 3
1. CS8601 MOBILE COMPUTING
UNIT – III
Dr.A.Kathirvel, Professor and Head, Dept of CSE
Misrimal Navajee Munoth Jain Engineering College, Chennai
2. Unit - III
MOBILE NETWORK LAYER
Mobile IP – DHCP – AdHoc– Proactive protocol-
DSDV, Reactive Routing Protocols – DSR, AODV ,
Hybrid routing –ZRP, Multicast Routing- ODMRP,
Vehicular Ad Hoc networks ( VANET) –MANET Vs
VANET – Security.
TEXT BOOKS:Jochen Schiller, Mobile Communications, PHI, Second Edn, 2003.
2
3. Why Mobile IP?
❑ What do cellular networks and wireless LANs provide?
❑ Wireless connectivity
❑ Mobility at the data link layer
❑ What is Dynamic Host Configuration Protocol (DHCP)?
❑ It provides local IP addresses for mobile hosts
❑ Is not secure
❑ Does not maintain network connectivity when moving around
❑ What they do not provide:
❑ Transparent connectivity at the network layer
❑ Mobility with local access
❑ The difference between mobility and nomadicity!
❑ Mobile IP provides network layer mobility
❑ Provides seamless roaming. ‘‘Extends’’ the home network over the
entire Internet
3
4. IP Overview 1/3
❑ IP Addressing :
❑ Dotted Decimal Notation: 32 bits (4x8) used to
represent IPv4 addresses - 192.19.241.18
❑ Network Prefix and Host Portions: p - prefix, h - host,
p + h = 32. If p = 24 then h = 32 - 24 = 8. Using above
address the network prefix will be 192.19.241 and host
will be 18. For those of you familiar with subnet masks,
“p” represents the number of 1’s in the subnet mask. If
p = 24, subnet mask is 255.255.255.0, if p = 26, subnet
mask is 255.255.255.192.
4
5. IP Overview 2/3
❑ IP Routing:
❑ Network prefix is used for routing. Routing tables are used to
look up next hop and the interface on the router that is to be
used.
❑ In the routing tables we use the following notation:
target/prefix length, e.g., 192.19.241.0/24, or
192.19.241.192/26.
❑ If two subnet masks/prefixes fit the address, the one with the
largest prefix is chosen for routing. E.g., a router with the
following 3 entries in its table: 7.7.7.99/32 (p=32 host specific)
and 7.7.7.0/24 (0<p<32 network prefix) and 0.0.0.0/0 (p=0
default) will use entry 2 for an IP packet with destination
7.7.7.1 and entry 3 for destination 192.33.14.12.
5
6. IP Overview 3/3
❑ Domain Name System (DNS): used to translate a host name to
an IP address. A host sends a query to a server to obtain the
IP address of a destination of which it only has the host name.
❑ Link Layer Addresses - Address Resolution Protocol (ARP):
❑ Once a host has the IP address of a destination it then needs to finds its
layer 2 address or the layer 2 address of the next hop on the path. A
broadcast message is sent and the targeted host responds with its layer
2 address.
❑ A proxy ARP is a response by a node for another node that cannot
respond at the time the request is made (e.g. the node is a mobiel node
and not on its host net at the time, its home agent will respond in its
stead).
❑ A gratuitous ARP, is a reply to no ARP request, used by a node that
just joins the network and wants to make its address known. Can be
used by a mobile node upon its return to its home net.
6
7. Motivation for Mobile IP
❑ 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
topologically correct address (standard IP) or needs special entries in the
routing tables
❑ Specific routes to end-systems?
❑ requires changing 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 long time
❑ TCP connections break, security problems
7
8. What Mobile IP does?
❑ Mobile IP solves the following problems:
❑ if a node moves without changing its IP address it will be unable to
receive its packets,
❑ if a node changes its IP address it will have to terminate and restart its
ongoing connections everytime it moves to a new network area (new
network prefix).
❑ Mobile IP is a routing protocol with a very specific purpose.
❑ Mobile IP is a network layer solution to node mobility in the
Internet.
❑ Mobile IP is not a complete solution to mobility, changes to the
transport protocols need to be made for a better solution (i.e., the
transport layers are unaware of the mobile node’s point of
attachment and it might be useful if, e.g., TCP knew that a wireless
link was being used!).
8
9. Requirements to Mobile IP (RFC 2002)
❑ 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
9
10. Mobile IP 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
❑ 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
10
11. Mobile IP Operation: Summary
❑Consists of 3 steps:
❑Agent discovery,
❑Registration, and
❑Routing/Tunneling
11
12. Operation Summary 1/3
❑ Agent Advertisement/Discovery: consists of
broadcast messages used by mobiles to detect that
they have moved and are required to register with a
new FA.
❑ FAs send agent advertisements
❑ MNs can solicit for agents if they have not heard an agent
advertisement in awhile or use some other mechanism to
obtain a COA or temp. IP address (e.g. DHCP).
❑ MNs know they are home when they recognize their HA.
12
13. Operation Summary 2/3
❑ Registration: used by a MN to inform the FA that it
is visiting.
❑ The new care of address of the MN is sent to the HA.
❑ Registration expires, duration is negotiated during
registration
❑ Mobile must re-register before it expires
❑ All registrations are authenticated
❑ The MN sends a registration request in to the FA which
passes it along to the home agent. The HA responds to the
FA which then informs the MN that all is in order and
registration is complete.
13
14. Operation Summary 3/3
❑ Routing/Encapsulation/Tunneling: consists
of the delivery of the packets to the mobile
node at its current care of address.
❑Sender does not need to know that the
destination is a MN.
❑HA intercepts all packets for the MN and
passes them along to MN using a tunnel.
❑MN communicates directly with the CN.
❑Referred to as Triangle Routing
14
16. Data transfer to the mobile system
Internet
sender
FA
HA
MN
home network
foreign
network
receiver
1
2
3
1. Sender sends to the IP address of MN,
HA intercepts packet (proxy ARP)
2. HA tunnels packet to COA, here FA,
by encapsulation
3. FA forwards the packet
to the MN
CN
16
17. Data transfer from the mobile system
Internet
receiver
FA
HA
MN
home network
foreign
network
sender
1
1. Sender sends to the IP address
of the receiver as usual,
FA works as default router
CN
17
19. Network integration
❑ Agent Advertisement Discovery
❑ HA and FA periodically send advertisement messages into their physical
subnets
❑ MN listens to these messages and detects, if it is in the home or a foreign
network (standard case for home network)
❑ MN reads a COA from the FA advertisement messages
❑ Registration (always limited lifetime!)
❑ MN signals COA to the HA via the FA, HA acknowledges via FA to MN
❑ these actions have to be secured by authentication
❑ Routing/Encapsulation/Tunneling
❑ HA advertises the IP address of the MN (as for fixed systems), i.e.
standard routing information
❑ packets to the MN are sent to the HA,
❑ independent of changes in COA/FA
19
20. Agent advertisement
preference level 1
router address 1
#addresses
type
addr. size lifetime
checksum
COA 1
COA 2
type sequence numberlength
0 7 8 15 16 312423
code
preference level 2
router address 2
. . .
registration lifetime
. . .
R B H F M G V reserved
20
22. Mobile IP registration request
home agent
home address
type lifetime
0 7 8 15 16 312423
rsv
identification
COA
extensions . . .
S B D M G V
22
23. Processing Registration Messages 1/3
❑ A MN, depending on which registration scenario it is in, will figure what
addresses to use in the various fields of the Registration request message.
❑ Link layer addresses are tricky:
❑ A MN may not use ARP if it is using a FA COA. It needs to use the address of
the FA as the destination address.
❑ If it is using a collocated COA, then it uses ARP to locate the default router using
its COA as source. Note that if the ‘R’ bit is set is uses the FA address as the
destination address.
❑ For de-registration is uses ARP to locate the HA link address and it uses its own
home address for the ARP message.
❑ For network layer addresses (i.e., IP addresses):
❑ It uses the FA address as destination address when using the FA COA and its
own home address as the source address.
❑ If using a collocated COA it uses its COA as source address and the HA address
as destination address. Note that if the ‘R’ bit is set then is must use the same
addresses as for the FA COA scenario.
❑ For de-registration it uses its own home address as source and the HA address as
destination.
23
24. Processing Registration Messages 2/3
❑ For the FA:
❑ A FA may refuse a Registration request for a number of reasons: lifetime
too long, authentication failed, requested tunneling not supported, cannot
handle another MN (current load too high).
❑ If an FA does not refuse the request it relays it to the HA. Relaying is
different from forwading as the FA is required to process the packet and
create new headers.
❑ Some important fields of the request message are recorded for use later
on: MN link layer address, MN IP address, UDP source port, HA IP
address, identification number and requested lifetime.
❑ Regarding a Registration reply message, the FA can refuse it and send a
decline to the MN is it finds the reply from the HA to be invalid.
Otherwise it updates its list of visiting MNs and begins acting on behalf of
the MN.
24
25. Processing Registration Messages 3/3
❑ For a HA
❑The HA will determine, as the FA did, whether
it will accept the request. If it does not it
returns a code in the reply message indicating
the cause of the failed request.
❑If the request is accepted, the reply is sent back
by reversing all the IP addresses and UDP port
numbers.
❑The HA updates the binding table
corresponding to that MN dependent upon the
nature of the request.
25
26. Routing/Tunneling 1/5
❑ Routing a packet to a MN involves the
following:
❑ A router on the home link, possibly the HA,
advertises reachability to the network prefix of the
MN’s home address.
❑ All packets are therefore routed to the MN’s home
link.
❑ A HA intercepts the packets for the MN and tunnels
a copy to each COA in the binding table.
❑ At the foreign link either the MN extracts the packet
(collocated COA) or the FA extracts the packet and
forwards it to the MN.
26
27. Routing/Tunneling 2/5
❑ A HA can use one of two methods to intercept a
MN’s packets:
❑ The HA is a router with multiple network interfaces. In
that case it advertises reachability to the MN’s home
network prefix.
❑ The HA is not a router with multiple intefaces. It must
use ARP to receive the MN’s packets. It either
responds to ARP requests on behalf of the MN (proxy
ARP) or uses gratuitous ARPs to inform the home
network that it is receiving the MN’s IP packets. This is
to update any ARP caches that hosts and other devices
might have.
27
28. Routing/Tunneling 3/5
❑ How to ‘fool’ the routing table into handling
tunneled packets at the HA?
❑ A virtual interface is used to do the encapsulation.
❑ A packet destined for the MN is handled by the routing
routine as all received IP packets are.
❑ The routing table has a host specific entry for the MN.
This host specific entry is used to route the packet to a
virtual interface that basically consists of a process that
does encapsulation.
❑ Once encapsulation has been performed the packet is sent
to be processed by the routing routine again. This time the
destination address is the COA and it is routed normally.
28
29. Routing/Tunneling 4/5
❑ How to ‘fool’ the routing table into handling tunneled
packets at the FA?
❑ The same procedure is used as above.
❑ A packet coming in with a COA that is one of the FA
addresses’ is handled by the routing routine.
❑ A host specific address (its own address) in the routing table
points to the higher layers and the packet is passed on to a
virtual interface.
❑ The virtual interface consists of a process that decapsulates
the packet and re-routes it to the routing routine.
❑ The routing routine routes the packet normally based upon a
host specific entry that is the MN’s home address (for which
it has the link layer address!).
29
30. Routing/Tunneling 5/5
❑ How does a MN route its packets?
❑ It needs to find a router to send all its packets to.
❑ It can select a router in one of a number of ways dependent upon
whether it has a FA COA or a collocated COA.
❑ Having a FA COA does not imply that the MN needs to use it as its
default router for sending packets. It can use any router that sends
advertisements or that is advertised in the Agent Advertisement
message.
❑ If the MN is using a collocated COA it needs to listen for router
advertisements or is it hears none, use DHCP to find the default
router.
❑ Determining the link layer address is another issue. Collocated COA
MNs can use ARP. FA COA must note the link layer address when
they receive router advertisements or agent advertisements.
30
32. Types of Encapsulation
➢ Three types of encapsulation protocols are specified
for Mobile IP:
❑ IP-in-IP encapsulation: required to be supported. Full IP
header added to the original IP packet. The new header
contains HA address as source and Care of Address as
destination.
❑ Minimal encapsulation: optional. Requires less overhead but
requires changes to the original header. Destination address
is changed to Care of Address and Source IP address is
maintained as is.
❑ Generic Routing Encapsulation (GRE): optional. Allows
packets of a different protocol suite to be encapsulated by
another protocol suite.
➢ Type of tunneling/encapsulation supported is
indicated in registration.
32
33. IP in IP Encapsulation
➢ IP in IP encapsulation (mandatory in RFC 2003)
❑ tunnel between HA and COA
Care-of address COA
IP address of HA
TTL
IP identification
IP-in-IP IP checksum
flags fragment offset
lengthTOSver. IHL
IP address of MN
IP address of CN
TTL
IP identification
lay. 4 prot. IP checksum
flags fragment offset
lengthTOSver. IHL
TCP/UDP/ ... payload
33
34. Minimum Encapsulation
➢ Minimal encapsulation (optional)
❑ avoids repetition of identical fields
❑ e.g. TTL, IHL, version, TOS
❑ only applicable for unfragmented packets, no space left
for fragment identification
care-of address COA
IP address of HA
TTL
IP identification
min. encap. IP checksum
flags fragment offset
lengthTOSver. IHL
IP address of MN
original sender IP address (if S=1)
Slay. 4 protoc. IP checksum
TCP/UDP/ ... payload
reserved
34
35. Generic Routing Encapsulation
original
header
original data
new datanew header
outer header
GRE
header
original data
original
header
Care-of address COA
IP address of HA
TTL
IP identification
GRE IP checksum
flags fragment offset
lengthTOSver. IHL
IP address of MN
IP address of CN
TTL
IP identification
lay. 4 prot. IP checksum
flags fragment offset
lengthTOSver. IHL
TCP/UDP/ ... payload
routing (optional)
sequence number (optional)
key (optional)
offset (optional)checksum (optional)
protocolrec. rsv. ver.CRKSs
35
36. Routing techniques
➢ Triangle Routing: tunneling in its simplest form has all
packets go to home network (HA) and then sent to MN via
a tunnel.
❑ This involves two IP routes that need to be set-up, one original
and the second the tunnel route.
❑ Causes unnecessary network overhead and adds to the latency.
➢ Route optimization: allows the correstpondent node to
learn the current location of the MN and tunnel its own
packets directly. Problems arise with
❑ mobility: correspondent node has to update/maintain its cache.
❑ authentication: HA has to communicate with the correspondent
node to do authentication, i.e., security association is with HA not
with MN.
36
37. Optimization of packet forwarding
➢ Change of FA
❑ packets on-the-fly during the change can be lost
❑ new FA informs old FA to avoid packet loss, old FA
now forwards remaining packets to new FA
❑ this information also enables the old FA to release
resources for the MN
37
38. Change of foreign agent
CN HA FAold FAnew MN
t
request
update
ACK
data data
MN changes
location
registration
update
ACK
data
data data
warning
update
ACK
data
data
registration
39. Problems with Triangle Routing
➢ Triangle routing has the MN correspond directly
with the CN using its home address as the SA
❑ Firewalls at the foreign network may not allow that
❑ Multicasting: if a MN is to participate in a multicast
group, it needs to use a reverse tunnel to maintain its
association with the home network.
❑ TTL: a MN might have a TTL that is suitable for
communication when it is in its HM. This TTL may not
be sufficient when moving around (longer routes
possibly). When using a reverse tunnel, it only counts
as a single hop. A MN does not want to change the TTL
everytime it moves.
➢ Solution: reverse tunneling
39
40. Reverse tunneling (RFC 2344)
Internet
receiver
FA
HA
MN
home network
foreign
network
sender
3
2
1
1. MN sends to FA
2. FA tunnels packets to HA
by encapsulation
3. HA forwards the packet to the
receiver (standard case)
CN
40
41. Mobile IP with reverse tunneling
➢ Routers accept often only “topologically correct“
addresses (firewall!)
❑ a packet from the MN encapsulated by the FA is now topologically
correct
➢ Multicast and TTL problems solved
➢ Reverse tunneling does not solve
❑ all problems with firewalls, the reverse tunnel can be abused to
circumvent security mechanisms (tunnel hijacking)
❑ optimization of data paths, i.e. packets will be forwarded through
the tunnel via the HA to a sender (longer routes)
➢ The new standard is backwards compatible
❑ the extensions can be implemented easily
41
42. Mobile IP and IPv6
➢ Mobile IP was developed for IPv4, but IPv6 simplifies the
protocols
❑ security is integrated and not an add-on, authentication of
registration is included
❑ COA can be assigned via auto-configuration (DHCPv6 is one
candidate), every node has address autoconfiguration
❑ no need for a separate FA, all routers perform router
advertisement which can be used instead of the special agent
advertisement
❑ MN can signal a sender directly the COA, sending via HA not
needed in this case (automatic path optimization)
❑ „soft“ hand-over, i.e. without packet loss, between two subnets is
supported
MN sends the new COA to its old router
the old router encapsulates all incoming packets for the MN and forwards
them to the new COA
authentication is always granted
42
43. Problems with Mobile IP
➢ Security
❑ authentication with FA problematic, for the FA typically belongs to
another organization
❑ no protocol for key management and key distribution has been
standardized in the Internet
❑ patent and export restrictions
➢ Firewalls
❑ typically mobile IP cannot be used together with firewalls, special
set-ups are needed (such as reverse tunneling)
➢ QoS
❑ many new reservations in case of RSVP
❑ tunneling makes it hard to give a flow of packets a special treatment
needed for the QoS
➢ Security, firewalls, QoS etc. are topics of current research
and discussions!
43
44. Security in Mobile IP
➢ Security requirements (Security Architecture for the
Internet Protocol, RFC 1825)
❑ Integrity
any changes to data between sender and receiver can be detected
by the receiver
❑ Authentication
sender address is really the address of the sender and all data
received is really data sent by this sender
❑ Confidentiality
only sender and receiver can read the data
❑ Non-Repudiation
sender cannot deny sending of data
❑ Traffic Analysis
creation of traffic and user profiles should not be possible
❑ Replay Protection - receivers can detect replay of messages
44
45. not encrypted encrypted
IP security architecture 1/2
➢ Two or more partners have to negotiate security
mechanisms to setup a security association
❑ typically, all partners choose the same parameters and
mechanisms
➢ Two headers have been defined for securing IP packets:
❑ Authentication-Header
guarantees integrity and authenticity of IP packets
if asymmetric encryption schemes are used, non-repudiation can also be
guaranteed
❑ Encapsulation Security Payload
protects confidentiality between communication partners
Authentification-HeaderIP-Header UDP/TCP-Paketauthentication headerIP header UDP/TCP data
ESP headerIP header encrypted data
45
46. ➢ Mobile Security Association for registrations
❑ parameters for the mobile host (MH), home agent (HA), and foreign
agent (FA)
➢ Extensions of the IP security architecture
❑ extended authentication of registration
❑ prevention of replays of registrations
time stamps: 32 bit time stamps + 32 bit random number
responses: 32 bit random number (MH) + 32 bit random number (HA)
IP security architecture 2/2
registration reply
registration request
registration request
MH FA HA
registration reply
MH-HA authentication
MH-FA authentication FA-HA authentication
46
47. Key distribution
➢ Home agent distributes session keys
➢ foreign agent has a security association with the home
agent
➢ mobile host registers a new binding at the home agent
➢ home agent answers with a new session key for foreign
agent and mobile node
FA MH
HA
response:
EHA-FA {session key}
EHA-MH {session key}
47
48. DHCP: Dynamic Host Configuration Protocol
➢ Application
❑ simplification of installation and maintenance of networked
computers
❑ supplies systems with all necessary information, such as IP
address, DNS server address, domain name, subnet mask, default
router etc.
❑ enables automatic integration of systems into an Intranet or the
Internet, can be used to acquire a COA for Mobile IP
➢ Client/Server-Model
❑ the client sends via a MAC broadcast a request to the DHCP
server (might be via a DHCP relay)
client relay
clientserver
DHCPDISCOVER
DHCPDISCOVER
48
49. DHCP - protocol mechanisms
server
(not selected)
client server
(selected)initialization
collection of replies
selection of configuration
initialization completed
release
confirmation of
configuration
delete context
determine the
configuration
DHCPDISCOVER
DHCPOFFER
DHCPREQUEST
(reject)
DHCPACK
DHCPRELEASE
DHCPDISCOVER
DHCPOFFER
DHCPREQUEST
(options)
determine the
configuration
49
50. DHCP characteristics
➢ Server
❑ several servers can be configured for DHCP, coordination not
yet standardized (i.e., manual configuration)
➢ Renewal of configurations
❑ IP addresses have to be requested periodically, simplified
protocol
➢ Options
❑ available for routers, subnet mask, NTP (network time
protocol) timeserver, SLP (service location protocol) directory,
DNS (domain name system)
➢ Big security problems!
❑ no authentication of DHCP information specified
50
51. Ad hoc networks
➢ Standard Mobile IP needs an infrastructure
❑ Home Agent/Foreign Agent in the fixed network
❑ DNS, routing etc. are not designed for mobility
➢ Sometimes there is no infrastructure!
❑ remote areas, ad-hoc meetings, disaster areas
❑ cost can also be an argument against an infrastructure!
➢ Main topic: routing
❑ no default router available
❑ every node should be able to forward
A B C
51
52. Routing examples for an ad-hoc network
N1
N4
N2
N5
N3
N1
N4
N2
N5
N3
good link
weak link
time = t1 time = t2
52
53. Traditional routing algorithms
➢ Distance Vector
❑ periodic exchange of messages with all physical neighbors that
contain information about who can be reached at what distance
❑ selection of the shortest path if several paths available
➢ Link State
❑ periodic notification of all routers about the current state of all
physical links
❑ router get a complete picture of the network
➢ Example
❑ ARPA packet radio network (1973), DV-Routing
every 7.5s exchange of routing tables including link quality
updating of tables also by reception of packets
routing problems solved with limited flooding
53
54. Problems of traditional routing algorithms
➢ Dynamics of the topology
❑ frequent changes of connections, connection quality,
participants
➢ Limited performance of mobile systems
❑ periodic updates of routing tables need energy without
contributing to the transmission of user data, sleep modes
difficult to realize
❑ limited bandwidth of the system is reduced even more due to the
exchange of routing information
❑ links can be asymmetric, i.e., they can have a direction
dependent transmission quality
➢ Problem
❑ protocols have been designed for fixed networks with infrequent
changes and typically assume symmetric links
54
55. DSDV (Destination Sequenced Distance Vector)
➢ Expansion of distance vector routing
➢ Sequence numbers for all routing
updates
❑assures in-order execution of all updates
❑avoids loops and inconsistencies
➢ Decrease of update frequency
❑store time between first and best
announcement of a path
❑inhibit update if it seems to be unstable
(based on the stored time values)
55
56. Dynamic source routing I
➢ Split routing into discovering a path and maintaining a path
➢ Discover a path
❑ only if a path for sending packets to a certain destination is needed
and no path is currently available
➢ Maintaining a path
❑ only while the path is in use one has to make sure that it can be
used continuously
➢ No periodic updates needed!
➢ Path discovery
❑ broadcast a packet with destination address and unique ID
❑ if a station receives a broadcast packet
if the station is the receiver (i.e., has the correct destination address) then
return the packet to the sender (path was collected in the packet)
56
57. Dynamic source routing II
if the packet has already been received earlier (identified via ID) then discard
the packet
otherwise, append own address and broadcast packet
❑ sender receives packet with the current path (address list)
➢ Optimizations
❑ limit broadcasting if maximum diameter of the network is known
❑ caching of address lists (i.e. paths) with help of passing packets
stations can use the cached information for path discovery (own paths or
paths for other hosts)
➢ Maintaining paths
❑ after sending a packet
wait for a layer 2 acknowledgement (if applicable)
listen into the medium to detect if other stations forward the packet (if
possible)
request an explicit acknowledgement
❑ if a station encounters problems it can inform the sender of a packet or
look-up a new path locally
57
59. Interference-based routing
➢ Routing based on assumptions about interference
between signals
S1
N5
N3
N4
N1
N2
R1
R2N6
N8
S2
N9
N7
neighbors
(i.e. within radio range)
59
60. Examples for interference based routing
➢ Least Interference Routing (LIR)
❑ calculate the cost of a path based on the number of
stations that can receive a transmission
➢ Max-Min Residual Capacity Routing (MMRCR)
❑ calculate the cost of a path based on a probability
function of successful transmissions and interference
➢ Least Resistance Routing (LRR)
❑ calculate the cost of a path based on interference,
jamming and other transmissions
➢ LIR is very simple to implement, only information
from direct neighbors is necessary
60
62. IT6601 MOBILE COMPUTING
UNIT – IV
Dr.A.Kathirvel, Professor and Head, Dept of IT
Mrs. D. Anbarasi, Asst. Professor/IT
Anand Institute of Higher Technology, Chennai
63. Unit - IV
MOBILE AD-HOC NETWORKS
Ad-Hoc Basic Concepts – Characteristics – Applications –
Design Issues – Routing – Essential of Traditional Routing
Protocols – Popular Routing Protocols –
Vehicular Ad-Hoc networks ( VANET) – MANET Vs
VANET – Security
*Prasant Kumar Pattnaik, Rajib Mall, “Fundamentals of Mobile Computing”, PHI Learning Pvt. Ltd, New Delhi
2
64. Synopsis
Ad-Hoc Basic Concepts
Characteristics of MANETs
Applications of MANETs
MANET Design Issues
Routing
Essential of Traditional Routing Protocols
Popular Routing Protocols
Vehicular Ad-Hoc networks ( VANET)
MANET Vs VANET
Security
3
65. Ad-Hoc Basic Concepts
Multi-hop Wireless Networks (MHWNs)
It is defined as a collection of nodes that communicate
with each other wirelessly by using radio signals with a
shared common channel.
which forms a temporary network without the aid of
centralized administration or standard support devices
regularly available as conventional networks.
There are several names for MHWNs; it could be
called packet radio network, Ad-Hoc network or
mobile network.
4
66. Ad-Hoc Basic Concepts
Multi-hop Wireless Networks (MHWNs)
A mobile ad hoc network (MANET) is a continuously self-
configuring, infrastructure-less network of mobile devices
connected without wires.
A mobile ad-hoc network (MANET) is an ad-hoc network
but an ad-hoc network is not necessarily a MANET.
MHWNs
MHWNs MHWNs MHWNs
5
67. Types of MANET
Vehicular Ad hoc Networks (VANETs)
Smart Phone Ad hoc Networks (SPANs)
Internet based mobile ad hoc networks
(iMANETs)
Military / Tactical MANETs
6
69. Applications of MANET
Tactical networks
Emergency services
Commercial and civilian environments
Home and enterprise networking
Education
Entertainment
Sensor networks
Context aware services
Coverage extension
8
70. MANET Design Issues
Unpredictability of Environment
Unreliability of Wireless Medium
Resource-Constrained Nodes
Dynamic Topology
Transmission Errors
Node Failures
Link Failures
Route Breakages
Congested Nodes or Links
9
71. Routing
To find and maintain routes between nodes in a
dynamic topology with possibly uni-directional
links, using minimum resources.
Routing Protocols
Proactive protocols (table-based)
Traditional distributed shortest-path
protocols.
Based on periodic updates. High routing
overhead.
10
72. Routing
Reactive (on-demand) protocols
Discover routes whenever needed to
reduce routing overhead.
No route created a priori. It is created
in response to a need. But introduces
delay.
Source-initiated route discovery.
Hybrid protocols
11
73. Routing Algorithms
Objective of routing algorithms is to calculate
‘good’ routes
Routing algorithms for both datagrams and virtual
circuits should satisfy:
Correctness
Simplicity
Robustness
Stability
Optimality
Fairness
Impossible to satisfy everything at the same time
12
74. Elements of Routing Algorithms
Optimization Criteria
Number of Hops
Cost
Delay
Throughput
Decision Time
Once per session (VCs)
Once per packet (datagram)
Decision Place
Each node (distributed routing)
Central node (centralized routing)
Sending node (source routing)
13
75. Shortest-Path Routing
Routing algorithms generally use a shortest path
algorithm to calculate the route with the least cost.
Three components
Measurement Component: Nodes (routers)
measure the current characteristics such as delay,
throughput, and “cost”
Protocol: Nodes disseminate the measured
information to other nodes
Calculation: Nodes run a least-cost routing
algorithm to recalculate their routes
14
76. Traditional Routing Protocols
There are two basic approaches to least-cost
routing in a communication network
There are two basic approaches to shortest-
path routing
Link State Routing
Distance Vector Routing
15
77. Approaches to Shortest Path Routing
Link State Routing
Each node knows the distance to its neighbors
The distance information (=link state) is broadcast to all
nodes in the network
Each node calculates the routing tables independently
Distance Vector Routing
Each node knows the distance (=cost) to its directly connected
neighbors
A node sends a list to its neighbors with the current distances
to all nodes
If all nodes update their distances, the routing tables
eventually converge
16
78. Distance Vector
Each node maintains two tables:
Distance Table: Cost to each node via each
outgoing link
Routing Table: Minimum cost to each node and
next hop node
Nodes exchange messages that contain
information on the cost of a route
Reception of messages triggers recalculation
of routing table
17
79. Distance Vector Algorithm: Tables
l (v,w) cost of link (w,v)
C d(v,w) cost from v to d via w
Dd(v) minimum cost from v to d
to
Cd(v,n)Cd(v,w)
nw
n
v w d
l(v,w)
d
via
to
Dd(v)n
costvia
(next hop)
d
Distance Table RoutingTable
Note: In the figure,
Cd(v,w)<Cd(v,n) and,
therefore,
Dd(v) = Cd(v,n)
18
80. Distance Vector Routing
Entries of routing tables can change while a packet is
being transmitted. This can lead to a single datagram
visiting the same node more than once (Looping)
If the period for updating the routing tables is too
short, routing table entries are changed before
convergence (from the previous updates) is achieved
Example: The ARPANET used a Distance Vector
algorithm with an update period of <1 sec. Due to the
instability of routing, the ARPANET switched in
1979 to a link state routing algorithm
19
81. 20
Characteristics of DV Routing
Periodic Updates: Updates to the routing tables are sent at
the end of a certain time period. A typical value is 90
seconds.
Triggered Updates: If a metric changes on a link, a router
immediately sends out an update without waiting for the
end of the update period.
Full Routing Table Update: Most distance vector routing
protocol send their neighbors the entire routing table (not
only entries which change).
Route invalidation timers: Routing table entries are invalid
if they are not refreshed. A typical value is to invalidate an
entry if no update is received after 3-6 update periods.
82. 21
Distance Vector vs Link State Routing
With distance vector routing, each node has information only
about the next hop
Node A: to reach F go to B
Node B: to reach F go to D
Node D: to reach F go to E
Node E: go directly to F
Distance vector routing makes
poor routing decisions if
directions are not completely
correct
(e.g., because a node is down).
If parts of the directions incorrect, the routing may be incorrect until the routing
algorithms has re-converged.
A B C
D E F
83. 22
Distance Vector vs. Link State Routing
In link state routing, each node has a complete map of the
topology
If a node fails, each
node can calculate
the new route
Difficulty: All nodes need to
have a consistent view of the
network
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
A B C
D E F
84. Link State Routing
Each node must
discover its neighbors
measure the delay (=cost) to its neighbors
broadcast a packet with this information to all other
nodes
compute the shortest paths to every other router
The broadcast can be accomplished by flooding
The shortest paths can be computer with Dijkstra’s
algorithm
23
85. 24
Link State Routing: Basic principles
Each router establishes a relationship (“adjacency”) with
its neighbors
Each router generates link state advertisements (LSAs)
which are distributed to all routers
LSA = (link id, state of the link, cost, neighbors of
the link)
Each router maintains a database of all received LSAs
(topological database or link state database), which
describes the network has a graph with weighted edges
Each router uses its link state database to run a shortest
path algorithm (Dijikstra’s algorithm) to produce the
shortest path to each network
86. 25
Link State Routing: Properties
Each node requires complete topology
information
Link state information must be flooded to all
nodes
Guaranteed to converge
87. 26
Operation of a LSR Protocol
IP Routing
Table
Dijkstra’s
AlgorithmLink State
Database
LSAs are flooded
to other interfaces
Received
LSAs
88. 27
Dijkstra’s Shortest Path Algorithm
Input: Graph (N,E) with
N the set of nodes and E N × N the set of edges
dvw link cost (dvw = infinity if (v,w) E, dvv = 0)
s source node.
Output: Dn cost of the least-cost path from node s to node n
M = {s};
for each n M
Dn = dsn;
while (M all nodes) do
Find w M for which Dw = min{Dj ; j M};
Add w to M;
for each n M
Dn = minw [ Dn, Dw + dwn ];
Update route;
enddo
89. MANET vs. Traditional Routing
Every node is potentially a router in a MANET, while
most nodes in traditional wired networks do not route
packets
Nodes transmit and receive their own packets and, also,
forward packets for other nodes
Topologies are dynamic in MANETs due to mobile nodes,
but are relatively static in traditional networks
Routing in MANETs must consider both Layer 3 and
Layer 2 information, while traditional protocols rely on
Layer 3 information only
Link layer information can indicate connectivity and
interference
28
90. MANET vs. Traditional Routing
MANET topologies tend to have many more
redundant links than traditional networks.
A MANET “router” typically has a single
interface, while a traditional router has an
interface for each network to which it connects
Routed packet sent forward when transmitted, but
also sent to previous transmitter
Channel properties, including capacity and
error rates, are relatively static in traditional
networks, but may vary in MANETs
29
91. MANET vs. Traditional Routing
Interference is an issue in MANETs, but not in
traditional networks
Channels can be asymmetric with some Layer 2
technologies
Note that the IEEE 802.11 MAC assumes symmetric
channels
Power efficiency is an issue in MANETs, while it is
normally not an issue in traditional networks
MANETs may have gateways to fixed network, but
are typically •gstub networks,•h while traditional
networks can be stub networks or transit networks
30
92. MANET vs. Traditional Routing
There is limited physical security in a MANET
compared to a traditional network
Increased possibility of eavesdropping, spoofing,
and denial-of-security attacks
Traditional routing protocols for wired networks
do not work well in most MANETs
MANETs are too dynamic
Wireless links present problems of interference,
limited capacity, etc.
31
94. Popular Routing Protocols
Optimized Link State Routing Protocol (OLSR)
Destination Sequence Distance Vector(DSDV)
Ad hoc On-demand Distance Vector(AODV)
Dynamic Source Routing(DSR)
Flow-state in DSR
Power-Aware DSR-based
Cluster Based Routing Protocol
Fisheye State Routing protocol
Zone-based Hierarchical Link State Routing
Protocol
33
95. Destination Sequence Distance Vector
DSDV is Proactive (Table Driven)
Each node maintains routing information for
all known destinations
Routing information must be updated
periodically
Traffic overhead even if there is no change in
network topology
Maintains routes which are never used
Keep the simplicity of Distance Vector
34
96. Destination Sequence Distance Vector
Guarantee Loop Freeness
New Table Entry for Destination Sequence
Number
Allow fast reaction to topology changes
Make immediate route advertisement on
significant changes in routing table
but wait with advertising of unstable routes
(damping fluctuations)
35
97. DSDV (Table Entries)
Sequence number originated from destination.
Ensures loop freeness.
Install Time when entry was made (used to delete stale
entries from table)
Stable Data Pointer to a table holding information on
how stable a route is. Used to damp fluctuations in
network.
Destination Next Metric Seq. Nr Install Time Stable Data
A A 0 A-550 001000 Ptr_A
B B 1 B-102 001200 Ptr_B
C B 3 C-588 001200 Ptr_C
D B 4 D-312 001200 Ptr_D
36
98. DSDV (Route Advertisements)
Advertise to each neighbor own routing information
Destination Address
Metric = Number of Hops to Destination
Destination Sequence Number
Rules to set sequence number information
On each advertisement increase own destination
sequence number (use only even numbers)
If a node is no more reachable (timeout) increase
sequence number of this node by 1 (odd sequence
number) and set metric =
37
99. DSDV (Route Selection)
Update information is compared to own routing
table
Select route with higher destination sequence
number (This ensure to use always newest
information from destination)
Select the route with better metric when
sequence numbers are equal.
38
Dest. Next Metric Seq
A A 1 A-550
B B 0 B-100
C C 2 C-588
Dest. Next Metric Seq
A A 0 A-550
B B 1 B-100
C B 3 C-586
Dest. Next Metric Seq.
A B 1 A-550
B B 2 B-100
C C 0 C-588
A 1 2 CB
100. (A, 1, A-500)
(B, 0, B-102)
(C, 1, C-588)
(A, 1, A-500)
(B, 0, B-102)
(C, 1, C-588)
DSDV (Route Advertisement)
CBA
B increases Seq.Nr from 100 -> 102
B broadcasts routing information
to Neighbors A, C including
destination sequence numbers
Dest. Next Metric Seq
A A 0 A-550
B B 1 B-102
C B 2 C-588
Dest. Next Metric Seq
A A 1 A-550
B B 0 B-102
C C 1 C-588
Dest. Next Metric Seq.
A B 2 A-550
B B 1 B-102
C C 0 C-588
1 1
39
101. DSDV (Respond to Topology Changes)
Immediate advertisements
Information on new Routes, broken Links, metric
change is immediately propagated to neighbors.
Full/Incremental Update:
Full Update: Send all routing information from own
table.
Incremental Update: Send only entries that has
changed. (Make it fit into one single packet)
40
102. (D, 0, D-000)
DSDV (New Node)
CBA D
Dest. Next Metric Seq.
A A 0 A-550
B B 1 B-104
C B 2 C-590
Dest. Next Metric Seq.
A A 1 A-550
B B 0 B-104
C C 1 C-590
Dest. Next Metric Seq.
A B 2 A-550
B B 1 B-104
C C 0 C-590
D D 1 D-000
1. D broadcast for first time
Send Sequence number D-000
2. Insert entry for D with sequence
number D-000
Then immediately broadcast own
table
41
103. (A, 2, A-550)
(B, 1, B-102)
(C, 0, C-592)
(D, 1, D-000)
(A, 2, A-550)
(B, 1, B-102)
(C, 0, C-592)
(D, 1, D-000)
DSDV (New Node cont.)
CBA D
Dest. Next Metric Seq.
A A 1 A-550
B B 0 B-102
C C 1 C-592
D C 2 D-000
Dest. Next Metric Seq.
A A 0 A-550
B B 1 B-104
C B 2 C-590
Dest. Next Metric Seq.
A B 2 A-550
B B 1 B-102
C C 0 C-592
D D 1 D-000
………
………
3. C increases its sequence
number to C-592 then
broadcasts its new table.4. B gets this new information
and updates its table…….
42
104. (D, 2, D-100)(D, 2, D-100)
DSDV (No loops, No count to infinity)
CBA D
Dest.c Next Metric Seq.
… … …
D C 2 D-100
Dest. Next Metric Seq.
… … …
D B 3 D-100
Dest. Next Metric Seq.
… … …
D D D-101
1. Node C detects broken Link:
-> Increase Seq. Nr. by 1
(only case where not the destination
sets the sequence number -> odd
number)
2. B does its broadcast
-> no affect on C (C knows that B
has stale information because C has
higher seq. number for destination D)
-> no loop -> no count to infinity
43
105. (D, , D-101)(D, , D-101)
DSDV (Immediate Advertisement)
CBA D
Dest.c Next Metric Seq.
… … …
D C 3 D-100
Dest. Next Metric Seq.
… … …
D B 4 D-100
Dest. Next Metric Seq.
… … …
D B 1 D-100
Dest. Next Metric Seq.
… … …
D D 1 D-100
D D D-101
1. Node C detects broken Link:
-> Increase Seq. Nr. by 1
(only case where not the destination
sets the sequence number -> odd
number)
3. Immediate propagation
B to A:
(update information has higher
Seq. Nr. -> replace table entry)
2. Immediate propagation
C to B:
(update information has higher
Seq. Nr. -> replace table entry)
Dest.c Next Metric Seq.
… … … ...
D C 2 D-100
D C D-101
Dest. Next Metric Seq.
… … … ...
D B 3 D-100
D B D-101
44
106. DSDV (Problem of Fluctuations)
What are Fluctuations
Entry for D in A: [D, Q, 14, D-100]
D makes Broadcast with Seq. Nr. D-102
A receives from P Update (D, 15, D-102)
-> Entry for D in A: [D, P, 15, D-102]
A must propagate this route immediately.
A receives from Q Update (D, 14, D-102)
-> Entry for D in A: [D, Q, 14, D-102]
A must propagate this route immediately.
This can happen every time D or any other
node does its broadcast and lead to
unnecessary route advertisements in the
network, so called fluctuations.
A
D
QP
10 Hops11 Hops
(D,0,D-102)
45
107. DSDV (Damping Fluctuations)
How to damp fluctuations
Record last and avg. Settling Time of every
Route in a separate table. (Stable Data)
Settling Time = Time between arrival of
first route and the best route with a given
seq. nr.
A still must update his routing table on the
first arrival of a route with a newer seq. nr.,
but he can wait to advertising it. Time to
wait is proposed to be 2*(avg. Settling
Time).
Like this fluctuations in larger networks
can be damped to avoid unnecessary
advertisement, thus saving bandwidth.
46
A
D
QP
10 Hops11 Hops
(D,0,D-102)
108. DSR General
Route discovery
Is the mechanism by which a source
node S, obtains a route to a destination D
Used only when S attempt to send a
packet to D and does not already knows
a route to D
47
109. DSR General
Route maintainance
Is the mechanism by which source node S is
able to detect if the network topology has
changed and can no longer use its route to D
If S knows another route to D, use it
Else invoke route discovery process again to
find a new route
Used only when S wants to send a packet to D
48
110. DSR General
Each mechanism operate entirely on demand
DSR requires no periodic packets of any kind at
any level
Uni-directional and asymmetric routes support
(e.g. send a packet to a node D through a route
and receive a packet D from another route)
49
111. DSR Basic Route Discovery
When S wants to sent a packet to D
it places in the header of the packet a source route
giving the sequence of hops that the packet should
follow on its way to D
S obtains a suitable source route by searching its
route table
If no route found for D, S initiate the Route
Discovery protocol to dynamically find a new route
to D
50
112. DSR Basic Route Discovery
Sender
Broadcasts a Route Request Packet (RREQ)
RREQ contains a unique Request ID and the address of the
sender
Receiver
If this node is the destination node, or has route to the
destination send a Route Reply packet (RREP)
Else if is the source, drop the packet
Else if is already in the RREQ's route table,
drop the packet
Else append the node address in the RREQ's route table and
broadcast the updated RREQ
51
113. DSR Basic Route Discovery
U
D
Z
Y
W
S
V
S
D
Z
W
ZW
Source node
Destination node
Neighbor nodes
S sends
RREQ
RREQ packet
Id=2, {S}
Id=2, {S}
Id=2, {S, W}
Id=2, {S, Y}
Id=2, {S, Y}
Id=2, {S, W, Z}
52
114. DSR Basic Route Discovery
When a RREQ reaches the destination node, a RREP must be
sent back to source
The destination node
Examine its own Route Cache for a route back to source
If found, it use this route to send back the RREP
Else, the destination node starts a new Route Discovery process to
find a route towards source node
In protocols that require bi-directional links like 802.11, the reversed
route list of the RREQ packet can be used, in order to avoid the
second Route Discovery
53
115. DSR Basic Route Maintenance
Each node transmitting a packet
is responsible for confirming that the packet has been
received by the next hop along the source route
The confirmation it is done with a standard part of MAC
layer (e.g. Link-level ACKs in 802.11)
If none exists, a DSR-specific software takes the
responsibility to sent back an ACK
When retransmissions of a packet in a node reach a
maximum number, a Route Error Packet (RERR) is sent
from the node back to the source, identifying the broken
link
54
116. DSR Basic Route Maintenance
The source
Removes from the routing table the broken route
Retransmission of the original packet is a function of upper
layers (e.g. TCP)
It searches the routing table for another route, or start a
new Route Discovery process
55
117. (DSR) Basic Route Maintenance
U
D
Z
Y
W
S
V
S
D
Z
W
ZW
Source node
Destination node
Neighbor nodes
RERR packet
Link fails
Intermediate
node sents a
RERR
RERR(Z, D)
RERR(Z, D)
Route Table
D: S, W, Z, D
V: S, Y, V
56
118. AODV Overview
AODV is a packet routing protocol designed for use in
mobile ad hoc networks (MANET)
Intended for networks that may contain thousands of
nodes
One of a class of demand-driven protocols
The route discovery mechanism is invoked only if a
route to a destination is not known
UDP is the transport layer protocol
Source, destination and next hop are addressed using IP
addressing
Each node maintains a routing table that contains
information about reaching destination nodes.
Each entry is keyed to a destination node.
57
119. AODV Overview
Routing table size is minimized by only including next
hop information, not the entire route to a destination
node.
Sequence numbers for both destination and source are
used.
Managing the sequence number is the key to efficient
routing and route maintenance
Sequence numbers are used to indicate the relative
freshness of routing information
Updated by an originating node, e.g., at initiation of
route discovery or a route reply.
Observed by other nodes to determine freshness.
58
120. AODV Overview
The basic message set consists of:
RREQ – Route request
RREP – Route reply
RERR – Route error
HELLO – For link status monitoring
59
121. Routing Table Fields
Destination IP address
Destination Sequence Number
Valid Destination Sequence Number Flag
Other state and routing flags
Network Interface
Hop Count (needed to reach destination)
Next Hop
Precursor List
Lifetime (route expiration or deletion time)
60
122. AODV Operation – Message Types
RREQ Messages
While communication routes between nodes are valid,
AODV does not play any role.
A RREQ message is broadcasted when a node needs to
discover a route to a destination.
As a RREQ propagates through the network,
intermediate nodes use it to update their routing tables
(in the direction of the source node).
The RREQ also contains the most recent sequence
number for the destination.
A valid destination route must have a sequence
number at least as great as that contained in the RREQ.
61
124. AODV Operation – Message Types
RREP Messages
When a RREQ reaches a destination node, the
destination route is made available by unicasting a RREP
back to the source route.
A node generates a RREP if:
It is itself the destination.
It has an active route to the destination. Ex: an
intermediate node may also respond with an RREP if
it has a “fresh enough” route to the destination.
As the RREP propagates back to the source node,
intermediate nodes update their routing tables (in the
direction of the destination node).
63
126. AODV Operation – Message Types
RERR Messages
This message is broadcast for broken links
Generated directly by a node or passed on when
received from another node
Hello Messages
Hello Message = RREP with TTL = 1
This message is used for broadcasting connectivity
information.
A node should use Hello messages only if it is part
of an active route.
65
128. Congestion Handling
One method that AODV handle congestion is:
If the source node receives no RREP from the
destination, it may broadcast another RREQ, up to
a maximum of RREQ_RETRIES.
For each additional attempt that a source node
tried to broadcast RREQ, the waiting time for the
RREP is multiplied by 2.
DSR is not capable of handling congestion.
67
129. Congestion Handling
Other possible methods to improve AODV
congestion handling:
A route may predict when congestion is about
to occur and try to avoid it by reduce the
transmission rate.
Schedule the requests so that it will not
overload the network.
68
130. AODV Routing
There are two phases
Route Discovery
Route Maintenance
Each node maintains a routing table with
knowledge about the network.
AODV deals with route table management.
Route information maintained even for short lived
routes – reverse pointers.
69
131. Entries in Routing Table
Destination IP Address
Destination Sequence Number
Valid Destination Sequence Number flag
Other state and routing flags (e.g., valid, invalid, repairable,
being repaired)
Network Interface
Hop Count (number of hops needed to reach destination)
Next Hop
List of Precursors
Lifetime (expiration or deletion time of the route)
DSR maintains additional table entries, causing a larger
memory overhead
70
132. Discovery
Broadcast RREQ messages.
Intermediate nodes update their routing table
Forward the RREQ if it is not the destination.
Maintain back-pointer to the originator.
Destination generates RREQ message.
RREQ sent back to source using the reverse pointer
set up by the intermediate nodes.
RREQ reaches destination, communication starts.
71
133. Algorithm for Discovery
@Originator: If a route to the destination is available, start
sending data. Else generate a RREQ packet. Increment the
RREQID by 1. Increment the sequence number by
1.Destination IP address, currently available sequence
number included.
@Intermediate Node: Generate route reply, if a 'fresh
enough' route is a valid route entry for the destination
whose associated sequence number is at least as great as
that contained in the RREQ. Change the sequence number
of the destination node if stale, increment the hop count by
1 and forward.
@Destination: 1.Increment sequence number of the
destination. 2.Generate a RREQ message and sent back to
Originator.
72
135. Maintenance
Hello messages broadcast by active nodes periodically
HELLO_INTERVAL.
No hello message from a neighbor in
DELETE_PERIOD, link failure identified.
A local route repair to that next hop initiated.
After a timeout ,error propagated both to originator and
destination.
Entries based on the node invalidated.
74
136. Information “Freshness” Assured
Each originating node maintains a monotonically
increasing sequence number.
Used by other nodes to determine the freshness of the
information.
Every nodes routing table contains the latest
information available about the sequence number for
the IP address of the destination node for which the
routing information is maintained.
Updated whenever a node receives new information
about the sequence number from RREQ, RREP, or
RERR messages received related to that destination.
75
137. Information “Freshness” Assured
AODV depends on each node in the network to own and
maintain its destination sequence number.
A destination node increments its own sequence number
immediately before it originates a route discovery
A destination node increments its own sequence number
immediately before it originates a RREP in response to a
RREQ
The node treats its sequence number as an unsigned
number when incrementing accomplishing sequence
number rollover.
Destination information is assured by comparing the
sequence number of the incoming AODV message with
its sequence number for that destination.
76
138. RERR Messages
Message is broadcasted when
A node detects that a link with adjacent
neighbor is broken (destination no longer
reachable).
If it gets a data packet destined to a node
for which it does not have an active route
and is not repairing.
If it receives a RERR from a neighbor for
one or more active routes.
77
139. RERR Processing
Build Affected Destination Listing
I. List unreachable destinations containing
unreachable neighbor & destination using
unreachable as next hop
II. Only one unreachable destination, which
node already has.
III. List of nodes where RERR is next hop
Update information
Transmit RERR for each item listed
78
140. RERR – information update
Destination Sequence #
Update sequence # for case i and ii
Copy sequence # for case iii
Invalidate route entry
Update Lifetime field as (current time +
DELETE_PERIOD)
Only now may route entry be deleted
79
141. RERR message transmission
Unicast
A node detects that a link with adjacent neighbor is
broken (destination no longer reachable).
Send RERR to single recipient
If it gets a data packet destined to a node for which it
does not have an active route and is not repairing.
If it receives a RERR from a neighbor for one or more
active routes.
Unicast iterative
Send RERR to a number of recipients individually
Broadcast
Notify multiple recipients simultaneously
Broadcast via 255.255.255.255 TTL = 1
80
142. 81
A Combined Protocol
It is possible to exploit the good features of
both reactive and proactive protcols and the
Zone routing protocol does that.
The proactive part of the protocol is restricted
to a small neighbourhood of a node and the
reactive part is used for routing across the
network.
This reduces latency in route discovery and
reduces the number of control messages as
well.
143. 82
Routing Zones
Each node S in the network has a routing
zone. This is the proactive zone for S as S
collects information about its routing zone in
the manner of the DSDV protocol.
If the radius of the routing zone is k, each node
in the zone can be reached within k hops from
S.
The minimum distance of a peripheral node
from S is k (the radius).
145. 84
Nodes in a Routing Zone
The coverage of a node´s trasmitter is the set
of nodes in direct communication with the
node. These are also called neighbours.
In other words, the neighbours of a node are
the nodes which are one hop away.
For S, if the radius of the routing zone is k,
the zone includes all the nodes which are k-
hops away.
146. 85
Neighbour Discovery Protocol
Like other ad hoc routing protocols, each node
executes ZRP to know its current neighbours.
Each node transmits a hello message at regular
intervals to all nodes within its transmission
range.
If a node P does not receive a hello message
from a previously known neighbour Q, P
removes Q from its list of neighbours.
147. 86
Basic Strategy in ZRP
The routing in ZRP is divided into two parts
Intrazone routing : First, the packet is sent within
the routing zone of the source node to reach the
peripheral nodes.
Interzone routing : Then the packet is sent from
the peripheral nodes towards the destination node.
S
D
148. 87
Intrazone Routing
Each node collects information about all
the nodes in its routing zone proactively.
This strategy is similar to a proactive
protocol like DSDV.
Each node maintains a routing table for its
routing zone, so that it can find a route to
any node in the routing zone from this
table.
149. 88
Intrazone Routing
In the original ZRP proposal, intrazone routing
is done by maintaining a link state table at
each node.
Each node periodically broadcasts a message
similar to a hello message kwon as a zone
notification message.
Suppose the zone radius is k for k>1
150. 89
Zone Notification Message
A hello message dies after one hop, i.e., after
reaching a node´s neighbours.
A zone notification mesage dies after k hops,
i.e., after reaching the node´s neighbours at a
distance of k hops.
Each node receiving this message decreases
the hop count of the message by 1 and
forwards the message to its neighbours.
151. 90#
Keeping Track of Nodes in a Routing Zone
The message is not forwarded any more when
the hop count is 0.
Each node P keeps track of its neighbour Q
from whom it received the message through an
entry in its link state table.
P can keep track of all the nodes in its routing
zone through its link state table.
152. 91#
ZRP: Example with Zone Radius K= 2
S
CA
E
F
B
D
S performs route
discovery for D
Denotes route request
153. 92#
S
CA
E
F
B
D
S performs route
discovery for D
Denotes route reply
E knows route from E to D,
so route request need not be
forwarded to D from E
ZRP: Example with Zone Radius K= 2
155. 94#
Interzone Routing
The interzone routing discovers routes to the
destination reactively.
Consider a source (S) and a destination (D).
If D is within the routing zone of S, the
routing is completed in the intrazone routing
phase.
Otherwise, S sends the packet to the
peripheral nodes of its zone through
bordercasting.
156. 95#
Bordercasting
The bordercasting to peripheral nodes can be
done mainly in two ways
By maintaining a multicast tree for the
peripheral nodes. S is the root of this tree.
Otherwise, S maintains complete routing
table for its zone and routes the packet to
the peripheral nodes by consulting this
routing table.
157. 96#
Interzone Route Discovery
S sends a route request (RREQ) message to
the peripheral nodes of its zone through
bordercasting.
Each peripheral node P executes the same
algorithm.
First, P checks whether the destination D is
within its routing zone and if so, sends the
packet to D.
Otherwise, P sends the packet to the peripheral
nodes of its routing zone through bordercasting.
159. 98#
Route Reply in Interzone Routing
If a node P finds that the destination D is
within its routing zone, P can initiate a route
reply.
Each node appends its address to the RREQ
message during the route request phase. This
is similar to route request phase in DSR.
This accumulated address can be used to send
the route reply (RREP) back to the source
node S.
160. 99#
Route Reply in Interzone Routing
An alternative strategy is to keep forward and
backward links at every node´s routing table
similar to the AODV protocol. This helps in
keeping the packet size constant.
A RREQ usually results in more than one
RREP and ZRP keeps track of more than one
path between S and D. An alternative path is
chosen in case one path is broken.
161. 100#
Route Maintenance
When there is a broken link along an active
path between S and D, a local path repair
procedure is initiated.
A broken link is always within the routing
zone of some node.
A
B
162. 101#
Route Maintenance
Hence, repairing a broken link requires
establishing a new path between two nodes
within a routing zone.
The repair is done by the starting node of the
link (node A in the previous diagram) by
sending a route repair message to node B
within its routing zone.
This is like a RREQ message from A with B as
the destination.
163. 102#
How to Prevent Flooding of the Network
Interzone routing may generate many copies of
the same RREQ message if not directed
correctly.
The RREQ should be steered towards the
destination or towards previously unexplored
regions of the network.
Otherwise, the same RREQ message may
reach the same nodes many times, causing the
flooding of the network.
164. 103#
Routing Zones Overlap Heavily
Since each node has its own routing zone,
the routing zones of neighbouring nodes
overlap heavily.
Since each peripheral node of a zone
forwards the RREQ message, the message
can reach the same node multiple times
without proper control.
Each node may forward the same RREQ
multiple times.
165. Guiding the Search in InterZone Routing
The search explores new regions of the network.
104#
166. 105#
Query Forwarding and Termination Strategy
When a node P receives a RREQ message, P
records the message in its list of RREQ
messages that it has received.
If P receives the same RREQ more than
once, it does not forward the RREQ the
second time onwards.
Also P can keep track of passing RREQ
messages in several different ways.
167. 106#
Termination Strategies
In the promiscuous mode of operation
according to IEEE 802.11 standards, a node
can overhear passing traffic.
Also, a node may act as a routing node
during bordercasting in the intrazone routing
phase.
Whenever P receives a RREQ message
through any of these means, it remembers
which routing zone the message is meant for.
168. 107#
Termination Strategies
Suppose P has a list of nodes A, B,C,...,N such
that the RREQ message has already arrived in
the routing zones of the nodes A, B, C, ...,N.
Now P receives a request to forward a RREQ
message from another node Q.
This may happen when P is a peripheral node
for the routing zone of Q.
169. 108
Early Termination of Unnecessary RREQs
P receives a RREQ from Q since P is a peripheral
node for the routing zone of Q.
P does not bordercast the RREQ to A,B,...,N but
only to X which is not in its list.
P
QA
B
C
N
X
170. Evaluation of ZRP
When the radius of the routing zone is 1, the
behaviour of ZRP is like a pure reactive
protocol, for example, like DSR.
When the radius of the routing zone is
infinity (or the diameter of the network),
ZRP behaves like a pure proactive protocol,
for example, like DSDV.
The optimal zone radius depends on node
mobility and route query rates.
109
171. Control Traffic
Control traffic generated by a protocol is the
number of overhead packets generated due to
route discovery requests.
In ZRP, control traffic is generated due to
interzone and intrazone routing.
Hello messages transmitted for neighbour
discovery are not considered as control
traffic since mobility has no effect on it.
110
172. 111#
Control Traffic for Intrazone Routing
In the intrazone routing, each node needs to
construct the bordercast tree for its zone.
With a zone radius of r, this requires
complete exchange of information over a
distance of 2r-1 hops.
For unbounded networks with a uniform
distribution of nodes, this results in O( )
intrazone control traffic.
2
r
173. Control Traffic for Intrazone Routing
However, for a bounded network, the
dependence is lower than
There is no intrazone control traffic when
r=1.
The intrazone control traffic grows fast in
practice with increase in zone radius. So,
it is important to keep the zone radius
small.
2
r
112
174. Control Traffic for Interzone Routing
When the zone radius is 1, the control traffic is
maximum since ZRP degenerates into flood
search.
In other words, every RREQ message
potentially floods the entire network. This is
due to the fact that all the neighbours of a node
n are its peripheral nodes.
However, control traffic drops considerably
even if the zone radius is just 2.
113
175. Control Traffic for Interzone Routing
The control traffic can be reduced drastically
with early query termination, when a RREQ
message is prevented from going to the same
region of the network multiple times.
However, the amount of control traffic
depends both on node mobility and query rate.
The performance of ZRP is measured by
compairing control traffic with call-to-mobility
(CMR) ratio.
114
176. Control Traffic for Interzone Routing
The call-to-mobility ratio (CMR) is the ratio of
route query rate to node speed.
As CMR increases, the number of control
messages is reduced by increasing the radius
of the routing zones.
This is because, it is easier to maintain larger
routing zones if mobility is low. Hence, route
discovery traffic also reduces.
115
177. Control Traffic for Interzone Routing
On the other hand, CMR is low if mobility is
high.
In such a case, the routing zone maintenance
becomes very costly and smaller routing zones
are better for reducing control traffic.
An optimally configured ZRP for a CMR of
500 [query/km] produces 70% less traffic than
flood searching.
116
178. Route Query Response Time
For a fixed CMR, the route query response
time decreases initially with increased zone
radius.
However, after a certain radius, the response
time increases with zone radius.
This is due to the fact that the network takes
longer time to settle even with small changes
in large routing zones.
117
179. Expected advantages from multicast
routing
Providing efficient bandwidth
Reducing communication cost
Efficient delivery of data
Supporting dynamic topology
118
180. Technical constraints for multicast
routing
Minimizing network load
Providing basic support for reliable
transmission
Designing optimal routes
Providing robustness, efficiency, and
adaptability
119
182. Examples of tree-based protocols
Multicast Ad hoc On-Demand Distance Vector
(MAODV) routing protocol
Extends AODV to offer multicast capabilities
Builds shared multicast trees on-demand to
connect group members
Capable of unicast, broadcast, and multicast
Associativity based Multicast (ABAM) routing
protocol
Constructed in an attempt to reduce
communication overhead and end-to-end delay
121
183. An example of mesh-based protocols
On-Demand Multicast Routing Protocol (ODMRP)
ODMRP is based on a mesh structure for connecting
multicast members using the concept of forwarding
group nodes.
When a data packet reaches a multicast receiver, the
receiver creates a Join-Table and broadcasts it to the
neighbors.
Each group member propagates the Join-Table until it
reaches the multicast source via the shortest path.
This process constructs and updates the routes from the
source to the receiver, creating a mesh of nodes.
122
184. VANETs
A VANET (Vehicular Ad hoc NETwork) is a special kind
of MANET in which packets are exchanged between
mobile nodes (vehicles) traveling on constrained paths
123
185. Inter-vehicle communication (IVC)
Systems
IVC systems are completely infrastructure-free; only
onboard units (OBUs) sometimes also called in-vehicle
equipment (IVE) are needed.
Single-hop and multi-hop IVCs (SIVCs and MIVCs).
SIVC systems are useful for applications requiring
short-range communications (e.g., lane merging,
automatic cruise control)
MIVC systems are more complex than SIVCs but can
also support applications that require long-range
communications (e.g., traffic monitoring)
124
187. Roadside-to-Vehicle Communication
(RVC) Systems
RVC systems assume that all communications
take place between roadside infrastructure
(including roadside units [RSUs]) and OBUs.
Depending on the application, two different
types of infrastructure can be distinguished
Sparse RVC (SRVC) system
Ubiquitous RVC (URVC) system
126
188. RVC Systems –SRVC
SRVC systems are capable of providing
communication services at hot spots.
A busy intersection scheduling its traffic light, a
gas station advertising its existence (and prices),
and parking availability at an airport, are
examples of applications requiring an SRVC
system.
An SRVC system can be deployed gradually,
thus not requiring substantial investments before
any available benefits.
127
189. RVC Systems -URVC
A URVC system : providing all roads with
high-speed communication would enable
applications unavailable with any of the other
systems.
Unfortunately, a URVC system may require
considerable investments for providing full
(even significant) coverage of existing
roadways (especially in large countries like
the United States)
128
190. Hybrid Vehicular Communication
(HVC) Systems
HVC systems are proposed for extending the range of
RVC systems.
In HVC systems vehicles communicate with roadside
infrastructure even when they are not in direct wireless
range by using other vehicles as mobile routers.
An HVC system enables the same applications as an
RVC system with a larger transmission range.
The main advantage is that it requires less roadside
infrastructure. However, one disadvantage is that
network connectivity may not be guaranteed in
scenarios with low vehicle density.
129
191. IVC vs. MANET
MANETs are wireless multihop networks that lack
infrastructure, and are decentralized and self-organizing
IVC systems satisfy all these requirements, and are therefore a
special class of MANETs
There are several characteristics that differentiate IVCs from
the common assumptions made in the MANET literature:
Applications
Addressing
Rate of Link Changes
Mobility Model
Energy Efficiency
130
192. IVC vs. MANET
Applications
While most MANET articles do not address
specific applications, the common assumption in
MANET literature is that MANET applications are
identical (or similar) to those enabled by the
Internet.
In contrast, as we show later, IVCs have
completely different applications. An important
consequence of the difference in the applications is
the difference in the addressing modes.
131
193. IVC vs. MANET
Addressing
Faithful to the Internet model, MANET applications
require point-to-point (unicast) with fixed addressing;
that is, the recipient of a message is another node in the
network specified by its IP address.
IVC applications often require dissemination of the
messages to many nodes (multicast) that satisfy some
geographical constraints and possibly other criteria
(e.g., direction of movement). The need for this
addressing mode requires a significantly different
routing paradigm.
132
194. IVC vs. MANET
Rate of Link Changes
In MANETs, the nodes are assumed to have
moderate mobility. This assumption allows MANET
routing protocols (e.g., Ad Hoc On Demand
Distance Vector, AODV) to establish end-to-end
paths that are valid for a reasonable amount of time
and only occasionally need repairs.
In IVC applications, it is shown that due to the high
degree of mobility of the nodes involved, even
multi-hop paths that only use nodes moving in the
same direction on a highway have a lifetime
comparable to the time needed to discover the path.
133
195. IVC vs. MANET
Mobility Model
In MANETs, the random waypoint (RWP) is (by
far) the most commonly employed mobility model.
However, for IVC systems, most existing literature
recognized that RWP would be a very poor
approximation of real vehicular mobility; instead,
detailed vehicular traffic simulators are used.
Energy Efficiency
While in MANETs a significant body of literature
is concerned with power-efficient protocols, IVC
enjoys a practically unlimited power supply.
134
196. VANETs
Like MANETs:
They self-organize over an evolving topology
They may rely on multi-hop communications
They can work without the support of a fixed
infrastructure
Unlike MANETs:
They have been conceived for a different set of
applications
They move at higher speeds (0-40 m/s)
They do not have battery and storage constraints
135
197. VANETs
Communication modes:
Vehicle-to-Vehicle (V2V) among vehicles
Vehicle-to-Infrastructure (V2I), between vehicles and
Road-Side Units (RSUs)
Vehicle-to-X (V2X), mixed V2V-V2I approach
V2V
V2I
V2V
V2I
RSU
RSU
136
198. VANETs Applications
Active Road-Safety Applications
To avoid the risk of car accidents: e.g., cooperative collision
warning, pre-crash sensing, lane change, traffic violation
warning
Traffic efficiency and management applications
To optimize flows of vehicles: e.g., enhanced route
guidance/navigation, traffic light optimal scheduling, lane
merging assistance
Comfort and Infotainment applications
To provide the driver with information support and
entertainment: e.g., point of interest notification, media
downloading, map download and update, parking access,
media streaming, voice over IP, multiplayer gaming, web
browsing, social networking
137
199. VANETs
VANETs applications exhibit very
heterogeneous requirements
Safety applications require reliable, low-latency,
and efficient message dissemination
Non-safety applications have very different
communication requirements, from no special
real-time requirements of traveler information
support applications, to guaranteed Quality-of-
Service needs of multimedia and interactive
entertainment applications
138
200. Connectivity in VANETs
There are three primary models for
interconnecting vehicles based on
Network infrastructure
Inter-vehicle communications
Hybrid configuration
139
201. Connectivity in VANETs
Network infrastructure
Vehicles connect to a centralized server or a backbone
network such as the Internet, through the road-side
infrastructure, e.g., cellular base stations, IEEE 802.11
Access Points, IEEE 802.11p RSUs
140
202. Connectivity in VANETs
Inter-vehicle communications
Use of direct ad-hoc connectivity among vehicles via
multihop for applications requiring long-range
communications (e.g., traffic monitoring), as well as
short-range communications (e.g., lane merging)
141
203. Connectivity in VANETs
Hybrid configuration
Use of a combination of V2V and V2I. Vehicles in
range directly connect to the road-side infrastructure,
while exploit multi-hop connectivity otherwise
142
204. Connectivity in VANETs
Vehicles’ connectivity is determined by a
combination of several factors, like:
Space and time dynamics of moving vehicles
(i.e., vehicle density and speed)
Density of RSUs
Radio communication range
Connectivity
Communication
range
RSU
Vehicular
scenario
• Urban
• Highway
Market
penetration
Vehicle
density/speed
Time of day
143
205. Improving Connectivity in VANETs
• Opportunistic approaches for connectivity
support in VANETs
– Opportunistic contacts, both among vehicles and from
vehicles to available RSUs, can be used to instantiate
and sustain both safety and non-safety applications
• Opportunistic forwarding is the main technique
adopted in DTN
– In VANETs, bridging technique links the
partitioning that exists between clusters traveling in
the same direction of the roadway
144
206. Improving Connectivity in VANETs
The use of a vehicular grid together with an
opportunistic infrastructure placed on the roads
guarantees seamless connectivity in dynamic
vehicular scenarios
Hybrid communication paradigms for vehicular
networking are used to limit intermittent connectivity
Vehicle-to-X (V2X) works in heterogeneous
scenarios, where overlapping wireless networks
partially cover the vehicular grid. It relies on the
concept of multi-hop communication path
145
207. Improving Connectivity in VANETs
Different connectivity phases
Phase 1 (No connectivity)
A vehicle is traveling alone in the vehicular grid (totally-
disconnected traffic scenario). The vehicles are completely
disconnected
Phase 2 (Short-range connectivity)
A vehicle is traveling in the vehicular grid and forming a
cluster with other vehicles. Only V2V connectivity is
available
Phase 3 (Long-range connectivity)
A vehicle is traveling in the vehicular grid with available
neighboring RSUs. Only V2I connectivity is assumed to be
available
146
211. SECURITY
A major issue in Mobile ad-hoc network is
“SECURITY”.
Two approaches in protecting mobile ad-
hoc networks
Reactive approach: Seeks to detect security
threats and react accordingly.
Proactive approach: Attempts to prevent an
attacker from launching attacks through various
cryptographic techniques.
150
213. Issues Contd..
Secure multicasting: Is a communication method where
a single data packet can be transmitted from a sender and
replicated to a set of receivers.
Secure routing: Most MANET routing protocols are
vulnerable to attacks that can freeze the whole network.
Need some solutions that work even if some nodes
compromised.
Privacy-aware Routing: Building routing protocols that
prevent intermediate nodes from performing traffic
analysis.
Schemes for minimizing size of crypto-tags( digital
signatures) are needed.
152
214. Issues Contd..
Key Management
security goals in MANET are mainly achieved
through trusted Certificate Authority (CA)
compromised CA can easily damage the entire
network.
Intrusion detection and response schemes:
Anomaly detection is difficult in MANETs
(ex: types of attacks and their source).
collaborative IDS schemes are needed.
153
216. Authentication: A node must know the identity of the peer node it
is communicating with. Without authentication, an attacker could
gain sensitive information and interfere with other nodes
Confidentiality: Ensures certain information is never disclosed to
unauthorized entities.
Integrity: Message being transmitted is never corrupted.
Non-Repudiation: The sender cannot later deny sending the
information and the receiver cannot deny the reception.
Availability: Nodes should be available for communication at all
times. A node need continue to provide services despite attacks.
E.g.: Key management service.
Detection and Isolation: Require the protocol can identify
misbehaving nodes and render them unable to interfere with
routing.
Security Goals
155
217. IDS-MANET
IDS: Intrusion detection System which is used to detect and report
the malicious activity in ad hoc networks.
Ex: Detecting critical nodes using IDS
Intrusion Detection System (IDS) can collect and analyze audit data
for the entire network.
Critical node is a node whose failure or malicious behavior
disconnects or significantly degrades the performance of the
network.
Packets may be dropped due to network congestion or because a
malicious node is not faithfully executing a routing algorithm.
Researchers have proposed a number of collaborative IDS systems.
Some of the schemes are neighbor-monitoring, trust-building, and
cluster-based voting schemes which are used to detect and report
the malicious activity in ad hoc networks.
156