You are on page 1of 160

Dr.

Vishnu Kumar Kaliappan CS8601 – Mobile Computing

“CS8601-MOBILE COMPUTING ”

Unit 3- MOBILE NETWORK LAYER

Ref: Jochen Schiller, ―Mobile Communications‖, PHI, Second Edition, 1


2003.
CS8601 – Mobile Computing

Outline
• 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

January 4, 2024 KPR Institute of Engineering and Technology 2


CS8601 – Mobile Computing

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
CS8601 – Mobile Computing

What is Mobile IP?


• Mobile IP provides network layer mobility
• Provides seamless roaming
• ‘‘Extends’’ the home network over the entire Internet
CS8601 – Mobile Computing

IP Overview
• What is IP Address
• An IP address is a unique global address for a network interface
• An IP address:
• is a 32 bit long identifier
• encodes a network number(network prefix) and a host number
CS8601 – Mobile Computing

IP Addresses
CS8601 – Mobile Computing

Dotted Decimal Notation


• IP addresses are written in a so-called dotted decimal
notation
• Each byte is identified by a decimal number in the range
[0..255]:

• Example:
10000000 10001111 10001001 10010000
1st Byte 2nd Byte 3rd Byte 4th Byte
= 128 = 143 = 137 = 144

128.143.137.144
CS8601 – Mobile Computing

Network prefix and Host number


• The network prefix identifies a network and the host number identifies a
specific host (actually, interface on the network).

network prefix host number

• How do we know how long the network prefix is?


• The network prefix used to be implicitly defined (class-based addressing,
A,B,C,D…)
• The network prefix now is flexible and is indicated by a prefix/netmask (classless).
CS8601 – Mobile Computing

Example
Example: kpriet.ac.in
• IP address is 208.91.199.121
• Is that enough??? -> No, need netmask or prefix
• Using Prefix notation IP address is: 208.91.199.121/16
• Network prefix is 16 bits long

• Network mask is: 255.255.0.0 or hex format: ffff0000

-----> Network id (IP address AND Netmask) is: 208.91.0.0


-----> Host number (IP address AND inverse of Netmask) is: 199.121
208.91 199.121
CS8601 – Mobile Computing

Subnetting
• Problem: Organizations have
multiple groups/entities within their
organization which are independently
managed. Each would prefer to KPR Network
manage their own IT facilities, i.e.,
own network ENGINEERING MILL -ARASUR
• Solution 1: Allocate to each entity
their own IP network/domain
• Organization must own
multiple IP address domains MILL-CBE
• Expensive (each IP domain
costs money) and
cumbersome to manage
• Solution 2: Add another level of
hierarchy to the existing IP Subnetting
addressing structure
CS8601 – Mobile Computing

Basic Idea of Subnetting


• Split the host number portion of an IP address into a
subnet number and a (smaller) host number.
• Result is a 3-layer hierarchy
network prefix host number

network prefix subnet number host number

extended network prefix

• Then:
• Subnets can be freely assigned within the organization
• Internally, subnets are treated as separate networks
• Subnet structure is not visible outside the organization
CS8601 – Mobile Computing

Using Host IDs to Subnet

140 15 1 0
Subnet 1
Class B Network

140 15 2 0
140 15 0 0
Subnet 2

140 15 3 0

Subnet 3
Third octet is now used for subnet IDs
CS8601 – Mobile Computing

Subnet Configuration

Subnet ID

140 15 1 0

140 15 1 1 ….. 140 15 1 254

First Host ID Last Host ID


CS8601 – Mobile Computing

Routing of Traffic

140.15.1.0 1

140.15.0.0 Routing
140.15.2.0 2

Outside world
140.15.3.0 3

Subnets
CS8601 – Mobile Computing

Advantages of Subnetting
• With subnetting, IP addresses use a N-layer hierarchy. E.g., a 3 layer hierarchy
would be:
• Network (IP domain)
• Subnet
• Host

• Improves efficiency of IP addresses by not consuming an entire address space for


each physical network.

• Reduces router complexity. Since external routers do not know about subnetting,
the complexity of routing tables at external routers is reduced.

• Note: Length of the subnet mask need not be identical at all subnetworks.
CS8601 – Mobile Computing

Subnetting Example
CS8601 – Mobile Computing

Network without subnets


CS8601 – Mobile Computing

Same Network with Subnets


CS8601 – Mobile Computing

Same network with different subnetmasks


CS8601 – Mobile Computing

Subnetting Example
• An organization with 4 departments has the following IP
address space: 10.2.22.0/23. As the systems manager, you
are required to create subnets to accommodate the IT
needs of 4 departments. The subnets have to support to
200, 61, 55, and 41 hosts respectively. What are the 4
subnet network numbers?

