890 likes | 1.11k Views
Can Existing Internet Routing Protocols Be Used for MANET?. Link-state RoutingDistance-vector Routing. Link State Routing: Dijkstra's Algorithm. Each node keeps its link state to its neighbors.From each node, we gradually expand a spanning tree, until all nodes are scanned.. Link State Routin
E N D
1. A Review of Current Routing Protocols for Ad Hoc Mobile Wireless Networks IEEE Personal Communications,
April 1999, pp. 46-55
E. Royer and C.-K. Toh
2. Can Existing Internet Routing Protocols Be Used for MANET?
Link-state Routing
Distance-vector Routing
3. Link State Routing: Dijkstra’s Algorithm Each node keeps its link state to its neighbors.
From each node, we gradually expand a spanning tree, until all nodes are scanned.
4. Link State Routing: Dijkstra’s Algorithm
5. Evolution of States in C
6. Evolution of States in C (cont.)
7. Evolution of States in C (cont.) Comments: This is a centralized algorithm, not appropriate.
8. Distance Vector Periodic, two-way exchange between neighbors
During exchange, switch sends
– List of pairs
– Each pair gives (destination, distance)
Receiver
– Compares each item in list to local routes
– Changes routes if better path exists
9. Example
Destination Cost NextHop
A 1 A
C 1 C
D 2 C
E 2 A
F 2 A
G 3 A
19. Overview of Current Routing Protocols
20. On-demand vs. Table-driven
21. Source-Initiated 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
22. Table-Driven Routing Protocols Protocol 1:
DSDV: Destination Sequence Distance Vector
Protocol 2:
CGSR: Clustered Gateway Switch Routing
23. Protocol 1: DSDV (Destination Sequence Distance Vector)
“Highly Dynamic Destination-Sequence Distance-Vector Routing (DSDV) for Mobile Computers”
Charles E. Perkins & Pravin Bhagwat
Dated: 1994
Computer Communications Review, ‘94
pp. 234-244
24. DSDV Outline Each node keeps a routing table to all other nodes.
based on next-hop routing
Once its routing table changes, a node broadcasts its table to other nodes.
25. DSDV(cont.)
26. DSDV(cont.)
27. Protocol 2: CGSR (Clusterhead Gateway Switch Routing) “Routing in Clustered Multihop, Mobile Wireless Networks with Fading Channel”, C.-C. Chiang, 1996, Proc. IEEE SICON ’97, pp. 197-211.
28. CGSR: Cluster Head and Gateway The arrangement of cluster head is similar to dominating set in graph theory.
Definition: each node is either in the dominating set or is neighboring to a node in the dominating set.
29. CGSR(cont.)
30. CGSR (cont.) A routing table among cluster heads are maintained.
also based on the DSDV manner
Data forwarding steps:
from cluster head to cluster head
in a hierarchical manner
then from cluster head to cluster members
between two cluster heads, gateways are used to forward the packets
Adv: less routing information to be kept
Disadv: longer route
31. Source-Initiated On-DemandRouting Protocols AODV
DSR
TORA
ABR
SSR
ZRP
32. Protocol 1:AODV AODV: Ad hoc On-demand Distance Vector routing protocol
On track to become an IETF Experimental RFC
References
C. E. Perkins, E. M. Belding-Royer, and S. R. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing,” IETF Internet Draft, draft-ietf-manet-aodv-13.txt, Feb. 17, 2003 (work in progress).
C. E. Perkins and E. M. Royer, “Ad hoc On-Demand Distance Vector Routing,” Proceedings 2nd IEEE Workshop on Mobile Computing Systems and Applications, February 1999, pp. 90-100.
33. AODV Concepts (1) Pure on-demand routing protocol
A node does not perform route discovery or maintenance until it needs a route to another node or it offers its services as an intermediate node
Nodes that are not on active paths do not maintain routing information and do not participate in routing table exchanges
Uses a broadcast route discovery mechanism
Uses hop-by-hop routing
Routes are based on dynamic table entries maintained at intermediate nodes
Comparison: Dynamic Source Routing (DSR) uses source routing
34. AODV Concepts (2) Local HELLO messages are used to determine local connectivity
Can reduce response time to routing requests
Can trigger updates when necessary
Sequence numbers are assigned to routes and routing table entries
to supersede stale cached routing entries
Every node maintains two counters
Node sequence number
Broadcast ID
35. AODV Route Request (1) Initiated when a node wants to communicate with another node, but does not have a route to that node
Source node broadcasts a route request (RREQ) packet to its neighbors
36. AODV Route Request (2) Sequence numbers
Source sequence indicates “freshness” of reverse route to the source
Destination sequence number indicates freshness of route to the destination
Every neighbor receives the RREQ and either …
Returns a route reply (RREP) packet, or
Forwards the RREQ to its neighbors
(source_addr, broadcast_id) uniquely identifies the RREQ
broadcast_id is incremented for every RREQ packet sent
Receivers can identify and discard duplicate RREQ packets
37. AODV Route Request (3) If a node cannot respond to the RREQ
The node increments the hop count
The node saves the following information to set up a reverse path (AODV assumes symmetrical links)
Neighbor that sent this RREQ packet
Destination IP address
Source IP address
Broadcast ID
Source node’s sequence number
Expiration time for reverse path entry (to enable garbage collection)
38. AODV Example (1) Node 1 needs to send a data packet to Node 7
Assume Node 6 knows a current route to Node 7
Assume that no other route information exists in the network (related to Node 7)
39. AODV Example (2) Node 1 sends a RREQ packet to its neighbors
source_addr = 1
dest_addr = 7
broadcast_id = broadcast_id + 1
source_sequence_# = source_sequence_# + 1
dest_sequence_# = last dest_sequence_# for Node 7
40. AODV Example (3) Nodes 2 and 4 verify that this is a new RREQ and that the source_sequence_# is not stale with respect to the reverse route to Node 1
Nodes 2 and 4 forward the RREQ
Update source_sequence_# for Node 1
Increment hop_cnt in the RREQ packet
41. AODV Example (4) RREQ reaches Node 6, which knows a route to 7
Node 6 must verify that the destination sequence number is less than or equal to the destination sequence number it has recorded for Node 7
Nodes 3 and 5 will forward the RREQ packet, but the receivers recognize the packets as duplicates
42. AODV Route Reply (1) If a node receives an RREQ packet and it has a current route to the target destination, then it unicasts a route reply packet (RREP) to the neighbor that sent the RREQ packet
43. AODV Route Reply (2) Intermediate nodes propagate the first RREP for the source towards the source using cached reverse route entries
Other RREP packets are discarded unless…
dest_sequence_# number is higher than the previous, or
destination_sequence_# is the same, but hop_cnt is smaller (i.e., there’s a better path)
RREP eventually makes it to the source, which can use the neighbor sending the RREP as its next hop for sending to the destination
Cached reverse routes will timeout in nodes not seeing a RREP packet
44. AODV Example (5) Node 6 knows a route to Node 7 and sends an RREP to Node 4
source_addr = 1
dest_addr = 7
dest_sequence_# = maximum(own sequence number, dest_sequence_# in RREQ)
hop_cnt = 1
45. AODV Example (6) Node 4 verifies that this is a new route reply (the case here) or one that has a lower hop count and, if so, propagates the RREP packet to Node 1
Increments hop_cnt in the RREP packet
46. AODV Example (7) Node 1 now has a route to Node 7 in three hops and can use it immediately to send data packets
Note that the first data packet that prompted path discovery has been delayed until the first RREP was returned
47. AODV Route Maintenance Route changes can be detected by…
Failure of periodic HELLO packets
Failure or disconnect indication from the link level
Failure of transmission of a packet to the next hop (can detect by listening for the retransmission if it is not the final destination)
The upstream (toward the source) node detecting a failure propagates an route error (RERR) packet to the source node with a new destination sequence number and a hop count of infinity (unreachable)
The source (or another node on the path) can rebuild a path by sending a RREQ packet
48. AODV Example (8) Assume that Node 7 moves and link 6-7 breaks
Node 6 issues an RERR packet indicating the broken path
The RERR propagates back to Node 1
Node 1 can discover a new route
49. Protocol 2: DSR (Dynamic Source Routing) “Dynamic Source Routing in Ad-Hoc Wireless Networks”, D. B. Johnson and D. A. Maltz, Mobile Computing, 1996, pp. 153-181.
on-demand
Each host maintains a route cache which contains all routes it has learnt.
Source Routing:
routes are denoted with complete information (each hop is registered)
Two major parts:
route discovery
route maintenance
51. Route Discovery of DSR When a host has a packet to send, it first consults its route cache.
If there is an unexpired route, then it will use it.
Otherwise, a route discovery will be performed.
Route Discovery:
There is a “route record” field in the packet.
The source node will add its address to the record.
On receipt of the packet, a host will add its address to the “route record” and rebroadcast the packet.
To limit the number of ROUTE_REQUEST packets:
Each node only rebroadcasts the packet at most once.
Each node will consult its route cache to see if a route is already known.
52. ROUTE_REPLY of DSR A ROUTE_REPLY packet is generated when
the route request packet reaches the destination
an intermediate host has an unexpired route to the destination
The ROUTE_REPLY packet will contain a route generated in two manner:
from destination:
the route that was traversed by the ROUTE_REQUEST packet
from intermediate host:
the route that was traversed by the ROUTE_REQUEST packet concatenated with the route in the intermediate host’s route cache
53. Stale Route Cache Problem Definition:
A route may become broken (i.e., stale), but is unaware by a host X.
With route cache, host X may keep on distributing erroneous information to other hosts.
54. Route Maintenance of DSR When the data link layer encounters a link breakage, a ROUTE_ERROR packet will be initiated.
The packet will traverse in the backward direction to the source.
The source will then initiate another ROUTE_REQUEST.
Example: (next page)
Maintenance of route cache:
All routes which contain the breakage hop have to be removed from the route cache.
56. Packet Type: Route Request (RREQ)
57. Packet Type: Route Reply (RREP)
58. Packet Type: Data Packet
59. Packet Type: Route_Error
60. Route Concentration Problem With route cache, hosts are likely to share the same links (routes).
61. Protocol 3: TORA(Temporally Ordered Routing Algorithm) “A Highly Adaptive Distributed Routing Algorithm for Mobile Wireless Networks”, University of Maryland, V. D. Park and M. S. Corson, 1996, Proc. INFOCOM ’97.
62. TORA Outline source-initiated protocol
provide multiple paths for any source-destination pair
Like water flowing, it goes from upstream to downstream.
for highly dynamic mobile networks
63. Main Idea Regard the network as a directed graph.
For each destination, a DAG (directed acyclic graph) will be maintained.
Note: There are n copies of DAG’s, each associated with one destination, where n is the number of hosts.
In the following discussion, we only discuss one DAG associated with a destination.
The DAG is accomplished by assigning each node i a height metric hi.
A link from i to j means hi > hj.
64. Full Reversal Method A node will update its height to adapt to the change of network topology. (a destination-disoriented DAG? a destination-oriented DAG)
Height hi = (valuei, IDi)
a node will change its value to change the direction of a link
Relation: hi > hj if the following is true:
valuei > valuej
(valuei = valuej) and (Di > Dj)
Ex: (5, 4) > (4, 6)
Ex: (5, 4) > (5, 2)
Property: Given any to heights, there must exist a “>” relation between them.
65. Rule:
Each node other than the destination that has no outgoing links reverses the direction of ALL its incoming links.
This means that the node’s height is a local minimum.
This is done by getting a larger height such that the node becomes a local maximum.
MAX{all neighbors’ heights} + 1
Example: a graph with a random direction for each link
68. TORA Details Three basic functions:
route creation
route maintenance
route erasure
Three control packets:
query (QRY)
update (UPD)
clear (CLR)
69. Data Structure Each node keep a 5-tuple (t, oid, r, d, i)
t: time of the link failure.
oid (originator ID):
Unique identifier of the node that defined a new reference level
Most likely, the node who detects link breakage.
r: reflection indicator bit.
initially set to 0.
d: propagation ordering parameter (i.e., height)
i: node ID
70. Creating Routes
71. Creating Routes
72. Maintaining Routes
73. Maintaining Routes (with Reaction)
75. Maintaining Routes (cont.)
76. Protocol 4: ABR(Associativity-Based Routing) ABR considers the stability of a link.
The metric is called degree of association stability.
Basic Idea:
Each node periodically generates a beacon to signify its existence.
On receipt of the beacon, a neighboring node will increase the “tick” of the sender by 1.
A higher degree of association stability (i.e., ticks) may indicate a low mobility of that node.
A low degree of association stability may indicate a high mobility of that node.
When a link becomes broken, the node will set the tick of the other node to 0.
77. ABR Outline Route Discovery:
(similar to DSR)
On needing a route, a host will broadcast a ROUTE_REQUEST packet.
Each receiving host will append its address to the packet.
The association stability (represented by “ticks”) is also appended in the ROUTE_REQUEST packet.
The destination node will select the best route (in terms of association stability), and then respond a packet to the source.
78.
Route Reconstruction:
On route error, a node will perform a local search in hope of rebuild the path.
If the local search fails, a ROUTE_ERROR will be reported to the source.
79. Protocol 5: SSA(Signal Stability-Based Adaptive Routing) “Signal Stability-Based Adaptive Routing (SSA) for Ad Hoc Wireless Networks”
University of Maryland
R. Dube, C. D. Rais, K.-Y. Wang & S. K. Tripathi
IEEE Personal Communications, ‘97
pp. 36-45
80. Basic Idea of SSA Observation:
The ABR only considers the connectivity to nodes.
Two more metrics:
signal stability:
the strength of a signal
provided by link layer
location stability
how fast a host moves
could be measure by:
the change of signal strength over a period of time
location devices (such as GPS)
81. SSA
82. SSA(cont.)
83. Protocol 6: ZRP(Zone Routing Protocol)
The Zone Routing Protocol (ZRP) for Ad Hoc Networks
Cornell University
Z.J. Haas and M.R. Pearlman
draft-ietf-manet-zone-zrp-01.txt, 1998
84. ZRP Outline Hybrid of table-driven and on-demand!!
From each node, there is a concept of “zone”.
Within each zone, the routing is performed in a table-driven manner (proactive).
However, a node does not try to keep global routing information.
For inter-zone routing, on-demand routing is used.
This is similar to DSR.
85. ZRP Example
86. Route Discovery By an operation called “boardercast”:
sending the route-request to boarder nodes
87. Comparison of Table-Driven and On-Demand Protocols
88. Research Highlight: Resource Allocation by Pricing Ref: Y. Xue, et al., “Optimal resource allocation in wireless ad hoc networks: a price-based approach”, IEEE Trans. on Mobile Computing, 2006.
Goal: A mobile might be selfish by asking others to relay its data, but avoiding relaying data of others.
Approaches:
using clique to represent interference relations:
89. cont. price of a clique:
going up when the demand is higher than requested
going down when the demand is lower than requested
sources of flows:
adding more traffic when path price is going down
reducing traffic when path price is going up