Download Lecture 13: Mobile Ad Hoc Networks

Document related concepts

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

CAN bus wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Routing wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
Lecture 13:
Mobile Ad Hoc Networks
Contents






Introduction
Ad-Hoc typical applications
Characteristics and requirements
Routing Protocols
Ad-Hoc performance
Conclusion
2
Introduction
 Two types of wireless networks:
 Infrastructured network:
base stations are the bridges
a mobile host will communicate with
the nearest base station
handoff is taken when a host roams
from one base to another
3
 Ad hoc network:
 infrastructureless: no fixed base stations
 without the assistance of base stations for
communication
 Due to transmission range constraint,
 two MHs need multi-hop routing for
communication
 quickly and unpredictably changing
topology
4
 Infrastructured network
5
 MANET = Mobile Ad Hoc Networks




a set of mobile hosts, each with a transceiver
no base stations; no fixed network infrastructure
multi-hop communication
needs a routing protocol which can handle changing
topology
6
 Single-Hop Ad Hoc
7
 Multi-hop Ad Hoc
8
 Single-hop Vs. Multi-hop systems
9
Ad-Hoc typical applications
 Personal area networking
 cell phone, laptop, ear phone, wrist watch
 Military environments
 soldiers, tanks, planes
 Civilian environments
 car network
 meeting rooms
 sports stadiums
 boats, small aircraft
 Emergency operations
 search-and-rescue
 policing and fire fighting
10
Peer-to-Peer
11
Multi-hop Peer-to-Peer
12
Multi-hopping via Wireless Router
13
Hopping on the Network
14
Supports Mobility
15
Supports Non Line-of-Sight
16
 Military applications
 Situational Awareness (SA) and Command and
Control (C2) for military.
17
 Nokia RoofTop Wireless Routing
 A wireless broadband solution for residential
markets, based on a multihop Ad-Hoc (mesh)
networking.
18
 Related Research
 IEEE 802.11 for Wireless LANs
 MAC
 PHY
 IETF manet group
 to stimulate research and discuss possible standards in
this area
 Routing Protocols:
 unicast – AODV, DSR, ZRP, TORA, CBRP, CEDAR
 multicast – AMRoute, ODMRP, AMRIS
19
Characteristics and requirements




Distributed operation
Dynamic network topology
Fluctuating link capacity
Low-power devices
20
 Challenges
 Broadcast nature of the wireless medium
 Hidden terminal problem






Packet losses due to transmission errors
Mobility-induced route changes
Mobility-induced packet losses
Battery constraints
Potentially frequent network partitions
Ease of snooping on wireless transmissions
(security hazard)
 Quality of Service
21
Routing Protocols
 We need a new routing and multicasts protocols
that perform the following functions :
 Ensure routing in a dynamic, Ad-Hoc network
through automatic detection of new or missing links.
 Automatically select the highest quality, least
congested paths.
 Provide an efficient multicast mechanism across the
wireless broadcast channel.
22
Overview of Current Routing Protocols
23
On-demand vs. Table-driven
 Table-Driven Routing Protocol:
 proactive!!
 continuously evaluate the routes
 attempt to maintain consistent, up-to-date routing
information
 when a route is needed, one may be ready
immediately
 when the network topology changes
 the protocol responds by propagating updates
throughout the network to maintain a consistent view
 Example DSDV
24
 On-Demand Routing Protocol:
 reactive!!
 on-demand style: create routes only when it is desired
by the source node
 route discovery: invoke a route-determination
procedure
 the procedure is terminated when
 a route has been found
 no route is found after all route permutations are
examined
 longer delay: sometimes a route may not be ready for
use immediately when data packets come
 Example AODV
25
Table-Driven Routing Protocols
 DSDV (Destination Sequence Distance Vector)
 “Highly Dynamic Destination-Sequence DistanceVector Routing (DSDV) for Mobile Computers”
 Charles E. Perkins & Pravin Bhagwat
 Dated: 1994
 Computer Communications Review, ‘94
 pp. 234-244