• Solution:
• 10.2.22.0/24 (256 addresses > 200)
• 10.2.23.0/26 (64 addresses >61)
• 10.2.23.64/26 (64 addresses > 55)
• 10.2.23.128/26 (64 addresses > 41)
CS8601 – Mobile Computing

Overview of Mobile IP
• Routing q based on IP destination address, q network prefix (e.g.
129.13.42) determines physical subnet q change of physical subnet =>
change of IP address to have a topological correct address (standard
IP) Solution: Temporarily change routing table entries for mobile host
q Problem: does not scale if many mobile hosts or frequent location
changes Solution: Change mobile host IP-address q adjust the host IP
address depending on the current location q DNS updates take to long
time q Old TCP connections break
CS8601 – Mobile Computing

Overview of Mobile IP
• 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.
CS8601 – Mobile Computing

Cntd…
• 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 mobile
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.
CS8601 – Mobile Computing

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
CS8601 – Mobile Computing

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 every time 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!).
CS8601 – Mobile Computing

Requirements to 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
CS8601 – Mobile Computing

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
CS8601 – Mobile Computing

Properties of COA
• A care-of address is an IP address associated with mobile node that is visiting a
foreign link:
• A care-of address is specific to the foreign link currently being visited by a mobile node
• Generally changes every time the mobile node moves from one foreign link to another

• No Mobile IP-specific procedures are needed in order to deliver packets to a


care-of address

• Is used as the exit-point of a tunnel from the home agent toward the mobile
node

• Is never returned by DNS when another node looks up the mobile node’s hostname
CS8601 – Mobile Computing

COA
CS8601 – Mobile Computing

Types of COA
• A foreign agent care-of address is an IP address of a foreign agent
which has an interface on the foreign link being visited by a mobile
node. Can be shared by many mobile nodes simultaneously

• A collocated care-of address is an IP address temporarily assigned


to an interface of the mobile node itself. The network-prefix of a
collocated care-of address must equal the network-prefix that has been
assigned to the foreign link being visited by a mobile node. This type of
c/o address might be used by mobile node in situations where no
foreign agents are available on a foreign link. A collocated c/o address
can be used by only one mobile node at a time
CS8601 – Mobile Computing

Features of Mobile IP
• Allows a host to be reachable at the same address, even as it
changes its location
• makes it seem as one network extends over the entire Internet
• continuous connectivity, seamless roaming even while network
applications are running
• fully transparent to the user
CS8601 – Mobile Computing

Example network
CS8601 – Mobile Computing

Key Mechanism in Mobile IP


• Home Agents and Foreign Agents advertise their presence on any attached links by
periodically multicasting or broadcasting special Mobile IP messages called Agent
Advertisements

• Mobile Nodes listen to these Agent Advertisements and examine their contents
to determine whether they are connected to their home link or a foreign link

• A Mobile Node connected to a foreign link acquires a care-of address. A foreign


agent care-of address can be read from one of the fields within the foreign agent’s
Agent Advertisement. A collocated care-of address must be acquired by some
assignment procedure, such as Dynamic Host Configuration Protocol (DHCP),
the Point-to-Point Protocol’s IP Control Protocol (IPCP), or manual configuration
CS8601 – Mobile Computing

Data transfer to the mobile system


CS8601 – Mobile Computing

Data transfer from the mobile system


CS8601 – Mobile Computing

Key Mechanism in Mobile IP

• The mobile IP Registers the care-of address acquired previously with its
home agent, using a message-exchange defined by Mobile IP. It asks for
service from a Foreign agent, if one is present on the link. In order to
prevent Denial-of-Service attacks, the registration messages are required to be
authenticated

• The Home Agent or some other router on the home link advertises
reachability to the network-prefix of the Mobile Node’s home address, thus
attracting packets that are destined to the Mobile Node’s home address. The
Home Agent intercepts these packets, and tunnels them to the care-of address
that the mobile node registered previously
CS8601 – Mobile Computing

Cntd…
• At the care-of address – at either the Foreign Agent or one of
the interfaces of the mobile node itself – the original packet is
extracted from the tunnel and then delivered to the Mobile Node

• In the reverse direction, packets sent by the Mobile Node are


routed directly to their destination, without any need for tunneling.
The Foreign Agent serves as a default router for all packets generated
by visiting node
CS8601 – Mobile Computing

Route Optimization
• 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 correspondent 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.
CS8601 – Mobile Computing

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
CS8601 – Mobile Computing

Change of foreign agent


CS8601 – Mobile Computing

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 every time it moves.
• Solution: reverse tunneling
CS8601 – Mobile Computing

Reverse tunneling
CS8601 – Mobile Computing

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 avoid 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
CS8601 – Mobile Computing

DHCP Protocol Mechanisms


Server (not selected) Client Server (selected)
Sent on Ethernet
DHCP DISC. DHCP DISC.
broadcast address

