1 / 44

Ad Hoc Networks Routing (1/2)

Ad Hoc Networks Routing (1/2). Instructor: Carlos Pomalaza-Ráez Fall 2003 University of Oulu, Finland. Mobile Ad Hoc Networks (MANET).

makaio
Download Presentation

Ad Hoc Networks Routing (1/2)

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. Ad Hoc Networks Routing(1/2) Instructor: Carlos Pomalaza-RáezFall 2003University of Oulu, Finland

  2. Mobile Ad Hoc Networks (MANET) A loose collection of mobile nodes that are capable of communicating with each other without the aid of any established infrastructure or centralized administration • Main Features • Dynamic topology, e.g. nodes can join or leave the network as well as they can change the range of their transmissions • Each node acts as independent router • Because of the wireless mode of communication: • Bandwidth-constrained and variable capacity links • Limited transmitter range • Energy-constrained • Limited physical security • MAC and network protocols are of a distributed nature • Complex routing protocols with large transmission overheads and large processing loads on each node

  3. Dynamic Topology Node mobility in Ad Hoc networks has had a great effect in the designing of routing protocols Node mobility creates a dynamic topology, i.e., changes in the connectivity between the nodes as a direct function of the distance between each other, the characteristics of the area where they are deployed and,, of course, the power of their transmitters

  4. Where We Find Ad Hoc Networks • Military operations • Rescue and recovery scenarios • Local Area • Office, building WLANs • Home networks • Robot networks • Sensor networks • Personal Area Networking • Interconnection of wireless devices • Games • Habitat monitoring • Micro climate • Wildlife

  5. Routing Protocols • Desired Properties • Distributed • Consider both uni- and bi-directional links • Energy efficient • Secure • Performance Metrics • Data throughput, i.e., how well does the network deliver packets from the source to destination • Delay, e.g., end-to-end delay of packet delivery • Overhead costs, i.e., average of control packets produced per node • Power consumption, i.e., average power used by each node

  6. Proactive vs. Reactive • Proactive routing maintains routes to every other node in the network • Table driven • Regular routing updates impose large overhead • No latency in route discovery, i.e., data can be sent immediately • Most routing information might never be used • Suitable for high traffic networks • Bellman-Ford type algorithms • Reactive routing maintains routes to only those nodes which are needed • Cost of finding routes is expensive since flooding is involved • Might be delay before transmitting data • Cache information from other nodes’ transmissions • May not be appropriate for real-time applications • Good for low/medium traffic networks

  7. Proactive vs. Reactive S S D D Proactive Reactive Timer Based On Demand Route Updates Route REQ Routes Route REP Data Flow Data Flow

  8. Mobility (proactive vs. reactive) S S D D Proactive Reactive Timer Based On Demand Must wait for the updates to be transmitted, processed and new routing tables be built A new route request is sent and a new route is found

  9. Destination Sequenced Distance Vector DSDV Traditional distance vector algorithms are based on the classical Bellman-Ford (DBF) algorithm. This algorithm has the drawback that routing loops can occur. To eliminate or minimize the formation of loops the nodes are required to often coordinate and communicate among themselves. The problem is composed if there are frequent topological changes. The Routing Information Protocol (RIP) is based on this type of algorithm. The application of RIP to Ad Hoc networks is limited since it was not designed for such environment. The objective of DSDV protocols is to preserve the simplicity of RIP and avoid the looping problem in a mobile wireless environment. Main features of DSDV are: • Routing tables have entries for every network destination and the number of hops to each • Each route table entry is tagged with a sequence number originated by the destination • Nodes periodically communicate their routing table to their neighbors and when there is a significant new information available • Routing information is normally transmitting using a broadcasting or multicasting mode

  10. DSDV Route Tables Entry Structure • Destination’s address • Number of hops required to reach the destination • Sequence number of the information received regarding that destination, as originally stamped by the destination Within the headers of the packet, the transmitter route tables usually carry the node hardware address, the network address, and the route transmission sequence number. Receiving a transmission from a neighbor doesn’t indicate immediately the existence of a bi-directional link with that neighbor. A node does not allow routing through a neighbor until that neighbors shows that it also has the node as a neighbor. This means that DSDV algorithms use only bi-directional links. An important parameter value is the time between broadcasting routing information packets. However when any new and substantial route information is received by a mobile node, the updated route information is transmitted as soon as possible.

  11. DSDV-Topological Changes • Broken links are a normal occurrence in Ad Hoc networks. They are detected by the MAC layer or inferred if no transmissions are received from a neighbor for some time • A broken link is given a metric of ∞ and an updated sequence number • A broken link translates into a substantial route change and thus this new routing information is immediately broadcasted to all neighbors • To propagate new routing information, particularly the one generated by broken links, and to avoid large transmission overheads two types of routing packets are used: • Full dump – carries all the available information • Incremental – carries only information changed after the last dump • When a node receives a new routing packet the information is compared to the one already available at the node • Routes with a more recent sequence number are always used • Newly computed routes are scheduled for immediate advertisement

  12. DSDV Operation - Example D F E B D’s Routing Table G C H A Metric = Number of hops to reach destination Sequence Number = The freshness of received route, used to avoid routing loops Install Time = Indicates when a received route was installed, used for damping route fluctuations

  13. DSDV Operation – Example (A moves) D F E B G C H A A • When A moves and it is detected as routing neighbor by G and H it causes these nodes to advertise their updated routing information (incremental update) • Upon reception of this update F updates its own routing tables and broadcast the new information • D receives this update and carries out an update of its routing table

  14. DSDV Operation – Example (A moves)

  15. Every packet carries the routing sequence Intermediate nodes may learn routes on “heard” traffic (RREQ, RREP, DATA) No periodic sending of routing packets May piggyback route requests on route replies Must use link layer feedback to find broken links Uses “traditional” routing tables Hello messages sent periodically to identify neighbors Sequence numbers guarantees freshness Route requests are sent in reverse direction, i.e. only uses bi-directional links May use link layer feedback to find broken links Reactive Protocols Dynamic Source Routing (DSR) Ad-Hoc On Demand Distance Vector (AODV)

  16. DSR – Overview • To send a packet the sender constructs a source route in the packet’s header • The source route has the address of every host through which the packet should be forwarded to reach its destination • Each host in the ad hoc network maintains a route cache in which it stores source routes it has learned • Each entry in the route cache has an expiration period, after which it will be deleted • If the sender doesn’t have a route to a destination it then attempts to find out by using a routing discovery process • While waiting for the routing discovery to complete the sender continues sending and receiving packets with other hosts • Each host uses a route maintenance procedure to monitor the correct operation of a route D. B. Johnson and D. A. Maltz, “Dynamic Source Routing in Ad-Hoc Wireless Networks,” In Mobile Computing, edited by T. Imielinski and H. Korth, Chapter 5, pages 153-181, Kluwer Academic Publishers, 1996.

  17. A-D A A A A-B A-C H H H H H H DSR – Route Discovery Source broadcasts a route packet with the address of the source and destination s A B D H A neighbor that receives the request looks up its route cache to look for a route to destination. If not found it appends its address into the packet and re-broadcasts it C G D F E node discards packets having been seen

  18. A-B-E-F A-B-E A-B-G H H H DSR – Route Discovery s A B D H C G D node discards packets having been seen F E

  19. DSR – Route Discovery reply packet follows the reverse path of the route request packet recorded in broadcast packet s A B A-B-G-H D H A-B-G-H C A-B-G-H G D F E

  20. Lookup Cache for route A to G Route found? Start Route Discovery Protocol no Buffer packet yes Continue normal processing wait yes Write route in packet header Packet in buffer? Route Discovery finished Send packet to next-hop no done Route Discovery: at source A A need to send to G

  21. Accept route request packet Discard route request yes yes Discard route request Appendmy-Addr to partial route no Store <src-id> in list Send route reply packet Broadcast packet Route Discovery: At an intermediate node <src-id> in recently seen requests list? no Host address already in partial route? no my-Addr =target? yes done

  22. DSR – Route Maintenance • Usually the data link layer has a mechanism to detect a link failure • When a link failure is detected the host sends a route error packet to the original sender of the packet • The route error packet has the address of the host who detected the failure and the host to which it was attempting to transmit the packet • When a route error packet is received by a host, the hop in error is removed from the host’s route cache, and all routes which contain this hop are truncated at that point • To return the route error packet the host uses a route in its route cache to the sender of the original packet. It the host does not have a route it can reverse the route information carried in the packet that could not be forwarded because of the link error. The later assumes that only bidirectional links are being used for routing • Another option to return route error packets is to perform a route discovery process to find a route to the original sender and use that route

  23. DSR - Optimizations Several optimizations are possible to reduce the amount of overhead traffic Route Cache During the process of route discovery and maintenance a host receives, directly or indirectly, information about routes to other hosts thus minimizing the need to search for that information in the future. For example in the following ad hoc network let’s assume that node A performs a route discovery to E A B C D E Route Request A-B-C-D-E Route Reply Since hosts B, C, and D are on the route to E, host A also learns the routes to B, C, and D. Likewise these “intermediate hosts” learn about routes to each other by looking into the content of the route reply packet

  24. DSR - Optimizations Piggybacking on Route Discoveries To minimize the delay in delivering a data packet when there is no route to the destination and a route discovery process is needed one can piggyback the data on the route request packets Learning by “listening” If the host operate in promiscuous receiving mode, i.e. they receive and process every transmission in their range, then they can obtain substantial information about routing, e.g., in the following network, Nodes B, C, and D, listen a process the route error packet from E to A. Since the route error packet identifies precisely the hop where the failure was detected hosts B, C, and D can update their route cache with this information D C A E Route Error B

  25. DSR - Summary • On-demand, potentially zero control message overhead if topology does not change often • Packet delays/jitters associated with on-demand routing • It can work with unidirectional links as well as bidirectional links • Route caching used to minimize route discovery overhead • Promiscuous mode operations can translate in excessive use of power • Not easily scalable to large networks since the protocol design assumed a small network diameter • The need to place the entire route in the route replies and data packets translates in large on the air packet overhead • Allows for the possibility to keep multiple routes to a destination in the route cache • CPU and memory use demands on each host are high since the routes have to be continuously maintained and updated

  26. Ad-Hoc On Demand Distance Vector (AODV)Overview • Based on the Destination-Sequenced Distance-Vector (DSDV) algorithm • On-demand route acquisition • Nodes maintain route cache and uses destination sequence number for each route entry • Does nothing when connection between end points is still valid • Route Discovery Mechanism is initiated, by broadcasting a Route Request Packet (RREQ), when a route to new destination is needed • The neighbors forward the request to their neighbors until either the destination or an intermediate node with a “fresh enough” route to the destination is located • Route Reply packets are transmitted upstream the path taken by the Route Request packet to inform the original sender (an intermediate nodes) of the route finding • Route Error Packets (RERR) are used to erase broken links C. E. Perkins, E. M. Royer, “Ad-Hoc on Demand Distance Vector Routing,” Proc. IEEE WMCSA ’99, Feb. 1999, pp. 90-100.

  27. AODV – Path Finding neighbors re-broadcast the packet until it reaches the intended destination Source broadcasts a route request packet S A B RREQ D H reply packet follows the reverse path of the route request packet recorded in broadcast packet RREP C G D node discards packets that have been seen F node discards packets that have been seen E

  28. AODV - Path Maintenance • Periodic hello messages can be used to ensure symmetric links and to detect link failures • Hello messages include a list of nodes that the host has heard of • Once a next hop becomes unavailable the host upstream of the link failure propagates an unsolicited RREP with a hop count of ∞ to all active upstream neighbors • Upon receiving notification of a broken link a source node can restart the discovery process if they still need a route to destination

  29. Temporally Order Routing Algorithm (TORA†)Overview • It is distributed • Provides loop-free routes and multiple routes • Source-initiated • Creates routes to destination only when desired • Minimizes reaction to topological changes, localizing reaction to a very small nodes near the change • Fast recovery upon route failures • Detects a network partition when there is one and erases all invalid routes within a finite time • Three basic functions: • Route creation • Route maintenance • Route erasure (†) V. D. Park and M. S. Corson, “A Highly Adaptive Distributed Routing Algorithm for Mobile Wireless Networks,” Proceedings of IEEE INFOCOM '97, Kobe, Japan (April 1997).

  30. TORA – Route Creation During the route creation nodes use a “height” metric to build a directed acyclic graph (DAG) rooted at the destination. Links have a direction (upstream or downstream) based on the relative height metric of neighboring nodes, e.g., Source Heightmetric Destination

  31. TORA – Height Metric • The height metric associated with each node is an ordered quintuple is Hi = (i, oidi, ri,δi, i) where: • i is the logical time of a link failure, defines a new reference level • oidi is the unique ID of the node that defined the reference level • ri denotes two unique sub-levels of a reference level • δi is used to order the nodes with respect to a common reference level • i is the unique ID of the node itself • Each node i (other than the destination) maintains its height Hi. Initially the height is set to NULL, Hi = [-, -, -, -, i]. The height of the destination is always ZERO, HdID = [0, 0, 0, 0, dID]. At each node there is a height array with an entry NHi,j for each neighbor i, єV. Initially the height of each neighbor is set to NULL, if a neighbor is a destination its corresponding entry in the height array is set to ZERO.

  32. TORA – Route Creation (example) [—, —, —, —,B] B and D propagate QRY B QRY [—, —, —, —,A] QRY [—, —, —, —,E] A E QRY QRY QRY A and G propagate QRY D [—, —, —, —,D] C initiatesQRY C F [0, 0, 0, 0,F] QRY QRY [—, —, —, —,C] QRY G H [—, —, —, —,H] [—, —, —, —,G]

  33. TORA – Route Creation (example) [—, —, —, —,B] B [—, —, —, —,A] [—, —, —, —,E] A E D [—, —, —, —,D] C F [0, 0, 0, 0,F] UPD [—, —, —, —,C] UPD G H [0, 0, 0, 1,H] [—, —, —, —,G] H generates UPD

  34. TORA – Route Creation (example) D and G propagate UPD, E generates UPD [—, —, —, —,B] B UPD [—, —, —, —,A] [0, 0, 0, 1,E] A E UPD UPD D [0, 0, 0, 2,D] C F [0, 0, 0, 0,F] UPD [—, —, —, —,C] G H [0, 0, 0, 1,H] [0, 0, 0, 2,G]

  35. TORA – Route Creation (example) A, B, and C propagate UPD [0, 0, 0, 2,B] B UPD [0, 0, 0, 3,A] [0, 0, 0, 1,E] A UPD E UPD D [0, 0, 0, 2,D] C F [0, 0, 0, 0,F] [0, 0, 0, 3,C] G H [0, 0, 0, 1,H] [0, 0, 0, 2,G]

  36. TORA – Route Creation (example) Route creation process complete [0, 0, 0, 2,B] B [0, 0, 0, 3,A] [0, 0, 0, 1,E] A E D [0, 0, 0, 2,D] C F [0, 0, 0, 0,F] [0, 0, 0, 3,C] G H [0, 0, 0, 1,H] [0, 0, 0, 2,G]

  37. TORA – Route Creation (visualization) [0, 0, 0, 3,A] [0, 0, 0, 3,C] A Source C [0, 0, 0, 2,B] B [0, 0, 0, 2,D] D G [0, 0, 0, 1,E] E [0, 0, 0, 2,G] [0, 0, 0, 1,H] H [0, 0, 0, 0,F] F Destination

  38. TORA – Maintaining RoutesLink failure with no reaction No reaction is needed since all nodes still have downstream links [0, 0, 0, 3,A] [0, 0, 0, 3,C] A Source C [0, 0, 0, 2,B] B [0, 0, 0, 2,D] D Link (B,E) fails G [0, 0, 0, 1,E] E [0, 0, 0, 2,G] [0, 0, 0, 1,H] H [0, 0, 0, 0,F] F Destination

  39. TORA – Re-establishing RoutesAfter link failure of last downstream link [0, 0, 0, 3,A] [0, 0, 0, 3,C] A Source C [0, 0, 0, 2,B] B [0, 0, 0, 2,D] D G [0, 0, 0, 1,E] E Link (D,H) fails [0, 0, 0, 2,G] [0, 0, 0, 1,H] H [0, 0, 0, 0,F] F Destination

  40. TORA – Re-establishing RoutesAfter link failure of last downstream link [1, D, 0, 2,D] and broadcasts an UPD D defines a new reference level D [0, 0, 0, 3,A] [0, 0, 0, 3,C] A Source C [0, 0, 0, 2,B] B G [0, 0, 0, 1,E] E [0, 0, 0, 2,G] [0, 0, 0, 1,H] H [0, 0, 0, 0,F] F Destination

  41. TORA – Re-establishing RoutesAfter link failure of last downstream link [1, D, 0, 2,D] [1, D, 0, -1,B] D B B updates its height and broadcasts an UPD to propagates the reference level [0, 0, 0, 3,A] [0, 0, 0, 3,C] A Source C G [0, 0, 0, 1,E] E [0, 0, 0, 2,G] [0, 0, 0, 1,H] H [0, 0, 0, 0,F] F Destination

  42. TORA – Re-establishing RoutesAfter link failure of last downstream link [1, D, 0, 2,D] [1, D, 0, -1,B] D B [1, D, 0, -2,A] A [0, 0, 0, 3,C] Source C A updates its height and broadcasts an UPD to propagates the reference level G [0, 0, 0, 1,E] E [0, 0, 0, 2,G] [0, 0, 0, 1,H] H [0, 0, 0, 0,F] F Destination

  43. TORA – Route Re-establishment Failure reaction completed [1, D, 0, -1,B] B [1, D, 0, -2,A] [0, 0, 0, 1,E] A E D [1, D, 0, 0,D] C F [0, 0, 0, 0,F] [0, 0, 0, 3,C] G H [0, 0, 0, 1,H] [0, 0, 0, 2,G]

  44. TORA - Summary • Designed for operation in mobile wireless networks • Well suited for networks with large dense populations of nodes • Ability to detect network partitions and erase all invalid routes within a finite time • Quickly creates and maintains routes for destination for which routing is desired • Minimizes the number of nodes reacting to topological changes • Needs a synchronization mechanism to achieve a temporal order of events

More Related