Mobile Ad Hoc Routing (III) Uses material from tutorial by Nitin Vaidya
1
GPSR--Introduction
Uses position of routers and packets’ destinations to make packet forwarding decisions.
Every sender maintains state only about local topology. Aims at reducing per-router state Mobicom 2000 paper. An earlier paper (GFG) is virtually identical.
Motivation
Topology changes very rapidly in mobile wireless networks unlike wired networks.
Protocols like DV, LS and Path Vector routing algorithms don’t work well under frequent topology changes.
Trends
Distribution of topology information amongst nodes- E.g.: DV, LS
Hierarchy- E.g.: BGP Caching- E.g.: DSR, AODV, ZRP Geography- E.g.: GPSR
Measures of Scalability
Routing protocol message cost
Application packet delivery rate
Per-node state
Algorithm : Greedy Forwarding
The next hop from a node is the neighbor that is geographically closest to the packet’s destination.
Algorithm: Greedy Forwarding
Beaconing mechanism
Provides all nodes with neighbors’ positions. Beacon contains broadcast MAC and position. To minimize costs
• Piggybacking • Promiscuous mode
Algorithm: Greedy Forwarding
Drawback !!!
Right Hand Rule
When arriving at a node x from node y, the next edge traversed is the next one sequentially counterclockwise about x from edge (x,y)
Planarized Graphs
A graph in which no two edges cross is known as planar.
Relative Neighborhood Graph (RNG)
Gabriel Graph (GG)
Relative Neighborhood Graph
Gabriel Graph
Algorithm: Greedy Perimeter Routing
Packet mode=>Greedy - Greedy Routing
Packet mode=>Perimeter – Perimeter Routing
Algorithm: Greedy Perimeter Routing
When x and D are connected, traversing the face bordering x in either direction leads to a point y at which xD intersects the far side of the face
When D is not connected to x, it lies inside an interior face or outside an exterior face. The packet tours unsuccessfully around the entirety of the face, without finding an edge intersecting xD at a point closer to D than Lf.
Simulation and Evaluation
50,112,and 200 nodes with 802.11 WaveLAN radios.
Maximum velocity of 20 m/s 30 CBR traffic flows, originated by 22 sending nodes
Each CBR flows at 2Kbps, and uses 64-byte packets
Simulation and Evaluation
Packet Delivery Success Rate
Simulation and Evaluation
Routing Protocol Overhead
Simulation and Evaluation
Path Length
Simulation and Evaluation
Effect of Network Diameter
Simulation and Evaluation
State per Router
GPSR node stores state for 26 nodes on average in pause time0, 200-node simulations.
DSR nodes store state for 266 nodes on average in pause time0, 200-node simulations.
Pros and Cons
Pros:
Low per router state for large number of network
destinations
Handles mobility very well Small routing protocol message complexity
Cons:
GPS location system might not be available everywhere. Overhead in location registration and lookup Planarization affected if nodes within another node’s radio
range
Multicasting Protocols
22
Multicasting
A multicast group is defined with a unique group identifier
Nodes may join or leave the multicast group anytime
In traditional networks, the physical network topology does not change often
In MANET, the physical topology can change often
23
Multicasting in MANET
Need to take topology change into account when designing a multicast protocol
Several new protocols have been proposed for multicasting in MANET
24
AODV Multicasting [Royer00Mobicom]
Each multicast group has a group leader
Group leader is responsible for maintaining group sequence number (which is used to ensure freshness of routing information)
Similar to sequence numbers for AODV unicast
First node joining a group becomes group leader
A node on becoming a group leader, broadcasts a
25
AODV Multicast Tree
Multicast tree links E C Group leader L J
G
H A B K D
Group and multicast tree member
Tree (but not group) member
N
26
Joining the Multicast Tree: AODV
E C
Group leader L J
G
H A B N N wishes to join the group: it floods RREQ
27
K
D
Route Request (RREQ)
Joining the Multicast Tree: AODV
E C
Group leader L J
G
H A B N N wishes to join the group
28
K
D
Route Reply (RREP)
Joining the Multicast Tree: AODV
E C
Group leader L J
G
H A B N N wishes to join the group
29
K
D
Multicast Activation (MACT)
Joining the Multicast Tree: AODV
Multicast tree links E C Group leader L J
G
H A B K D
Group member
Tree (but not group) member
N
N has joined the group
30
Sending Data on the Multicast Tree
Data is delivered along the tree edges maintained by the Multicast AODV algorithm
If a node which does not belong to the multicast group wishes to multicast a packet
It sends a non-join RREQ which is treated similar in many
ways to RREQ for joining the group
As a result, the sender finds a route to a multicast group
member
Once data is delivered to this group member, the data is
31
Leaving a Multicast Tree: AODV
Multicast tree links E C Group leader L J J wishes to leave the group D
G
H A B N K
32
Leaving a Multicast Tree: AODV
Since J is not a leaf node, it must remain a tree member E C Group leader L J J has left the group D
G
H A B N K
33
Leaving a Multicast Tree: AODV
E C
Group leader L J
G
H A B K D
MACT (prune)
N
N wishes to leave the multicast group
34
Leaving a Multicast Tree: AODV
E C
Group leader L J
G
H A
MACT (prune)
K
D
B N Node N has removed itself from the multicast group. Now node K has become a leaf, and K is not in the group.
35
Leaving a Multicast Tree: AODV
E C
Group leader L J
G
H A B N Nodes N and K are no more in the multicast tree.
36
K
D
Handling a Link Failure: AODV Multicasting
When a link (X,Y) on the multicast tree breaks, the node that is further away from the leader is responsible to reconstruct the tree, say node X
Node X, which is further downstream, transmits a Route Request (RREQ)
Only nodes which are closer to the leader than node X’s last
known distance are allowed to send RREP in response to the RREQ, to prevent nodes that are further downstream from node X from responding
37
Handling Partitions: AODV
When failure of link (X,Y) results in a partition, the downstream node, say X, initiates Route Request
If a Route Reply is not received in response, then node X assumes that it is partitioned from the group leader
A new group leader is chosen in the partition containing node X
If node X is a multicast group member, it becomes the group leader, else a group member downstream from X is chosen as the group leader
38
Merging Partitions: AODV
If the network is partitioned, then each partition has its own group leader
When two partitions merge, group leader from one of the two partitions is chosen as the leader for the merged network
The leader with the larger identifier remains group leader
39
Merging Partitions: AODV
Each group leader periodically sends Group Hello
Assume that two partitions exist with nodes P and Q as group leaders, and let P < Q
Assume that node A is in the same partition as node P, and that node B is in the same partition as node Q
Assume that a link forms between nodes A and B P
B A
40
Q
Merging Partitions: AODV
Assume that node A receives Group Hello originated by node Q through its new neighbor B
Node A asks exclusive permission from its leader P to merge the two trees using a special Route Request
Node A sends a special Route Request to node Q
Node Q then sends a Group Hello message (with a special flag)
All tree nodes receiving this Group Hello record Q as the leader
41
Merging Partitions: AODV
P A B Hello (Q) Q
42
Merging Partitions: AODV
RREQ (can I repair partition) A B Q
P
RREP (Yes)
43
Merging Partitions: AODV
P A B RREQ (repair) Q
44
Merging Partitions: AODV
P Group Hello (update) Q A B
Q becomes leader of the merged multicast tree
New group sequence number is larger than most recent ones known to P and Q both
45
Summary: Multicast AODV
Similar to unicast AODV
Uses leaders to maintain group sequence numbers, and to help in tree maintenance
46
On-Demand Multicast Routing Protocol (ODMRP)
ODMRP requires cooperation of nodes wishing to send data to the multicast group
To construct the multicast mesh
A sender node wishing to send multicast packets periodically floods a Join Data packet throughput the network
Periodic transmissions are used to update the routes
47
On-Demand Multicast Routing Protocol (ODMRP)
Each multicast group member on receiving a Join Data, broadcasts a Join Table to all its neighbors Join Table contains (sender S, next node N) pairs next node N denotes the next node on the path from the
group member to the multicast sender S
When node N receives the above broadcast, N becomes member of the forwarding group When node N becomes a forwarding group member, it transmits Join Table containing the entry (S,M) 48 where M is the next hop towards node S
On-Demand Multicast Routing Protocol (ODMRP)
Assume that S is a sender node
S Join Data N M A
T
D
C
B
Multicast group member
49
On-Demand Multicast Routing Protocol (ODMRP)
S Join Data
N
M Join Data Join Data
A
T
D
C
B
Multicast group member
50
On-Demand Multicast Routing Protocol (ODMRP)
S
N
M
A
Join Table (S,M)
T
D
C
B Join Table (S,C)
Multicast group member
51
On-Demand Multicast Routing Protocol (ODMRP)
Join Table (S,N)
S N F M A
T
D
F C
B
Join Table (S,N)
F
marks a forwarding group member
52
On-Demand Multicast Routing Protocol (ODMRP)
F M A
Join Table (S,S) N S F
T
D
F C
B
Multicast group member
53
On-Demand Multicast Routing Protocol (ODMRP)
F S N F F C M A
T Join Data (T)
D
B
Multicast group member
54
On-Demand Multicast Routing Protocol (ODMRP)
F S N F Join Table (T,C) F F C B T D Join Table (T,T) Join Table (T,D) Join Table (T,C) M A
Multicast group member
55
ODMRP Multicast Delivery
A sender broadcasts data packets to all its neighbors
Members of the forwarding group forward the packets
Using ODMRP, multiple routes from a sender to a multicast receiver may exist due to the mesh structure created by the forwarding group members
56
ODMRP
No explicit join or leave procedure A sender wishing to stop multicasting data simply stops sending Join Data messages A multicast group member wishing to leave the group stops sending Join Table messages A forwarding node ceases its forwarding status unless refreshed by receipt of a Join Table message
57
Other Multicasting Protocols
Several other multicasting proposals have been made
For a comparison study, see [Lee00Infocom]
58
Geocasting in Mobile Ad Hoc Networks
59
Multicasting and Geocasting
Multicast members may join or leave a multicast group whenever they desire
Geocast group is defined as the set of nodes that reside in a specified geographical region Membership of a node to a geocast group is a function of the node’s physical location Unlike multicasting Geocasts are useful to deliver location-dependent information
60
Geocasting [Navas97Mobicom]
Navas et al. proposed the notion of geocasting in the traditional internet
Need new protocols for geocasting in mobile ad hoc networks
Geocast region: Region to which a geocast message is to be delivered
61
Geocasting in MANET
Flooding-based protocol [Ko99Wmcsa]
Graph-based protocol [Ko2000icnp,Ko2000tech]
62
Simple Flooding-Based Geocasting
Use the basic flooding algorithm, where a packet sent by a geocast sender is flooded to all reachable nodes in the network
The geocast region is tagged onto the geocast message
When a node receives a geocast packet by the basic flooding protocol, the packet is delivered (to upper layers) only if the node’s location is within the 63 geocast region
Simple Flooding-Based Geocasting
Advantages:
Simplicity
Disadvantages
High overhead Packet reaches all nodes reachable from the source
64
Geocasting based on Location-Aided Routing (LAR) [Ko99Wmcsa]
Similar to unicast LAR protocol
Expected zone in unicast LAR now replaced by the geocast region
Request zone determined as in unicast LAR
Only nodes in the request zone forward geocast packets
65
Geocast LAR
Network Space
Request Zone
r A S B
X Y
Geocast region
66
Geocast LAR
If all routes between a geocast member and the source may contain nodes that are outside the request zone, geocast will not be delivered to that member Trade-off between accuracy and overhead Larger request zone increases accuracy but may also
increase overhead
Advantage of LAR for geocasting: No need to keep track of network topology Good approach when geocasting is performed infrequently 67
GeoTORA [Ko2000icnp,Ko2000tech]
Based on link reversal algorithm TORA for unicasting in MANET
TORA maintains a Directed Acyclic Graph (DAG) with only the destination node being a sink
68
Anycasting with Modified TORA [Ko2000tech]
A packet is delivered to any one member of an anycast group
Maintain a DAG for each anycast group
Make each member of the anycast group a sink
By using the outgoing links, packets may be delivered to any one sink
69
Anycasting
A
B
F
Links are bi-directional But algorithm imposes logical directions on them
C
E
G
D Anycast group member
Maintain an directed acyclic graph (DAG) for each anycast group, with each group member being a sink Link between two sinks is not directed
70
DAG for Anycasting
Since links between anycast group members are not given a direction, the graph is not exactly a “directed” acyclic graph
So use of the term DAG here is imprecise
Ignoring links between anycast group members, rest of the graph is a DAG
71
Geocasting using Modified Anycasting
Geocast region A B F All nodes within a specified geocasting region are made sinks
C
E
G
D Geocast group member
When a group member receives a packet, it floods it within the geocast region
72
Geocasting using Modified Anycasting
Geocast region A B F
C
E
G D Geocast group member
Links may have to be updated when a node leaves geocast region
73
Geocasting using Modified Anycasting
Geocast region A B F
E C
G D Geocast group member
Links may have to be updated when a node enters geocast region
74
Other Geocasting Schemes
[Macwan01thesis] divides space into a grid, and maintains a graph structure for each grid square.
Data transmitted using grid structures for the grid squares
that intersect with the geocast region. a b c
d
e
f
75
Other Geocasting Schemes
Mesh-based geocast routing [Boleng01]
76
Some Related Work
Content-based Multicasting [Zhou00MobiHoc]
Recipients of a packet are determined by the contents of a
packet
Example: A soldier may receive information on events within
his 1-mile radius
Role-Based Multicast [Briesmeister00MobiHoc]
Characteristics such as direction of motion are used to
determine relevance of data to a node
Application: Informing car drivers of road accidents,
emergencies, etc.
77