DHCPOF FER
FE R DHCPOF
Client selects
DHCP REQ.
Collects repliesDHCP REQ. configuration;
Also broadcast
in DCHP REQ
CK
DHCPA it accepts one
server’s offer
Initialization Complete (server identifier
option)
release
and implicitly
DHCPRELEASE reject rest
Discard context
CS8601 – Mobile Computing

Some Statistics

Worldwide subscribers of different mobile Development of different generations of


phone technologies mobile telecommunication systems

January 4, 2024 Ref: Jochen Schiller, ―Mobile Communications‖, PHI, Second Edition, 45
2003.
CS8601 – Mobile Computing

Routing on Ad-hoc networks


Common objective:
Route packets along the optimal path

– Routing protocols adapt to changing network conditions and by definition


offers multi-hop paths
– Routing protocols differ in route table
 construction Proactive Protocols
 maintenance • have lower latency due to maintenance of routes
at all times
 update • can result in much higher overhead due to
frequent route updates

Reactive Protocols
• higher latency since the routes have to be
discovered when the source node initiates a
route request
• lower overhead since routes are maintained only
on-demand basis
CS8601 – Mobile Computing

Ad Hoc Routing Protocols Overview

Ad hoc Routing Protocols

Table Driven Hybrid Source-Initiated


(Proactive) On-demand Driven
(Reactive)
ZRP

CGSR DSDV WRP


AODV DSR TORA ABR SSR
CS8601 – Mobile Computing

Essentials of routing protocols


• Next-hop routing protocols can be categorized as:
– Link-state
– Distance-vector
CS8601 – Mobile Computing

Link state protocols (LSP)


– Traditional link-state protocols may not be suitable
– Closer to centralized version of shortest-path algorithm
– Each node maintains a view of network topology with a cost for each
link
– Link costs are broadcast periodically to keep the views consistent
– Each node updates its view and applies a shortest-path algorithm to find
its next hop for each destination (Dijkstra 1959)
– Routing loops may occur due to propagation delays, partitioned
networks, and so on
– Alternative link-state routing approaches may not require all nodes to
have the identical link-state information and route selection algorithms
and may find routes on demand
CS8601 – Mobile Computing

Example
u v
1
¥ ¥
10
2 3 9
s 0 4 6
7
5
¥ 2 ¥

x y
CS8601 – Mobile Computing

Example
u v

10 1 ¥
10
9
2 3
s 0 4 6

7
5
5 ¥
2
x y
CS8601 – Mobile Computing

Example
u v
1
8 14
10
2 3 9
s 0 4 6

7
5
5 7
2
x y
CS8601 – Mobile Computing

Example
u v

8
1 13
10
2 3 9
s 0 4 6

7
5
5 7
2
x y
CS8601 – Mobile Computing

Example
u v
1
8 9
10
2 3 9
s 0 4 6

7
5
5 7
2
x y
CS8601 – Mobile Computing

Example
u v
1
8 9
10
2 3 9
s 0 4 6
7
5
5 7
2
x y
CS8601 – Mobile Computing

Dijkstra algorithm

Ref: Wikipedia
CS8601 – Mobile Computing

Distance Vector Approach


• Based on shortest-path routing algorithms i.e., Distributed Bellman-Ford.

• DBF algorithms are also known as Distance-Vector (DV)

• Vector - Distance and Direction


• Distance – number of hopes between the two nodes
• Direction – next hop router to which the packets need to forwarded.
• For each destination, the node stores a single route table entry along with next-hop
neighbor

• Route table entry for destination contains metric which is distance from node to the
destination and also the next-hop (vector) towards destination
CS8601 – Mobile Computing

Bellman-Ford Algorithm
Example
t 5 x
-2
6 ¥ ¥
-3
s 8
0 -4 7
2
7
¥ 9 ¥
y z
CS8601 – Mobile Computing

Bellman-Ford Algorithm
Example
t 5 x
-2
6 6 ¥
-3
s 8
0 -4 7
2
7
7 9 ¥
y z
CS8601 – Mobile Computing

Bellman-Ford Algorithm
Example
t 5 x
-2
6 6 4
-3
s 8
0 -4 7
2
7
7 9 2
y z
CS8601 – Mobile Computing

Bellman-Ford Algorithm
Example
t 5 x
-2
6 2 4
-3
s 8
0 -4 7
2
7
7 9 2
y z
CS8601 – Mobile Computing

Bellman-Ford Algorithm
Example
t 5 x
-2
6 2 4
-3
s 8
0 -4 7
2
7
7 9 -2
y z
CS8601 – Mobile Computing

Distance Vector (Tables)

1 2
A B C
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 3
B B 1 B B 0 B B 2
C B 3 C C 2 C C 0
CS8601 – Mobile Computing

Distance Vector (Update)

B broadcasts the new routing


information to his neighbors

