Title: Ad Hoc Networks
1Ad Hoc Networks
- Cholatip Yawut
- Faculty of Information Technology
- King Mongkut's University of Technology North
Bangkok
2IEFT MANET Working Group
- Goals
- standardize an interdomain unicast (IP) routing
protocol - define modes of efficient operation
- support both static and dynamic topologies
- A dozen candidate routing protocols have been
proposed
3Routing
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Ants Searching for Food
?
from Prof. Yu-Chee Tsengs slides
4Routing (Ants scenario)
5Three Main Issues in Ants Life
- Route Discovery
- searching for the places with food
- Packet Forwarding
- delivering foods back home
- Route Maintenance
- when foods move to new place
6Introduction
Ref Optimized Link State Routing Protocol for Ad
Hoc Networks Jacquet, p and park gi won
7Reactive versus Proactive routing approach
- Proactive Routing Protocols
- Periodic exchange of control messages
- immediately provide the required routes when
needed - - Larger signalling traffic and power
consumption. - Reactive Routing Protocols
- Attempts to discover routes only on-demand by
flooding - Smaller signalling traffic and power
consumption. - - A long delay for application when no route to
the destination available
8Routing Protocols
- Proactive (Global/Table Driven)
- route determination at startup
- maintain using periodic update
- Reactive (On-demand)
- route determination as needed
- route discovery process
- Hybrid
- combination of proactive and reactive
9Proactive
- Destination-sequenced distance vector (DSDV)
- Wireless routing protocol (WRP)
- Global state routing (GSR)
- Fisheye state routing (FSR)
- Source-tree adaptive routing (STAR)
- Distance routing algorithm for mobility (DREAM)
- Cluster-head gateway switch routing (CGSR)
- OLSR (Optimized Link State Routing)
10Reactive
- Associativity-base routing (ABR)
- Dynamic source routing (DSR)
- Ad hoc on-demand distance vector (AODV)
- Temporally ordered routing algorithm (TORA)
- Routing on-demand acyclic multi-path (ROAM)
- Light-weight mobile routing (LMR)
- Signal stability adaptive (SSA)
- Cluster-based routing protocol (CBRP)
11Hybrid
- Zone routing protocol (ZRP)
- Zone-based hierarchical link state (ZHLS)
- Distributed spanning trees (DST)
- Distributed dynamic routing (DDR)
- Scalable location update routing pro. (SLURP)
12Flooding
- Simplest of all routing protocols
- Send all info to everybody
- If data not for you, send to all neighbors
- Robust
- destination is guaranteed to receive data
- Resource Intensive
- unnecessary traffic
- load increases, network performance drops quickly
13Routing Examples
- Destination Sequenced Distance Vector (DSDV)
- Cluster Gateway Switch Routing (CGSR)
- Ad hoc On-demand Distance Vector (AODV)
- Dynamic Source Routing (DSR)
- Zone Routing Protocol (ZRP)
- Location-Aided Routing (LAR)
- Distance Routing effect Algorithm for mobility
(DREAM) - Power-Aware Routing (PAR)
14Destination Sequenced Distance Vector (DSDV)
- Table-driven
- Based on the distributed Bellman-Ford routing
algorithm - Each node maintains a routing table
- Routing hops to each destination
- Sequence number
15DSDV
- Problem
- a lot of control traffic in the network
- Solution two types of route update packets
- full dump (All available routing info)
- incremental (Only changed info)
16Cluster Gateway Switch Routing (CGSR)
- Table-driven for inter-cluster routing
- Uses DSDV for intra-cluster routing
M2
17Ad hoc On-demand Distance Vector (AODV)
- On-demand driven
- Nodes that are not on the selected path do not
maintain routing information - Route discovery
- source broadcasts a route request packet (RREQ)
- destination (or intermediate node with fresh
enough route to destination) replies a route
reply packet (RREP)
18AODV
RREQ
RREP
19AODV
- Problem
- a node along the route moves
- Solution
- upstream neighbor notices the move
- propagates a link failure notification message to
each of its active upstream neighbors - source receives the message and re-initiate route
discovery
20Dynamic Source Routing (DSR)
- On-demand driven
- Based on the concept of source routing
- Required to maintain route caches
- Two major phases
- Route discovery (flooding)
- Route maintenance
- A route error packet
21DSR
Route Discovery
Route Reply
22Modified DSR
- Route information determined by the current
network conditions - number of hops
- congestion
- node energy
- Other considerations
- fairness
- number of route requests
23Zone Routing Protocol (ZRP)
- Hybrid protocol
- On-demand
- Proactive
- ZRP has three sub-protocols
- Intrazone Routing Protocol (IARP)
- Interzone Routing Protocol (IERP)
- Bordercast Resolution Protocol (BRP)
24Zone Routing Protocol (ZRP)
Zone of Node Y
Border Node
Zone Radius r Hops
Border Node
Node X
Zone of Node Z
Node Z
Zone of Node X
Bordercasting
25Location-Aided Routing (LAR)
- Location information via GPS
- Shortcoming (maybe not anymore 2005)
- GPS availability is not yet worldwide
- Position information come with deviation
26Location-Aided Routing (LAR)
- Each node knows its location in every moment
- Using location information for route discovery
- Routing is done using the last known location
an assumption - Route discovery is initiated when
- S doesnt know a route to D
- Previous route from S to D is broken
27LAR - Definitions
- Expected Zone
- S knows the location L of D in t0
- Current time t1
- The location of D in t1 is the expected zone
- Request Zone
- Flood with a modification
- Node S defines a request zone for the route
request
28LAR
Destination (Xd,Yd)
R
source(Xs,Ys)
29Distance Routing effect Algorithm for mobility
(DREAM)
- Position-based
- Each node
- maintains a position database
- regularly floods packets to update the position
- Temporal resolution
- Spatial resolution
30Restricted Directional Flooding
- Distance Routing effect Algorithm for mobility
(DREAM) - Sender will forward the packet to all one-hop
neighbors that lie in the direction of
destination - Expected region is a circle around the position
of destination as it is known to source - The radius r of the expected region is set to
(t1-t0)Vmax, where t1 is the current time, t0 is
the timestamp of the position information source
has about destination, and Vmax is the maximum
speed that a node may travel in the ad hoc
network - The direction toward destination is defined by
the line between source and destination and the
angle ?
From ECE 5970 Class
31DREAM
32Power-Aware Routing (PAR)
33OLSR - Overview
- OLSR
- Inherits Stability of Link-state protocol
- Selective Flooding
- only MPR retransmit control messages
- Minimize flooding
- Suitable for large and dense networks
34OLSR Multipoint relays (MPRs)
- MPRs Set of selected neighbor nodes
- Minimize the flooding of broadcast packets
- Each node selects its MPRs among its on hop
neighbors - The set covers all the nodes that are two hops
away - MPR Selector a node which has selected node as
MPR - The information required to calculate the
multipoint relays - The set of one-hop neighbors and the two-hop
neighbors - Set of MPRs is able to transmit to all two-hop
neighbors - Link between node and its MPR is bidirectional.
-
35OLSR Multipoint relays (cont.)
- To obtain the information about one-hop neighbors
- Use HELLO message (received by all one-hop
neighbors) - To obtain the information about two-hop neighbors
- Each node attaches the list of its own neighbors
- Once a node has its one and two-hop neighbor sets
- Can select a MPRs which covers all its two-hop
neighbors
36OLSR Multipoint relays (cont.)
4 retransmission to diffuse a message up to 2 hops
Figure 1. Diffusion of a broadcast message using
multipoint relays
37OLSR Multipoint relays (cont.)
E
D
F
A
C
G
B
Figure 2. Network example for MPR selection
38OLSR Multipoint relays (cont.)
39Protocol functioning Neighbor sensing
- Each node periodically broadcasts its HELLO
messages - Containing the information about its neighbors
and their link status - Hello messages are received by all one-hop
neighbors - HELLO message contains
- List of addresses of the neighbors to which there
exists a valid bi-directional link - List of addresses of the neighbors which are
heard by node( a HELLO has been received ) - But link is not yet validated as bi-directional
40Protocol functioning Neighbor sensing (cont.)
Message type Vtime Message size Message size
Originator Address Originator Address Originator Address Originator Address
Time To Live Hop count Message Sequence Number Message Sequence Number
Reserved Reserved Htime Willingness
Link code Reserved Link message size Link message size
Neighbor Interface Address Neighbor Interface Address Neighbor Interface Address Neighbor Interface Address
Neighbor interface Address Neighbor interface Address Neighbor interface Address Neighbor interface Address
Reserved Reserved Htime Willingness
Link code Reserved Link message size Link message size
Neighbor interface address Neighbor interface address Neighbor interface address Neighbor interface address
Neighbor interface address Neighbor interface address Neighbor interface address Neighbor interface address
Link type Neighbor type
Table 1. Hello Message Format in OLSR
41Protocol functioning Neighbor sensing (cont.)
- HELLO messages
- Serves Link sensing
- Permit each node to learn the knowledge of its
neighbors up to two-hops (neighbor detection) - On the basis of this information, each node
performs the selection of its multipoint relays
(MPR selection signaling) - Indicate selected multipoint relays
- On the reception of HELLO message
- Each node constructs its MPR Selector table
42Protocol functioning Neighbor sensing ( cont.)
- In the neighbor table
- Each node records the information about its on
hop neighbor and a list of two hop neighbors - Entry in the neighbor table has an holding time
- Upon expiry of holding time, removed
- Contains a sequence number value which specifies
the most recent MPR set - Every time updates its MPR set, this sequence
number is incremented
43Protocol functioning Neighbor sensing
- Example of neighbor table
One-hop neighbors
Two-hop neighbors
State of Link
Neighbors id
Access though
Neighbors id
Bidirectional
B
C
E
Unidirectional
G
C
D
MPR
C
Table 2. Example of neighbor table
44Protocol functioning Multipoint relay selection
- Each node selects own set of multipoint relays
- Multipoint relays are declared in the transmitted
HELLO messages - Multipoint relay set is re-calculated when
- A change in the neighborhood( neighbor is failed
or add new neighbor ) - A change in the two-hop neighbor set
- Each node also construct its MPR Selector table
with information obtained from the HELLO message - A node updates its MPR Selector set with
information in the received HELLO messages
45Protocol functioning MPR information declaration
- TC Topology control message
- In order to build intra-forwarding database
- Only MPR nodes forward periodically to declare
its MPR Selector set - Message might not be sent if there are no updates
- Contains
- MPR Selector
- Sequence number
- Each node maintains a Topology Table based on TC
messages - Routing Tables are calculated based on Topology
tables
46Protocol functioning MPR information
declaration (cont.)
Destination address Destinations MPR MPR Selector sequence number Holding time
Last-hop node to the destination. Originator of
TC message
MPR Selector in the received TC message
Table 3. Topology table
47Protocol functioning MPR information
declaration (cont.)
Figure 4. TC message and Topology table
48Protocol functioning MPR information
declaration (cont.)
- Upon receipt of TC message
- If there exist some entry to the same
destination with higher Sequence Number, the TC
message is ignored - If there exist some entry to the same destination
with lower Sequence Number, the topology entry
is removed and the new one is recorded - If the entry is the same as in TC message, the
holding time of this entry is refreshed - If there are no corresponding entry the new
entry is recorded
49Protocol functioning MPR information
declaration (cont.)
Dest address Dest MPR MPR Selector sequence
X M 1
Y M 1
Z M 1
.. .. ..
S Topology table
TC originator MPR selector MPR selector sequence
M X 2
M Y 2
M Z 2
M R 2
Figure 5. Topology table update
TC message ( M send to S)
50Protocol functioning Routing table calculation
- Each node maintains a routing table to all known
destinations in the network - After each node TC message receives, store
connected pairs of form ( last-hop, node) - Routing table is based on the information
contained in the neighbor table and the topology
table - Routing table
- Destination address
- Next Hop address
- Distance
- Routing Table is recalculated after every change
in neighbor table or in topology table
51Protocol functioning Routing table calculation
(cont.)
(last-hop, destination)
Source
(last-hop, destination)
(last-hop, destination)
Destination
(last-hop, destination)
Figure 5. Building a route from topology table
52conclusion
- OLSR protocol is proactive or table driven in
nature - Advantages
- Route immediately available
- Minimize flooding by using MPR
- OLSR protocol is suitable for large and dense
networks
53Current routing protocols
- Many do not consider energy conservation
- lead to partitions
- shorten network life
- fairness to intermediate nodes not incorporated
- fail to work well in both sparse and dense
networks
54Interesting Research Topics
- Energy Awareness Routing
- Multipath Routing
- more paths used to send information, more
reliable the transmission - Clustering (Hierarchical Routing)
- dynamic management of subnetworks
55More Research Topics
- Topology Control
- adjustment of transmission power to simplify
routing - Internetworking
- managing wired and wireless networks
- Heterogeneous Networks
- Different devices on the network have different
capabilities - Content Aware Networks
- Location of services within the network (Printers)
56References
- Ad Hoc Mobile Wireless Networks Protocols and
System, C-K Toh, Prentice Hall, 2002, ISBN
0-13-007817-4 - Introduction to Ad Hoc Networking, Prof.
Yu-Chee Tseng - Optimized Link State Routing Protocolfor Ad Hoc
Networks, Jacquet, p and park gi won - Ad Hoc Network, Wireless LANs, June September
2009, Asso. Prof. Anan Phonphoem, Ph.D.