1 / 64

Routing for Mobile Ad Hoc Networks

Routing for Mobile Ad Hoc Networks. May need to traverse multiple links to reach a destination. Mobility causes route changes. Why ad hoc networks? Ease of deployment Speed of deployment Decreased dependence on infrastructure. Mobile Ad Hoc Networks. Reactive protocols

frisco
Download Presentation

Routing for Mobile Ad Hoc 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. Routing for Mobile Ad Hoc Networks

  2. May need to traverse multiple links to reach a destination. Mobility causes route changes. Why ad hoc networks? Ease of deployment Speed of deployment Decreased dependence on infrastructure Mobile Ad Hoc Networks

  3. Reactive protocols Maintain routes only if needed DSR, AODV Proactive protocols Determine routes independent of traffic generation. Traditional distance-vector and link-state routing protocols are proactive. OLSR, DSDV Hybrid protocols ZRP Unicast Routing protocols

  4. Many protocols are doing with the help of flooding. A sender broadcast packets to all its neighbors. Each node receiving a packet forwards it to its neighbors. Flooding

  5. Flooding for data delivery transmission range A source J G C I M B F O H D K destination L E N In this graph, a link existing between two nodes means that two nodes are within a transmission range each other.

  6. Flooding for data delivery Node D receives the packet from two neighbors, causing potential collision. A J G C I M B F O H D K L E Node D and F receives the same packet again. So packets need to have sequence numbers. N

  7. Flooding for data delivery Node K receives the packet from two neighbors, causing potential collision. A J G C I M B F O H D K L E N

  8. It is simple. It is efficient, especially in the cases when nodes transmit data infrequently and topology change happens frequently. Data delivery is reliable potentially because data is sent over all possible links. Flooding: advantages

  9. It requires high overhead because data should be delivered to too many nodes, most of which do not need to receive them. It can not guarantee the data delivery because of collision on the way. Flooding: disadvantages

  10. Flooding is used for the delivery of control packets, not data packets. The control packets are flooded to discover routes. Then data packet is sent over the discovered path. Dynamic Source Routing (DSR)

  11. {C} {C} {C} {C} {C} Route discovery in DSR A J G C I M B F O H D K L E N C initiate the route discovery by flooding Route Request(RREQ). Each node appends its id to RREQ when it forwards RREQ.

  12. Route discovery in DSR A J G {C,G} C I M B F O {C,F} H D K L E N

  13. Route discovery in DSR A J G C I M B F O {C,G,I} H D K {C,F,H} L E N Node K receives two RREQs. It may choose the shorter one (hops).

  14. Route discovery in DSR A J G C I M B F O H D K L E {C,F,H,K} N

  15. When a destination node receives RREQ, it sends a Route Reply(RREP). RREP is sent by reversing the route appended in the RREQ if the links are bidirectional. If links are unidirectional, the destination node(D) may need a route discovery. In that case RREP is piggybacked on RREQ from D. RREP contains the complete path from the sender to the destination. Route Reply in DSR

  16. Route reply in DSR A J G C I M B F O H D K L E {C,F,H,K,L} N

  17. Data delivery in DSR A J G C I M {C,F,H,K,L} B F O H D K L E N Entire nodes on the path are included in the packet header. That is why it is called source routing.

  18. Promiscuous listening Data delivery is unicast. So packets have next hop’s IP address and MAC address. When next hop node’s MAC layer receives a frame, it compares destination MAC address with its MAC address. Since they do not match, MAC layer discards the frame. To avoid it, MAC layers use the promiscuous listening. In this case, MAC layer delivers frames to its network layer regardless of matching destination address with its MAC address. Data delivery in DSR

  19. Each node overhears route information when RREQ, RREP, and data packets are exchanged They cache all routes they learned. The cached routes can speed up the route discovery, and reduce the propagation of route request. DSR optimization: routing cache

  20. What each node learns? {C,A} {C,G,I,J} {C,G} A {C,F,H,K,L} J G {C,G.I,M} C {C,B} I M {C,F,H,K,L} {C,G.I,M,O} B {C,G.I} F O H D K {C,D} {C,F,H,K,L} {C,F,H,K,L} L E N {C,F,H,K,L} {C,D,E}

  21. Use of Route Caching {C,A} {C,G,I,J} {C,G} A {C,F,H,K,L} J G {C,G.I,M} C {C,B} I M {C,F,H,K,L} {C,G.I,M,O} B {C,G.I} F O H D K {C,D} {C,F,H,K,L} {C,F,H,K,L} L E N {C,F,H,K,L} {C,D,E} If N wants to send packet to F, N sends RREQ to L. Now L knows the route to F, and sends RREP to N without any further flooding of RREQ.

  22. {C,F,H,K} {C,F,H,K} {C,F,H,K} Route Error {C,A} {C,G,I,J} {C,G} A J G {C,G.I,M} C {C,B} I M {C,G.I,M,O} B {C,G.I} F O H D K {C,D} {C,F,H,K} L E N {C,F,H,K,L} {C,D,E} If K detects link failure to L, it sends a route error(RERR) to C along the path K-H-F-C. The nodes which receive RERR, they delete the link K-L.

  23. The danger is hiding in the use of routing cache like any other cache. When nodes moves, cached routes may be invalid. Stale cache can affect adverse performance. Problem of Routing Cache use

  24. Is there any edge over flooding data packets? It’s like virtual-circuit vs. datagram. If there is a flow of packets, DSR can offset the overhead of flooding for route discovery. Route caching can further reduce the route discovery overhead. DSR: advantage

  25. Packet header size grows as route hops increase. The problems of flooding still exist. Route Request packets may collide. Too many route replies come back due to nodes using route cache. An intermediate nodes send route replies using stale cache route information, thus polluting other caches. DSR: disadvantage

  26. Probabilistic scheme Counter-based scheme Distance-based scheme How to reduce the broadcast domain?

  27. On receiving a packet, a node rebroadcast the packet with probabilistic p. Probabilistic broadcast

  28. If a node hears more than k neighbors broadcast a packet, then the node will not forward the packet. Rationale: If k neighbors broadcast the packet, then all its neighbors are highly likely to hear the packet. Counter-based broadcast

  29. If a node A hear a packet sent by a node Z which is located within physical distance d, then A does not broadcast the packet. Rationale: Since A and Z are very close, all A’s neighbors can hear the packet once Z broadcast the packet. Distance-based broadcast A <d B

  30. Simple fact: “The more information we have, the better we can do.” LAR (Location-Aided Routing) Query Localization GEDIR (Geographic Distance Routing) How to reduce the scope of route request flooding?

  31. It exploits the physical location information (maybe by GPS) to limit the flooding scope. Expected Zone is determined as a region where the destination is probably located at this moment. X: last known location of node D at t0 Y: unknown location of node D at t1 Location-Aided Routing (LAR) Y = |X – (t1-t0) * estimate of D’s speed|

  32. Route Request flooding is limited to Request Zone which encompasses the Expected Zone and the location of the sender. Request Zone Expected Zone A B X D S Y C

  33. Only nodes in the request zone forward the route requests. • Request zone is explicitly specified in the route requests. • Each node has physical location so that it can know whether it is located in the request zone. • If route discovery fails, the sender initiates another route discovery using a larger request zone. • Rest of the protocol is similar to DSR. Request Zone Expected Zone A B X D S Y C

  34. It limits route requests without knowing physical location. Route requests are propagated along the path that are close to the previously known path. How can we define “closeness”? Rationale: There is a locality of the position. Request route is forwarded to the nodes whose accumulated path in the route request contains only at most k new nodes that were not absent in the old route. Query Localization

  35. Original route: {A, C, D, E} A J G C I M B F O H D K L E N

  36. Nodes J, K, M do not forward route request because the path has more than 2 new nodes. {A, C, G, I, J} Original route: {A, C, D} A J G C I M B F O H K L E N D Now D moved.

  37. Geographic Distance Routing(GEDIR) • Each node knows its own location. (maybe by GPS) • The sender knows the location of the destination node. • Each node forwards a packet to its neighbor closest to the destination. • But the problem arises when an obstruction exists. A G C I B F H D

  38. Packets do not need to carry the route in its header unlike DSR. AODV is similar to DSR in that route requests propagated and route replay is traversed back to the source on the path. But, unlike DSR, intermediate nodes set up routing tables to determine the next hop to reach the destination. Ad-Hoc On-Demand Distance Vector Routing (AODV)

  39. Route discovery in AODV A Reverse path J G C I M B F O H D K L E N Source propagates route requests. On receiving route requests, nodes record reverse paths.

  40. Route discovery in AODV A J G C I M B F O H D K L E N

  41. Route discovery in AODV A J G C I M B F O H D K L E N

  42. Route discovery in AODV A J G C I M B F O H D K L E N

  43. Route reply in AODV The destination node sends route reply back to the source. On receiving route reply, intermediate nodes set up routing table to reach the destination. A J G C I M B F O H D K L E N Dest Dest Seq # Next hop L L 10 K’s routing table

  44. Route reply in AODV A J G C I M B F O H D K L E N Dest Dest Seq # Next hop L K 10 H’s routing table

  45. Route reply in AODV A J G C I M B F O H D K L Dest N Dest Seq # Next hop L H 10 F’s routing table

  46. Route reply in AODV A J G C I M B F O H Dest Dest Seq # Next hop K L F 10 L N C’s routing table

  47. A routing entry for each destination has a destination sequence number. When routes are changed or broken, the destination sequence number is used to determine which route is newer. It is also used to prevent forming loops. Destination Sequence Number

  48. A routing table entry is removed unless it is used during a timeout interval. Node H is unable to forward a packet on link (H,K), it generates a RERR packet. Node H increments the destination sequence number for L cached in its routing table. The incremented sequence number is included in the RERR. When node C receives the RERR, it initiates a new route discovery for L using larger destination sequence number than the current number(N). When node L receives the route request with N, L sets its sequence number to N unless its current number is larger than N. Route Error

  49. RREP RREP RREQ RREQ Loop might happen • Assume that link C-D is broken and A does not know about the link failure because RERR sent by C is lost. • Now C initiates a route discovery for D. A receives the RREQ. • Node A replies since A knows a route to D via B. • Finally C has a new route for D (C-E-A-B-C), but it forms a loop. A B C D E

  50. RREQ(20) RREQ(20) Destination Sequence Number prevents loop • Assume that the current destination sequence number for D is 10. • C sends RREQ with incremented number (20). • When A receives the RREQ, it compares the numbers. Because new number is larger than its current number, A ignore RREQ. 10 10 10 10 20>10 Ignore RREQ A B C D E

More Related