Routing table
is updated (A, 1) (A, 1)
(B, 0) (B, 0)
(C, 1) (C, 1)

1 1
A B C
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 3 2
B B 1 B B 0 B B 1
C B 3 2 C C 1 C C 0
CS8601 – Mobile Computing

Distance Vector (New Node)


broadcasts to update
tables of C, B, A with
new entry for D

(A, 1) (A, 2)
(B, 0) (B, 1)
(C, 1) (C, 0)
(D, 2) (D, 1) (D, 0)

1 1 1
A B C D
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 2
B B 1 B B 0 B B 1
C B 2 C C 1 C C 0
D B 3 D C 2 D D 1
CS8601 – Mobile Computing

Distance Vector (Broken Link)

1 1 1
A B C D
Dest. Next Metric … Dest.c Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3 D C 2 D B
D 1
CS8601 – Mobile Computing

Distance Vector (Loops)

(D, 2) (D, 2)

1 1 1
A B C D
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3 D C 2 D B 3
CS8601 – Mobile Computing

Distance Vector (Count to Infinity)

(D,5)

(D,4) (D,4)

(D,3)

(D,2) (D,2)

1 1 1
A B C D
Dest. Next Metric … Dest.c Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3, 5, … D C 2, 4, 6… D B 3, 5, …
CS8601 – Mobile Computing

Distance Vector
• DV not suited for ad-hoc networks!
• Loops
• Count to Infinity

• New Solution -> DSDV Protocol


CS8601 – Mobile Computing
CS8601 – Mobile Computing

Popular MANET Routing Protocols

Ad hoc Routing Protocols

Table Driven Hybrid Source-Initiated


(Proactive) On-demand Driven
(Reactive)
ZRP

CGSR DSDV WRP


AODV DSR TORA ABR SSR
CS8601 – Mobile Computing

Destination Sequenced Distance Vector


Routing Protocol (DSDV)

– Based on classical distributed Bellman-Ford routing mechanism


– Routing loops in a mobile network have been eliminated
– Each node has a routing table (all possible destinations within network, and number of
routing hops to each destination)
– A sequence numbering system to distinguish stale routes from new ones and assigned by the
destination node
– Routing table updates are sent periodically
– High volumes of control traffic meaning an inefficient utilization of network resources
CS8601 – Mobile Computing

DSDV Protocol
• Keep the simplicity of 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)
CS8601 – Mobile Computing

DSDV (Table Entries)


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

• 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.
CS8601 – Mobile Computing

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 = 
CS8601 – Mobile Computing

DSDV (Tables)
• Update information is compared to own routing table
– 1. Select route with higher destination sequence
number (This ensure to use always newest
information from destination)
– 2. Select the route with better metric when
sequence numbers are equal.

A 1 B 2 C
Dest. Next Metric Seq Dest. Next Metric Seq Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 1 A-550
B B 1 B-100 B B 0 B-100 B B 2 B-100
C B 3 C-586 C C 2 C-588 C C 0 C-588
CS8601 – Mobile Computing

DSDV (Route Advertisement)


B increases Seq.Nr from 100 -> 102

B broadcasts routing information to Neighbors A, C including destination


sequence numbers

(A, 1, A-500) (A, 1, A-500)


(B, 0, B-102) (B, 0, B-102)
(C, 1, C-588) (C, 1, C-588)

A 1 B 1 C
Dest. Next Metric Seq Dest. Next Metric Seq Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-102 B B 0 B-102 B B 1 B-102
C B 2 C-588 C C 1 C-588 C C 0 C-588
CS8601 – Mobile Computing

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)
CS8601 – Mobile Computing

DSDV (New Node)


2. Insert entry for D with sequence
number D-000
Then immediately broadcast own
table 1. D broadcast for first time
Send Sequence number D-000

(D, 0, D-000)

A B C D
Dest. Next Metric Seq. Dest. Next Metric Seq. Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-104 B B 0 B-104 B B 1 B-104
C B 2 C-590 C C 1 C-590 C C 0 C-590
D D 1 D-000
CS8601 – Mobile Computing

DSDV (New Node cont.)


3. C increases its sequence number
to C-592 then broadcasts its new
4. B gets this new information and table.
updates its table…….

(A, 2, A-550) (A, 2, A-550)


(B, 1, B-102) (B, 1, B-102)
(C, 0, C-592) (C, 0, C-592)
(D, 1, D-000) (D, 1, D-000)

A B C D
Dest. Next Metric Seq. Dest. Next Metric Seq. Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-104 B B 0 B-102 B B 1 B-102
C B 2 C-590 C C 1 C-592 C C 0 C-592
D C 2 D-000 D D 1 D-000
CS8601 – Mobile Computing

DSDV (no loops, no count to infinity)

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 1. Node C detects broken Link:
-> Increase Seq. Nr. by 1
(only case where not the destination
sets the sequence number -> odd
number)
(D, 2, D-100) (D, 2, D-100)