26
DSDV
 Based on the Bellman-Ford algorithm
 Each node keeps a routing table to all other
nodes.
 based on next-hop routing
 Path discovery through packet caching and
header examination.
 Entries have a sequence number.
 Incremental updates possible.
27
A 3 >C
B 2 >C
A 3 >C
B 2 >C
C 1 >C
E 2 >C D
C 1 >C
D 2 >C
E
C
A
Node
A 2 >B
B 1 >B
A 1 >A
C 1 >C B
D 2 >C
E 2 >C
Routing Table broadcast
B 1 >B
C 2 >B
D 1 >D
E 1 >D
D 3 >B
E 3 >B
28
 Once its routing table changes, a node
broadcasts its table to other nodes.
29
30
31
On-Demand Routing Protocol
Ad-Hoc On-Demand Distance Vector
(AODV) Routing







Protocol overview and objectives
Path Discovery
Reverse Path Setup
Forward Path Setup
Route Table Management
Path Maintenance
Local Connectivity Management
32
 Outline of Basic Functions of a Node
AODV Nodes
Status
Intermediate Node
Source Node
Destination Node
33
 AODV UNICSAT ROUTE ROUTE
ESTABLISHMENT
Source Node
• Initiate a path discovery process by broadcasting a
RREQ packet to its neighbors.
• Reinitiate the path discovery process when it moves.
• Reinitiate the path discovery process when it receives
a failure notification message from nodes along the
path to the destination.
34
Intermediate Nodes
• Reply to the RREQ packet by unicasting a RREP packet back to
the source, only when they have a route to the destination
whose seq. # is greater or equal to the seq. # contained in the
RREQ packet.
• Store in their routing tables the address of the neighbor from
which the RREQ is received, thereby establishing a reverse
path back to the source.
• Discard additional copies of the same RREQ latter received (
Broadcast ID and source IP address uniquely specify the RREQ
packet).
• Send failure notification messages to the source (route erase )
when moving away.
35
Destination Node
• Respond to the RREQ packet by unicasting a route reply
(RREP) packet back to the neighbor it has first received a
RREQ packet. This packet is routed along the already
established reverse path.
• Reinitiate the path discovery process when it moves.
• Reinitiate the path discovery process when it receives a failure
notification message from nodes along the path to the destination.
36
Basic Functions of a Node
• Maintain route information in its route table.
• Information obtained through RREQ & RREP
messages is kept with other routing information in
the route table.
• Update the Seq. # to eliminate unused routes
• Manage aging process of routes with old seq. #
37
AODV Route Discovery
• Initiated by a node wishing to communicate.
Reinitiate the RREQ for rreq_retries incase of a
lost RREQ
• Route Request packets are broadcast
• RREQ format
< source_addr, current source_sequence-# ,
broadcast_id, dest_addr, dest_sequence_#,
hop_cnt >
• RREQ uniquely identified by <source_addr ,
broadcast_id>
38
• Broadcast ID is incremented with every RREQ
• Set a timer to wait for a reply.
• Neighboring nodes maintain a record of every
RREQ for a specified period of time.
• Setup a reverse path entry for the source node.
This entry contains the source IP, Source_Seq.#,
#hops to the source and IP’s addresses of neighbor
from which it received the RREQ.
39
• Set a lifetime for the reverse path.
• Neighboring nodes satisfy RREQ by sending
RREP or broadcast RREQ after incrementing
hop_cnt
• In summary, each intermediate node keeps the
following information for a particular RREQ
– Destination Address and Seq.#
– Source node’s sequence number and IP address
– # hops to the source and the IP’s of neighboring
nodes
– Broadcast_ID
– Expiration time for reverse path entry
40
Route Discovery Flow Chart (1)
A source wishing to transmit
Check the route table
Forward packet
to next hop
Yes
Existence of
active route
No
Initiate a Route
Discovery Process
Create RREQ
packet
Broadcast RREQ &
Set the timer for a reply
41
(2)
Intermediate node receiving
the RREQ
Check its record to see if
It had seen it.
Yes
Discard the packet
No
Did it see the
RREQ before?
Record the RREQ
Information & broadcast
No
Unicast a REPP
Setup reverse route entry
Reverse path expired
Yes
Increment hop count
and broadcast
42
UNICAST AODV
D
X
X
X
S
43
Optimization: Expanding Ring Search
• Route Requests are initially sent with small Time-to-Live
(TTL) field, to limit their propagation.
• If no Route Reply is received within the ttl_start value,
then larger TTL is tried unlit the threshold value is
reached, beyond which the RREQ is broadcast through
the entire network to rreq_retries.
• After the route is established, distance to the destination is
used to reinitiate TTL to this value.
44
AODV Forward Path Setup
• RREQ arrives at a node that has current route to the
destination ( larger/same sequence number).
• Unicast request reply (RREP)<source_addr, dest_addr,
dest_sequence_#, hop_cnt,lifetime> to neighbor from
which it has received the RREQ.
• Intermediate node respond the same but with hop_cnt
set to its distance from the destination.
• RREP travels back to the source along the reverse
path
• Each upstream node updates dest_sequence_#, sets up
a forward pointer to the neighbor who transmit the
RREP
45
• Updates information in the forward path entry of
subsequent on reception RREPs.
• Multiple arrivals of RREPs at a node will be discarded
provided that their sequence # are less than the
destination seq. of the first RREP or have higher hops
count.
• Source can begin transmission as soon as it receives
the first RREP.
46
Forward Path Setup in AODV
S
N7
N8
N2
N4
N1
N10
N6
N3
N5
N9
D
N11
Forward links are setup when RREP travels along
the reverse path
Represents links on Reverse Path
Represents a link on the forward path
47
AODV Reverse Path Setup
• Source sequence number
is used to maintain
freshness about reverse
route to the source
• Destination sequence
number specified for
freshness of route before
accepted by source
• Reverse path setup by
having link to neighbor
from which it received
RREQ
48
AODV Route Table Management
• Route Request Expiration Timer for purging
reverse paths which do not lie on sourcedestination route
• Route Caching Timeout for time after which the
route is considered invalid
• Active_timeout Period used to determine if
neighboring node is active
49
AODV Route Table Management Cont.
• Route Table entry
– Destination
– Next Hop
– Number of hops (metric)
– Sequence numbers of Destination
– Active Neighbors for this route
– Expiration time for the route table entry
50
AODV Route Maintenance
• Node movement affect only the routes containing
these nodes.
• Source movement reinitiates the path discovery process
• When destination node or intermediate node
moves a Route Error (RERR) message, initiated
from upstream nodes of the source node , is sent to
the affected source nodes.
• When next hop become unreachable the upstream
node propagates RERR to neighbor with fresh
sequence number and hop cnt 
• restart route discovery process from source on
receipt of RERR
51
Summary of Route Error
• When a node is unable to forward packet (from
node S to node D) on link (L), it generates a
RERR message
• The node increments the destination sequence
number for D cached at its route information
• The incremented sequence number N is included
in the RERR
52
 When node S receives the RERR, it initiates a
