Title: Department of Computer Science Southern Illinois University Carbondale QoS and Multicast Routing Pro
1Department of Computer ScienceSouthern Illinois
University Carbondale QoS and Multicast
Routing Protocols for MANETs
Dr. Kemal Akkaya E-mail kemal_at_cs.siu.edu
Some slides are adapted from
UIUC - Louis McCants, Kevan Victor
2Quality of Service Routing (QoS)
- We mostly have best-effort service in MANETs
- Providing certain performance guarantees (QoS)
needed - Real-Time applications
- Multimedia applications
- Bandwidth
- Delay
- Jitter
- Throughput
- Energy
- Internet QoS models
- Differentiated Services DiffServ
- Integrated Services IntServ
- Delay and Bandwidth constrained Routing in MANETs
- Provide certain end-to-end delay or bandwidth
- Minimize delay or bandwidth usage
3QoS routing in MANETs
- Some of the proposed QoS routing protocols
- Core Extraction Distributed AdHoc Routing (CEDAR)
- QOS Extensions to AODV
- Distributed ticket-based QoS routing
- Bandwidth constrained TDMA based routing
- CEDAR
- R. Sivakumar, Prasun Sinha, and V. Bharghavan,
"CEDAR a Core Extraction Distributed Ad hoc
Routing algorithm," IEEE Journal on Selected
Areas in Communications (Special Issue on Ad-hoc
Routing), vol. 17, no. 8, pp. 1454--1465, Aug.
1999. - Key components
- Core extraction
- Link State Propagation
- Route Computation
- Major Goals
- Robust in nature
- Generates admissible Routes on demand
- Core hosts involved computations of routes
4CEDAR
- The core is an approximation of the networks
minimum dominating set - Dominating Set Every vertex not in the set is
adjacent to at least one vertex that is in the
set. - Finding an MDS is an NP complete problem.
- Constant time algorithms exist to approximate the
MDS.
A
G
D
B
C
E
H
F
J
S
K
Node E is the dominator for nodes D, F and K
A core node
5CORE State Info
- Core host have info on
- Local topology of hosts in its domain
- Nearby core hosts
- Maintain virtual links (multi-hop links)
- Core performs all route computations
- Local computation manages core
- Link State Propagation
- Only bandwidth availability of stable links are
propagated through the core subgraph - CEDAR is concerned with QoS routing. Bandwidth is
important - Propagation is done by slow-moving increase and
fast moving decrease - Increase waves indicate bandwidth increases
- Decrease waves indicate bandwidth decreases
6Route Computation
- S ? D
- Core path from dom(S)-gtdom(D) is established
- Core path provides directionality
- Route computation is done on demand
- Possible to apply well known algorithms to the
core graph - DSR, TORA, AODV, ZRP, etc.
- CEDAR does it its own way
- The source tells its dominator it wants to send
- Dominator finds a path to the destination
dominators - Using a shortest path algorithm
7QoS Routing In CEDAR
- Three Key Components
- 1) Finding the destination and establishing a
core path to it - 2) Establishment of a short stable admissible QoS
route - 3) Dynamic re-establishment of routes for ongoing
connections - QoS route computation is an on-demand routing
algorithm - 1) Core Path from dom(s) to dom(d)
- s informs its dom. dom(s)
- dom(s) initiates a core broadcast to set up a
core path to dom(d) - a core node u receives the core path request
message, sets P?P U u then forwards the message
on its outgoing virtual links - dom(t) which knows the dom(d) receives the core
path request message and sends back a source
rooted unicast core_path_ack message to dom(s) - dom(t) also sends the inverse path recorded in P
- dom(s) is ready for QoS phase now
8QoS Route Computation
- 2) Finding admissible QoS Route
- dom(s) searches from s to the furthest node in
core path find in step 1(say t) that can provide
bandwidth b - dom(s) picks the shortest widest path from s to
core node t - dom(s) sends dom(t) a message containing lt s, d,
b, P, p(s,t), dom(s), t gt - b bandwidth, p(s,t) route to t
- dom(t) performs QoS route computation using its
local state to reach d - either a path to d is found or the computation
will fail to compute a path at a core node - 3) Route Recomputation for ongoing connections
- Required under two circumstances
- The end host moves
- Intermediate link failure
- Mechanisms to correct link failure
- QoS Route Recomputation at the Failure Point
- Node closest to failure point does recomputation
- QoS Route Recomputation at the Source
- Source is notified of failure, then recomputes
9CEDAR - Summary
- Core provides an efficient and low overhead
infrastructure to perform routing - CEDAR is robust and only uses local state for
route computation at core nodes - CEDAR reacts quickly and effectively to the
dynamics of a given network - CEDAR produces good stable admissible routes with
a high probability - CEDAR does not require high maintenance overhead
even for highly dynamic networks - Disadvantages
- Maintaining CORE
- What if one nodes fails?
- Increase/Decrease waves for bandwidth only
- Could use the same wave idea for other metrics
10Multicast - Introduction
- Multicast ? One to Many
- Class D IP address reserved for multicast
- 224.0.0.0 239.255.255.255
- 224.0.0.0 224.0.0.255 reserved for group
- Multicast groups
- 224.0.0.1 all hosts group
- 224.0.0.2 all routers group
- 224.0.0.4 all DVMRP routers
- Internet Architectures
- Source-based tree
- DVMRP
- MOSPF
- PIM-DM
- Shared tree
- CBT
- PIM-SM
Small to mid-sized networks
Small to large networks
11Multicast Routing Protocols for MANETs
- On-demand Multicast Routing Protocol (ODMRP)
- Sung-Ju Lee, Mario Gerla, and Ching-Chuang Chiang
" On-Demand Multicast Routing Protocol " , in
Proceedings of IEEE WCNC'99, New Orleans, LA,
Sep. 1999. - Multicast AODV (MAODV)
- Elizabeth Royer and Charles E. Perkins "
Multicast Operation of the Ad-hoc On-Demand
Distance Vector Routing Protocol " , Proceedings
of MobiCom '99, Seattle, WA, August 1999, pp.
207-218. - Multicast ZRP (MZR)
- MZR a multicast protocol for mobile ad hoc
networks Devarapalli, V. Sidhu, D. IEEE
International Conference on Communications,
Volume 3, 2001 Page(s) 886 -891 vol.3 - Multicast CEDAR
- P. Sinha, R. Sivakumar and V. Bharghavan,
"MCEDAR Multicast Core-Extraction Distributed Ad
hoc Routing", Wireless Communications and
Networking Conference, 1999, pp.1313-1318
12ODMRP
- Provides a richer connectivity among multicast
members using a mesh based approach - Supplies multiple route for one particular
destination - Helps in case of topology changes and node
failure - Uses a concept of Forwarding Group
- Only a subset of nodes forwards multicast packets
via scoped flooding
13-
- Why a mesh?
- Links
- Multicast Routes
- Initial Route from S1 to R2 is lt S1 -A- B- R2gt
- Redundant Route lt S1- A- C- B- R2gt
- On Demand Route and Mesh Creation
- Join Query
- Join Reply
- S floods a Join Query to entire network.
- Join Reply is propagated by each forwarding group
member until it reaches source via a shortest
path. - Routes from sources to receivers builds a mesh of
nodes called forwarding group - Maintains Forward Tables
- Provides reliability, redundancy
- ODMRP has a problem of excessive flooding when
number of multicast senders are more. -
R1
S1
A
B
S2
C
R3
S3
R2
14Multicast Operation of AODV
- This operation of MAODV can be explained in three
steps - Routing Tables
- Route Discovery
- Multicast Algorithm
- Three routing tables
- Normal routing table
- Multicast routing table
- This table contains entries for multicast groups
for which it is a router. - Multicast Group IP Address
- Multicast Group Leader IP Address
- Multicast Group Sequence Number
- Hop Count To Multicast Group Leader
- Next Hops
- Lifetime
- Request Table
- Stores IP address of nodes to join a multicast
group
15Joining to a Multicast Group
16Multicasting Algorithm
- The first node in a multicast group (MG) will
act as multicast group leader (MGL). - Any node can join or leave the MG at any time
(dynamic in nature) - Each node must agree to be a router to join the
group. - Th dest. addr is the IP address of multicast
group. - Th dest. seqno is the seqno of the multicast
group. - If the node wishes to join the group it will set
the J_flag of RREQ and broadcast it - Otherwise left it blank.
- If source knows the IP address of the group
leader then it will unicast the RREQ to the MGL
17Route Reply Message Generation
- If a node replies with RREP, it adds two more
fields to the RREP - Mgroup_Hop and Group_Leader_Addr.
- Source node will know the number of hops to
nearest MGL (Mgroup_Hop) and IP address of MGL
(Group_Leader_Addr). - Mgroup_Hop will be incremented whenever the RREP
is forwarded. - If a source node receives multiple RREPs
- Source node will wait for rte_discovery_timeout
before it will select the shortest route with
greatest sequence number. - Once the source selects the route
- It will send the MACT(Multicast Activation)
message until the node which initiated the RREP
is reached. - In this way MACT will prevent multiple routes.
- MAODV has mechanisms for
- Leaving members
- Link breaks
18Summary - MAODV
- Advantages of MAODV
- Supports unicasting, multicasting and
broadcasting. - This is a reactive protocol (on-demand)
- Loop-free Protocol
- Disadvantages of MAODV
- Overhead due to link breakages
- Complex to implement.
- Route Discovery Latency will be High
19Multicast Zone Routing - MZR
- Its a source initiated on-demand multicast
routing protocol - Builds a multicast delivery tree rooted at the
source based on the zone routing protocol - Does not depend on any underlying unicast
protocol for global routing substructure - Multicast Tree Creation
- For each multicast session a tree rooted at the
source is created. - The tree is identified by ltsource, groupgt pair
- Multicast route entry consists of
- Multicast session id
- ltsource, groupgt pair
- IP address of upstream node
- A list of the downstream nodes
20Multicast Tree Creation
- Tree Creation is a two step process
- Step 1 Extend tree inside zone
- Source sends a TREE-CREATE to each zone node
- As the TREE-CREATE packet is propagated reverse
routes are created at each intermediate node - An interested node replies with a TREE-CREATE-ACK
- The TREE-CREATE-ACK is sent back through the
reverse route - As it propagates, the multicast route entry is
completed and activated
21Multicast Tree Creation
- Step 2 Extend tree to the entire network
- Source sends a TREE-PROPAGATE message to border
nodes - On receiving the TREE-PROPAGATE the border node
does the following things - Sends a TREE-CREATE packet to all its zone nodes
and the procedure described in Step 1 is followed - Once it is done with the zone nodes it sends a
TREE-PROPAGATE message to its border nodes
22Other details
- Routing Mechanism
- Source starts transmitting once the multicast
delivery tree is created - Internal nodes of the tree replicate received
data packets and send a copy to each node on the
downstream list - Transmission to a downstream node is stopped once
that node migrates - Maintaining up-to-date routing information
- Timer for each route entry
- Stale route entries removed on time-out
- To keep routes active within multicast session
source sends TREE-REFRESH packet - Mechanisms for
- Nodes leaving
- Link breaks