A B C D
Dest. Next Metric Seq. Dest.c Next Metric Seq. Dest. Next Metric Seq.
… … … … … … … … …
D B 3 D-100 D C 2 D-100 D D  D-101
CS8601 – Mobile Computing

DSDV (Immediate Advertisement)


3. Immediate propagation 2. Immediate propagation
B to A: C to B:
(update information has higher (update information has higher
Seq. Nr. -> replace table entry) Seq. Nr. -> replace table entry)
1. Node C detects broken Link:
-> Increase Seq. Nr. by 1
(only case where not the destination
sets the sequence number -> odd
number)
(D, , D-101) (D, , D-101)

A B C D
Dest. Next Metric Seq. Dest.c Next Metric Seq. Dest. Next Metric Seq.
… … … ... … … … ... … … …
D B 4
3 D-100 D C 3
2 D-100 D B
D 1 D-100
D B  D-101 D C  D-101 D D  D-101
CS8601 – Mobile Computing

Popular MANET Routing Protocols

Ad hoc Routing Protocols

Table Driven Hybrid Source-Initiated


(Proactive) On-demand Driven
(Reactive)
ZRP

CGSR DSDV WRP


AODV DSR TORA ABR SSR
CS8601 – Mobile Computing

Dynamic Source Routing (DSR)


Johnson and Maltz, 1996

• When node S wants to send a packet to node D, but does not know a
route to D, node S initiates a route discovery

• Source node S floods Route Request (RREQ)

• Each node appends own identifier when forwarding RREQ


CS8601 – Mobile Computing

Route Discovery in DSR


Y

Z
S E
F
B
C M L
J
A G
H D
K
I N

Represents a node that has received RREQ for D from S


CS8601 – Mobile Computing

Route Discovery in DSR


Broadcast transmission Y

[S] Z
S E
F
B
C M L
J
A G
H D
K
I N

Represents transmission of RREQ


[X,Y] Represents list of identifiers appended to RREQ
CS8601 – Mobile Computing

Route Discovery in DSR


Y

Z
S [S,E]
E
F
B
C M L
J
A [S,C] G
H D
K
I N

• Node H receives packet RREQ from two neighbors:


potential for collision
CS8601 – Mobile Computing

Route Discovery in DSR


Y

Z
S E
F [S,E,F]
B
C M L
J
A G
H D
[S,C,G] K
I N

• Node C receives RREQ from G and H, but does not forward


it again, because node C has already forwarded RREQ once
CS8601 – Mobile Computing

Route Discovery in DSR


Y

Z
S E
F [S,E,F,J]
B
C M L
J
A G
H D
K
I [S,C,G,K] N

• Nodes J and K both broadcast RREQ to node D


• Since nodes J and K are hidden from each other, their
transmissions may collide
CS8601 – Mobile Computing

Route Discovery in DSR


Y

Z
S E
[S,E,F,J,M]
F
B
C M L
J
A G
H D
K
I N

• Node D does not forward RREQ, because node D


is the intended target of the route discovery
CS8601 – Mobile Computing

Route Discovery in DSR

• Destination D on receiving the first RREQ, sends a Route Reply (RREP)

• RREP is sent on a route obtained by reversing the route appended to


received RREQ

• RREP includes the route from S to D on which RREQ was received by


node D
CS8601 – Mobile Computing

Route Reply in DSR


Y

Z
S RREP [S,E,F,J,D]
E
F
B
C M L
J
A G
H D
K
I N

Represents RREP control message


CS8601 – Mobile Computing

Route Reply in DSR


• Route Reply can be sent by reversing the route in Route Request (RREQ) only if
links are guaranteed to be bi-directional
• To ensure this, RREQ should be forwarded only if it
received on a link that is known to be bi-directional

• If unidirectional (asymmetric) links are allowed, then RREP may need a route
discovery for S from node D
• Unless node D already knows a route to node S
• If a route discovery is initiated by D for a route to S,
then the Route Reply is piggybacked on the Route
Request from D.

• If IEEE 802.11 MAC is used to send data, then links have to be bi-directional
(since Ack is used)
CS8601 – Mobile Computing

Dynamic Source Routing (DSR)

• Node S on receiving RREP, caches the route included in the RREP

• When node S sends a data packet to D, the entire route is included in


the packet header
• hence the name source routing

• Intermediate nodes use the source route included in a packet to


determine to whom a packet should be forwarded
CS8601 – Mobile Computing

Data Delivery in DSR


Y

DATA [S,E,F,J,D] Z
S E
F
B
C M L
J
A G
H D
K
I N

Packet header size grows with route length


CS8601 – Mobile Computing

When to Perform a Route Discovery

• When node S wants to send data to node D, but does not know a
valid route node D
CS8601 – Mobile Computing

