1 / 83

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

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. Introduction. Two types of wireless networks: infrastructured network: base stations are the bridges

anneke
Télécharger la présentation

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. Introduction • Two types of wireless networks: • infrastructured network: • base stations are the bridges • a mobile host will communicate with the nearest base station • handoff is taken when a host roams from one base to another • ad hoc network: • infrastructureless: no fixed base stations • without the assistance of base stations for communication • Due to transmission range constraint, • two MHs need multi-hop routing for communication • quickly and unpredictably changing topology

  3. MANET • MANET = Mobile Ad Hoc Networks • a set of mobile hosts, each with a transceiver • no base stations; no fixed network infrastructure • multi-hop communication • needs a routing protocol which can handle changing topology

  4. Applications of MANET • battlefields • nature disaster areas • fleet in oceans • historical cites • festival ground

  5. Related Research • IEEE 802.11 for Wireless LANs • MAC • PHY • IETF manet group • to stimulate research and discuss possible standards in this area • Routing Protocols: • unicast – AODV, DSR, ZRP, TORA, CBRP, CEDAR • multicast – MAODV, AMRoute, ODMRP, AMRIS

  6. Resources and Applications • NS-2: • AODV, DSR, DSDV, TORA • Telcordia: Intelligent Transportation System • AODV • MAODV: to distributed emergency information

  7. Challenge of Ad Hoc Networks • No centralized entity • Mobile host is no longer just an end system • Acting as an intermediate system • Changing network topology over time • Every node can be mobile

  8. Routing in MANET

  9. Can Existing Internet Routing Protocols Be Used for MANET? • Link-state Routing • Distance-vector Routing

  10. 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.

  11. Link State Routing: Dijkstra’s Algorithm Initial State: each host only knows its direct neighbors

  12. Evolution of States in C

  13. Evolution of States in C (cont.)

  14. Evolution of States in C (cont.) • Comments: This is a centralized algorithm, not appropriate.

  15. Overview of Current Routing Protocols

  16. On-demand vs. Table-driven • Table-Driven Routing Protocol: • proactive!! • continuously evaluate the routes • attempt to maintain consistent, up-to-date routing information • when a route is needed, one may be ready immediately • when the network topology changes • the protocol responds by propagating updates throughout the network to maintain a consistent view

  17. 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

  18. Table-Driven Routing Protocols Protocol 1: DSDV: Destination Sequence Distance Vector Protocol 2: CGSR: Clustered Gateway Switch Routing

  19. 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

  20. 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.

  21. DSDV(cont.)

  22. DSDV(cont.)

  23. 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.

  24. 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.

  25. CGSR(cont.) (5 hops) (3 hops)

  26. 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

  27. Source-Initiated On-DemandRouting Protocols AODV DSR TORA ABR SSR ZRP

  28. 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.

  29. 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-hoprouting • Routes are based on dynamic table entries maintained at intermediate nodes • Comparison: Dynamic Source Routing (DSR) uses source routing

  30. 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

  31. type flags resvd hopcnt broadcast_id dest_addr dest_sequence_# source_addr source_sequence_# 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

  32. 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

  33. 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)

  34. 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) 4 6 1 7 5 3 2

  35. 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 4 6 1 7 5 3 2

  36. 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 4 6 1 7 5 3 2

  37. 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 4 6 1 7 5 3 2

  38. 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 type flags rsvd prsz hopcnt dest_addr dest_sequence_# source_addr lifetime

  39. 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

  40. 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 4 6 1 7 5 3 2

  41. 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 4 6 1 7 5 3 2

  42. Dest Next Hops 7 4 3 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 4 6 1 7 5 3 2

  43. 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

  44. AODV Example (8) 4 • 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 6 1 7 5 3 2 7

  45. 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

  46. Route Discovery Route Reply

  47. 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.

  48. 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

  49. 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.

  50. 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.

More Related