new route discovery for D using destination
sequence number at least as large as N
 When node D receives the route request with
destination sequence number N, node D will set
its sequence number to N, unless it is already
larger than N
53
AODV Route Maintenance
N3’
RERR
N1
RERR
N3
N2
D
S
N5
N4
S- Source Node
D- Destination Node
54
AODV Route Maintenance Cont.
S- Source Node
N3’
D- Destination Node
X
N1
N2
X
N3
D
S
N5
N4
New Route Found through Node 4
55
AODV Local Connectivity Management
• Node learn of their neighbors in following way
– on receipt of broadcast message, the node
updates the lifetime associated with that
neighbor.
– on receipt of hello message
• Hello messages are only local (TTL=1) and it contains
<IP_Address, Noed_Sequence_#>
• Failure to receive Hello message during (hello_interval)
indicate that the route information of the neighbor need to be
updated.
• Hello messages are sent from neighbor during an active path
56
Local Link Failure Detection
• Hello messages: Neighboring nodes periodically
exchange hello message
• Absence of
((1+allowed_hello_loss)*hello_lifetime) of hello
message is used as an indication of link failure
57
AODV Rebooting

To prevent routing loops during node rebooting,
the node will wait for delete_period, during
which it does not respond to any
routing
packet.

Update its Seq.# whenever it receives a RREQ
from its neighbor
58
Link Failure Reporting
• A neighbor of node N is considered active for a
routing table entry if the neighbor sent a packet
within active_route_timeout interval
• When the next hop link in a routing table entry
breaks, all active neighbors are informed
• Link failures are propagated by means of Route
Error messages, which also update destination
sequence numbers
59
Ad-Hoc performance
Simulation Environment
 Simulation tools used: GloMoSim
 Size of Network: 50,100,250,500
 Fixed area L*L:1*1km:1.5*1.5km: 2.4*2.4:3.45:3.45km
 Range: 250 meters
 Data rate: 2Mbps
 Packet size: 64bytes
 Node Speed: 0~10 m/s