DSR Optimization: Route Caching


• Each node caches a new route it learns by any means
• When node S finds route [S,E,F,J,D] to node D, node S also learns route [S,E,F] to
node F
• When node K receives Route Request [S,C,G] destined for node, node K learns route
[K,G,C,S] to node S
• When node F forwards Route Reply RREP [S,E,F,J,D], node F learns route [F,J,D] to
node D
• When node E forwards Data [S,E,F,J,D] it learns route [E,F,J,D] to node D
• A node may also learn a route when it overhears Data packets
© 2001 Nitin Vaidya
CS8601 – Mobile Computing

Use of Route Caching

• When node S learns that a route to node D is broken, it uses another route
from its local cache, if such a route to D exists in its cache. Otherwise, node S
initiates route discovery by sending a route request

• Node X on receiving a Route Request for some node D can send a Route
Reply if node X knows a route to node D

• Use of route cache


• can speed up route discovery
• can reduce propagation of route requests
CS8601 – Mobile Computing

Use of Route Caching


[S,E,F,J,D]
[E,F,J,D]
S E [F,J,D],[F,E,S]
F [J,F,E,S]
B
C M L
J
A [C,S] G
H [G,C,S] D
K
I N

[P,Q,R] Represents cached route at a node


(DSR maintains the cached routes in a tree format)
CS8601 – Mobile Computing

Use of Route Caching:


Can Speed up Route Discovery
[S,E,F,J,D]
[E,F,J,D]
S E [F,J,D],[F,E,S]
F [J,F,E,S]
B
C [G,C,S] M L
J
A [C,S] G
H D
[K,G,C,S] K
I RREP N
RREQ
When node Z sends a route request Z
for node C, node K sends back a route
reply [Z,K,G,C] to node Z using a locally
cached route
CS8601 – Mobile Computing

Use of Route Caching:


Can Reduce Propagation of Route Requests
[S,E,F,J,D] Y
[E,F,J,D]
S E [F,J,D],[F,E,S]
F [J,F,E,S]
B
C [G,C,S] M L
J
A [C,S] G
H D
[K,G,C,S] K
I RREP N
RREQ
Z
Assume that there is no link between D and Z.
Route Reply (RREP) from node K limits flooding of RREQ.
In general, the reduction may be less dramatic.
CS8601 – Mobile Computing

Route Error (RERR) Y

RERR [J-D] Z
S E
F
B
C M L
J
A G
H D
K
I N

J sends a route error to S along route J-F-E-S when its attempt to forward the
data packet S (with route SEFJD) on J-D fails

Nodes hearing RERR update their route cache to remove link J-D
CS8601 – Mobile Computing

Route Caching: Beware!


• Stale caches can adversely affect performance

• With passage of time and host mobility, cached routes may become
invalid

• A sender host may try several stale routes (obtained from local cache,
or replied from cache by other nodes), before finding a good route
CS8601 – Mobile Computing

Dynamic Source Routing: Advantages

• Routes maintained only between nodes who need to communicate


• reduces overhead of route maintenance

• Route caching can further reduce route discovery overhead

• A single route discovery may yield many routes to the destination,


due to intermediate nodes replying from local caches
CS8601 – Mobile Computing

Dynamic Source Routing: Disadvantages


• Packet header size grows with route length due to source routing

• Flood of route requests may potentially reach all nodes in the network

• Care must be taken to avoid collisions between route requests propagated by


neighboring nodes
• insertion of random delays before forwarding RREQ

• Increased contention if too many route replies come back due to nodes replying using
their local cache
• Route Reply Storm problem
• Reply storm may be eased by preventing a node from sending
RREP if it hears another RREP with a shorter route
CS8601 – Mobile Computing

Dynamic Source Routing: Disadvantages

• An intermediate node may send Route Reply using a


stale cached route, thus polluting other caches

• This problem can be eased if some mechanism to purge


(potentially) invalid cached routes is incorporated.

• For some proposals for cache invalidation, see [Hu+


2000]
• Static timeouts
• Adaptive timeouts based on link stability
CS8601 – Mobile Computing

Popular MANET Routing Protocols

Ad hoc Routing Protocols

Table Driven Hybrid Source-Initiated


(Proactive) On-demand Driven
(Reactive)
ZRP

CGSR DSDV WRP


AODV DSR TORA ABR SSR
CS8601 – Mobile Computing

AODV : Concept
Perkins 2001

• Reactive routing
• Pure on-demand route acquisition system
• The routes are created when needed, so called “on-demand”
• A broadcast route discovery mechanism
• RREQ (Route Request packet) broadcasting to find a route
• RREP (Route Reply packet) is used to set up forward path
• Dynamic establishment of route table entries
• Nodes lie on active paths only maintain routing information
• Destination sequence number
• Prevention of routing loops
• Avoidance of old and broken routes
• Maintenance of timer-based states
• A routing table entry is expired if not used recently
CS8601 – Mobile Computing

