1 / 89

A Review of Current Routing Protocols for Ad Hoc Mobile Wireless Networks

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

garrison
Download Presentation

A Review of Current Routing Protocols for Ad Hoc Mobile Wireless Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    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-Demand Routing 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

More Related