60
 Rest period at the random spot: 60~300 second
 Carrier sensing is performed by each node prior
to transmission
 Simulation time: 300 second
61
Simulation Results
Fig.1
Neighbors vs. Speed
62
Fig.2 Packets Delivered vs. Speed
63
Fig.2 Packets Delivered vs. Speed
64
Fig.4 Route Acquisition vs. Speed
65
Comparison Of Table Driven Routing Protocols
Parameters
DSDV
CGSR
WRP
Time Complexity
O(d)
O(d)
O(h)
Route Complexity
O(x = N)
O(x = N)
O(x = N)
Route Philosophy
Flat
Hierarchical
Flat
Loop Free
Yes
Yes
Yes, but
instantenous
Multicast Capability
No
No
No
2
2
4
Periodically and
as needed
Periodically
Periodically and
as needed
Neighbors
Neighbors and
cluster heads
Neighbors
Yes/No
Yes/No
Yes/Yes
Critical Nodes
No
Yes(cluster head)
No
Routing Metric
Shortest path
Shortest path
Shortest path
Required Tables
Freq Of Updated Transmission
Updates Transmitted to
Utilize Seq. No / Hello Packets
66
Comparison Of On Demand Protocols
Performance Parameters
AODV
DSR
TORA
ABR
Time Complexity (start)
O(2d)
O(2d)
O(2d)
O(d+x)
Time Complexity (after fail)
O(2d)
O(2d) or
0(cache hit)
O(2d)
O(l+x)
Communication Complexity
O(2N)
O(2N)
O(2N)
O(N+y)
Communication Complexity
O(2N)
O(2N)
O(2x)
O(x+y)
Routing / Loop Free
Flat / Yes
Flat / Yes
Flat / Yes
Flat / Yes
Multicast Capability
Yes
No
No
No
Beaconing Requirements
No
No
No
Yes
Multiple Route Possibilities
No
Yes
Yes
No
Erase Route,
Notify Source
Erase Route,
Notify Source
Link reversal,
route repair
Localized
broadcast query
Route table
Route cache
Route table
Route table
Fresh and
shortest
Shortest
Shortest
Associativity
and shortest
path
Route Reconfiguration
Route Maintained in
Routing Metric
67
Comparison of On-Demand v/s Table Driven Routing
Parameters
On Demand
Table Driven
Available when needed
Always available
regardless of need
Flat
Mostly Flat except for
CGSR
Periodic route updates
Not Required
Yes
Coping with Mobility
Using Localized route
discovery in ABR
Inform other nodes to
achieve consistent routing
tables
Grows with increasing
mobility of active nodes
as in ABR
Greater than that of On
Demand Routing
Few Can Support QoS
Mainly Shortest Path as
QoS Metric
Availability of Routing
Information
Routing Philosophy
Signaling Traffic
Generated
QoS Support
68