AODV : Mechanism
• Path discovery
Every node maintains two separate counters
• Sequence number
• Broadcast-id (increments whenever the suorce issues a new RREQ)
• The source requests using RREQ broadcasting
• <source_addr, source_sequence#, broadcast_id, dest_addr,
dest_sequence#, hop_cnt>
• Destination number of RREQ is the last known number to the source
• The destination replies using RREP (Route Reply) unicasting
• <source_addr, dest_addr, dest_sequence#, hop_cnt, lifetime>
• The sequence number is first incremented if it is equal to the number in
the request
• RREP contains the current sequence number, hop count = 0, full lifetime
• Intermediate nodes
• Discard duplicate requests
• Replies if it has an active route with higher destination sequence number
• Otherwise broadcasts the request on all interfaces
CS8601 – Mobile Computing

AODV : Mechanism
• Path discovery
• Intermediate nodes
• Setup reverse path
• A node records the address of the neighbor who send RREQ
• Keep track of some information
• Destination IP address, Source Ip address, Broadcast_id, Expiration
time for reverse path route entry, Source node’s sequence number
• Setup forward path
• Unicast RREP (Route reply) back to the reverse path
• Each node along the path sets up a forward pointer to the node from
which the RREP came
• Update its routing table entry
• Propagate the first RREP or the RREP if contains a greater destination
sequence# or the same sequence# with a smaller hop count then
contained in RREQ
• Nodes that are not along the path determined by the RREP will
timeout and will delete the reverse pointers
CS8601 – Mobile Computing

Example

A L
Y
F
J
B K

D
G P
S C

E
H I T
Z

RREQ
CS8601 – Mobile Computing

Example

A L
Y
F
J
B K

D
G P
S C

E
H I T
Z

Reverse
Path Setup
CS8601 – Mobile Computing

Example

A L
Y
F
J
B K

D
G P
S C

E
H I T
Z
CS8601 – Mobile Computing

Example

A L
Y
F
J
B K

D
G P
S C

E
H I T
Z
CS8601 – Mobile Computing

Example

A L
Y
F
J
B K

D
G P
S C

E
H I T
Z

RREP
CS8601 – Mobile Computing

Example

A L
Y
F
J
B K

D
G P
S C

E
H I T
Z

Forward
path setup
CS8601 – Mobile Computing

Example

A L
Y
F
J
B K

D
G P
S C

E
H I T
Z
CS8601 – Mobile Computing

Example

A L
Y
F
J
B K

D
G P
S C

E
H I T
Z
CS8601 – Mobile Computing

Example

A L
Y
F
J
B K

D
G P
S C

E
H I T
Z
CS8601 – Mobile Computing

AODV
• Route table management
• Soft-state associated with the entry (useful information stored in route table
management):
• Route request expiration time (purpose of this timer is to erase reverse path routing
entries from those nodes that do not lie on the path)
• Route caching timeout (or the time after which the route is considered to be invalid)
• Active route timeout (this information is maintained so that all active source nodes can
be notified when a link breaks)
• A neighbor is considered active if it originates or relays at least one packet to the
destination
CS8601 – Mobile Computing

AODV
• Path maintenance
• Neighboring nodes with active routes periodically exchange hello messages
• If a next hop link in the routing table fails, the active neighbors are informed
• The RERR (unsolicited RREP) indicates the unreachable destinations
• <source_addr, dest_addr, current sequence# + 1, infinity, lifetime>
• The source performs a new route request when it receives a RERR
CS8601 – Mobile Computing

Popular MANET Routing Protocols

Ad hoc Routing Protocols

Table Driven Hybrid Source-Initiated


(Proactive) On-demand Driven
(Reactive)
ZRP

CGSR DSDV WRP


AODV DSR TORA ABR SSR
CS8601 – Mobile Computing

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).


CS8601 – Mobile Computing

A Routing Zone
K L

A
B
I
G
S
C E
D

• All nodes except L are in the routing zone of S with radius 2.


CS8601 – Mobile Computing

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.
CS8601 – Mobile Computing

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.
CS8601 – Mobile Computing

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
CS8601 – Mobile Computing

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.
CS8601 – Mobile Computing

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


CS8601 – Mobile Computing

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.
CS8601 – Mobile Computing

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.
CS8601 – Mobile Computing

ZRP: Example with


Zone Radius = K = 2
S performs route
discovery for D

B
S
A C
D
E
F

Denotes route request


CS8601 – Mobile Computing

ZRP: Example with K = 2


S performs route
discovery for D

B
S
A C
D
E
F

E knows route from E to D,


Denotes route reply so route request need not be
forwarded to D from E
CS8601 – Mobile Computing

ZRP: Example with K = 2


S performs route
discovery for D

B
S
A C
D
E
F

Denotes route taken by Data


CS8601 – Mobile Computing

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.
CS8601 – Mobile Computing

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.
CS8601 – Mobile Computing

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.
CS8601 – Mobile Computing

An Example of Interzone Routing


A

S C
B

D H
CS8601 – Mobile Computing

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.
CS8601 – Mobile Computing

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.
CS8601 – Mobile Computing

Multicast routing protocol for MANET

What is Multicast?
• “Point-to-multipoint" or "multipoint-to-multipoint“
• Different from broadcast and unicast

Broadcast Multicast Unicast


CS8601 – Mobile Computing

Advantages of Multicast
• Delivery to destinations simultaneously
• Deliver the messages over each link of the network only once
• only create copies when the links to the destinations split
CS8601 – Mobile Computing

Types of Multicast Routing


• Tree-based
• One path between a source-receiver pair
• AMRoute, AMRIS, MAODV
• Mash-based
• Multiple paths between a source-receiver pair
• ODMRP, CAMP
• Hybrid
• Zone Routing Protocol (ZRP)
CS8601 – Mobile Computing

VANET
• Definition:

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
CS8601 – Mobile Computing

MANET Vs VANET
• 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
CS8601 – Mobile Computing

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
RSU
V2I V2I

V2V

RSU
CS8601 – Mobile Computing

What is a VANET
(Vehicular Ad hoc NETwork)?

Roadside
base station

Emergency
event

Inter-vehicle
communications

Vehicle-to-roadside
communications
CS8601 – Mobile Computing

Why Vehicular Networks?


• Safety
• On US highways (2004):
• 42,800 Fatalities, 2.8 Million Injuries
• ~$230.6 Billion cost to society
• Combat the awful side-effects of road traffic
• In the EU, around 40’000 people die yearly on the roads; more than 1.5 millions are
injured
• Traffic jams generate a tremendous waste of time and of fuel
• Most of these problems can be solved by providing appropriate information
to the driver or to the vehicle
CS8601 – Mobile Computing

• Efficiency
• Traffic jams waste time and fuel
• In 2003, US drivers lost a total of 3.5 billion hours and 5.7 billion gallons of
fuel to traffic congestion
• Profit
• Safety features and high-tech devices have become product differentiators
CS8601 – Mobile Computing

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
CS8601 – Mobile Computing

Examples
CS8601 – Mobile Computing

Emergence of Vehicular Networks


• In 1999, US’ FCC allocated 5.850-5.925 GHz band to
promote safe and efficient highways
• Intended for vehicle-to-vehicle and vehicle-to-infrastructure
communication
• EU’s Car2Car Consortium has prototypes in March 2006
• http://www.car-to-car.org/
• Radio standard for Dedicated Short-Range
Communications (DSRC)
• Based on an extension of 802.11
CS8601 – Mobile Computing

OBU for each equipped vehicle


(Assumptions)
• A central processing unit (CPU) that implements the applications and
communication protocols
• A wireless transceiver that transmits and receives data to/from the neighboring
vehicles and roadside
• A GPS receiver that provides relatively accurate positioning and time
synchronization information
• Appropriate sensors to measure the various parameters that have to be
measured and eventually transmitted
• An input/output interface that allows human interaction with the system
CS8601 – Mobile Computing

A Modern Vehicle
Event data recorder (EDR)

Positioning system (GPS)


Forward radar

Communication
facility

Rear radar

Human-Machine Interface Display Computing platform

A modern vehicle is a network of sensors/actuators on wheels !


CS8601 – Mobile Computing

Applications for VANETs


• Public Safety Applications
• Traffic Management Applications
• Traffic Coordination and Assistance Applications
• Traveler Information Support Applications
• Comfort Applications
• Air pollution emission measurement and reduction
• Law enforcement
• Broadband services
CS8601 – Mobile Computing

Applications (details)
• Congestion detection • Border clearance
• Road conditions warning • Adaptive cruise control
• Collision alert • Drive-through payment
• Stoplight assistant • Merge assistance
• Emergency vehicle
• warning
• Deceleration warning
• Toll collection
CS8601 – Mobile Computing

Congestion Detection
• Vehicles detect congestion when:
• # Vehicles > Threshold 1
• Speed < Threshold 2
• Relay congestion information
• Hop-by-hop message forwarding
• Other vehicles can choose alternate routes
CS8601 – Mobile Computing

Congestion Detection
CS8601 – Mobile Computing

Deceleration Warning
• Prevent pile-ups when a vehicle decelerates rapidly
CS8601 – Mobile Computing

Contact info

Summary and QA linkedin.com/in/dr-vishnu-kumar-kaliappan-a0109019

vishnudms@gmail.com

Thank you

January 4, 2024 KPR Institute of Engineering and Technology 160

You might also like