Introduction To Ad Hoc Networks and Routing Protocols Presented By : Karthik Samudram Jayaraman Introduction • What is Ad Hoc Network? • In Latin, ad hoc means "for this," further meaning "for this purpose only.” • All nodes are mobile and can be connected dynamically in an arbitrary manner. • No default router available. • Potentially every node becomes a router: must be able to forward traffic on behalf of others. Two types of wireless networks • Infrastructured network: A network with fixed and wired gateways. When a mobile unit goes out of range of one base station, it connects with new base station. • Infrastructureless (ad hoc) networks: All nodes of these networks behave as routers and take part in discovery and maintenance of routes to other nodes. Why is Ad Hoc hard? • Because of a constantly changing set of nodes – Routing is a major issue! • Security new vulnerabilities, nasty neighbors. • Power running with batteries, little computing power. The Desired Properties of Protocols (For Routing) 1. 2. 3. 4. 5. A routing protocol should be distributed. Assume routes as unidirectional links. Power efficient. Consider its security. Hybrid protocols can be preferred. Two Main categories of Protocols 1. Table Driven Routing Protocols Pro-active, learn the network’s topology before a forwarding request comes in 2. On-Demand Routing Protocols Re-active, become active only when needed Destination Sequenced Distance Vector Algorithm (DSDV) 1. Based on Bellman-Ford Next Hop Routing. 2. Each Node Maintains Tables for : A. Next Hop on Path B. Distance (in hops) to destination. C. Sequence Number ( keep current route) 3. Nodes Exchange Updates With Neighbours • Full Routing Updates • Incremental Updates DSDV contd… ClusterHead Gateway Switch Routing • Adds hierarchical structure having DSDV as • • • underlying routing algorithm. Routing is performed over clusterheads and not individual nodes. Requires Table to maintain cluster Membership, in addition to other routing tables. Cluster heads are selected by a Least Cluster Change Algorithm to minimize routing changes Wireless Routing Protocol • Each node maintains a distance table, a routing table, a link-cost table and a message retransmission list. • Distance table of node i: (matrix) For each destination j and each neighbor of i(k) • Distance to j Wireless Routing Protocol • Routing table of node i is a vector: • The destination’s identifier • The distance to the destination • The predecessor and successor of the chosen shortest path Wireless Routing Protocol • Link-cost Table: • The cost of relaying information through each neighbor • Message retransmission list: • One or more retransmission entries Wireless Routing Protocol • Information Exchanged among nodes: (routing table update messages ) • Identifier of the sending node • A sequence number assigned by the sending node • An update list of updates or ACKs to update message • A response list of nodes that should send an ACK to the update message Wireless Routing Protocol • Each node will communicate with its neighbors reporting any changes in the system • Each node will keep track of which node should send an acknowledgement • Nodes will keep track of the changes in the system by periodic transmission of ‘hello’ messages • This protocol will force nodes to do consistent check of their predecessor hence avoiding countto-infinity problem. DSDV DSDV is based on idea of classical Bellman-Ford Routing Algorithm Each node maintains a routing table listing all available destinations. The attributes of each destination are the next hop, the number of hops to reach to the destination, and a sequence number, which is originated by the destination node. Both periodic and triggered routing updates to maintain table Problems of Distance Vector Pro-active routing based on Distance Vector • Topology changes are slowly propagated • Count-to-infinity problem • Moving nodes create confusion: • they carry connectivity data which are wrong at new place • Table exchange eats bandwidth DSDV How DSDV addresses the problems? • Tagging of distance information: • The destination issues increasing sequence number • Other nodes can discard old/duplicate updates • Changes are not immediately propagated • Wait some setting time • Incremental updates instead of full table exchange What is “on-demand” • The routes are created when required • The source has to discover a route to the destination. • The source and intermediate nodes have to maintain a route as long as it is used. • Routes have to be repaired in case of topology changes. On-Demand Routing Protocols 1. Ad hoc On-demand Distance Vector 2. 3. 4. 5. Routing Dynamic Source Routing Protocol Temporally Ordered Routing Algorithm Associativity Based Routing Signal Stability Routing Ad Hoc On-demand Distance Vector Routing • AODV includes route discovery and route maintenance. • AODV minimizes the number of broadcasts by creating routes on-demand • AODV uses only symmetric links because the route reply packet follows the reverse path of route request packet. • AODV uses hello messages to know its neighbors and to ensure symmetic links. The source broadcasts a route packet The neighbors in turn broadcast the source RREQ packet till it reaches the destination destination RREP Reply packet follows the reverse path of route request packet recorded in broadcast packet The node discards the packets having been seen Route Maintenance • If the source node moves, it reinitiates the route discovery. • If intermediate node moves, its upstream node sends a RREP to the source. The source restarts the route discovery. Dynamic Source Routing Protocol • A node maintains route caches containing the routes it knows. • Include route discovery and route maintenance. Route discovery • The source sends a broadcast packet which contains source address, destination address, request id and path. • If a host saw the packet before, discards it. • Otherwise, the route looks up its route caches to look for a route to destination, If not find, appends its address into the packet, rebroadcast, • If finds a route in its route cache, sends a route reply packet, which is sent to the source by route cache or the route discovery. source broadcasts a packet containing address of source and destination source (1,4) 1 4 The destination sends a reply packet to source. 8 (1,3) destination 3 7 2 (1,2) (1,4,7) The node discards the packets having been seen 5 (1,3,5) 6 (1,3,5,6) The route looks up its route caches to look for a route to destination If not find, appends its address into the packet How to send a reply packet • If the destination has a route to the source in its route cache, use it • Else if symmetric links are supported, use the reverse of route record • Else if symmetric links are not supported, the destination initiates route discovery to source Route maintenance • Whenever a node transmits a data packet, a route reply, or a route error, it must verify that the next hop correctly receives the packet. • If not, the node must send a route error to the node responsible for generating this route header • The source restart the route discovery Add entries into route cache • The Source and destination in route discovery • Intermediate hosts in route discovery • The hosts receiving any broadcast Temporally Order Routing Algorithm • Creating Routes: query/reply • QRY packet is flooded through network • UPD packet propagates back if route exist • Maintaining Routes: link-reversal • UPD packets re-orient the route structure • Erasing Routes • CLR packet is floodthrough network to erase invalid routes The source broadcasts a QRY packet with height(D)=0, all others NULL (0,0,0,3,a) (-,-,-,-,a) source a (-,-,-,-,d) (0,0,0,2,d) QRY d Only the non-NULL node (destination) responds with a UPD packet. QRY QRY (-,-,-,-,c) (0,0,0,4,c) UPD h Dest. (0,0,0,0,h) c g (-,-,-,-,g) (0,0,0,1,g) b (-,-,-,-,b) (0,0,0,4,b) e (-,,-,-,-e) (0,0,0,3,e) f (0,0,0,2,f) (-,-,-,-,f) A node receiving a UPD sets its height to one more than UPD Source receives a UPD with less height TORA: Height metric • Each node contains a quintuple • Logical time of a link failure • Unique ID of the node that defined the new reference level • Reflection indicator bit • A propagation ordering parameter, height • Unique ID of the node Route Maintenance and Erasing • No reaction necessary if all nodes still have downstream links. • A new reference level is defined if a node loses its last downstream link. • Synchronized clock is important, accomplished via GPS or algorithm such as Network Time Protocol. • CLR packet to be flooded to clear the invalid packet. Link failure with no reaction (0,0,0,3,a) (0,0,0,2,d) a d h c Dest. (0,0,0,0,h) (0,0,0,4,c) g (0,0,0,1,g) b (0,0,0,4,b) e f (0,0,0,2,f) (0,0,0,3,e) Re-establishing route after link failure (1,d,0,-2,s) (0,0,0,4,s) s A new reference level is defined (1,d,0,-1,a) (0,0,0,3,a) (1,d,0,0,d) UDP (0,0,0,2,d) a d UDP h c Dest. (0,0,0,0,h) (0,0,0,4,c) g (0,0,0,1,g) b (0,0,0,4,b) e f (0,0,0,2,f) (0,0,0,3,e) Associativity Based Routing • Each route keeps a associativity table • A high value of associativity tick indicates a low state of node mobility • A route is selected based on associativity states of nodes, finds the high value of associativity tick (low mobility routes) Associativity table • All nodes generate periodic beacons • When a neighbor node receives a beacon, it increases its associativity tick with respect to the sending node in associativity table • Associativity ticks are reset when the neighbors of a node or the node itself move out of proximity Route Discovery • The source broadcast a QRY message • Each intermediate node appends its address and associativity ticks to QRY, • The destination can examine the associativity ticks to select route. If the multiple paths have the same overall degree of stability, select the minimum number of hops Route Erasing • If the the route is no longer desired, the source may not be aware of any route node changes because partial reconstruction. • The source node initiates a route delete (RD) broadcast to erase the invalid route. Conclusion • DSR has lower routing load than AODV Because AODV has to depend on route discovery more often, DSR limits the overhead by using route cache • TORA is higher because its overhead is the sum of neighbor discovery plus routing creating and maintenance • DSR and AODV perform well than TORA, delivering over 95% packet regardless of mobility rate. • TORA is lower because the link-reversal process fails in the routing maintenance. • TORA has a better performance in the less sources. Advantage and Disadvantage • The overhead of TORA is worst. It has a better delivery ratio in less sources. • DSR is good at all mobility rate and movement speed. Its performance is poor in a higher load. • AODV performs almost as well as DST at all mobility rates and movement. It depends more on route discovery which may increase overhead in • network Overview On-Demand Overall complexity Overhead Loop-free Beaconing requirements Multiple route support Routes maintained in Route reconfigurati on methodology Routing metric AODV Medium DSR Medium TORA High ABR High SSR High Low Yes No Medium Yes No Medium Yes No High Yes Yes High Yes Yes No Yes Yes No No Route table Route cache Route table Route table Route table Erase route; notify source Erase route; notify source Link reversal; route repair Localized broadcast query Erase route; notify source Freshest and shortest path Shortest path Shortest path Associativity and shortest path and others Associativity and stability Reference 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Routing Protocols for Ad Hoc Mobile Wireless Networt by Padmini Misra, ftp://ftp.netlab.ohio-state.edu/pub/jain/courses/cis78899/adhoc_routing/index.html#CBRP A Comparison of On-Demand and Table Driven Routing for Ad-Hoc Wireless Networks, by Jyoti Raju and J.J. Garcia-Luna-Aceves, http://www.soe.ucsc.edu/~jyoti/paper2/ A New Routing Protocol for the Reconfigurable Wireless Networks, Zygmunt J Hass Caching strategies in on-demand routing protocols for wireless ad hoc networks, by Yih-chun hu and Divid B. Johnson, http://monarch.cs.cmu.edu Highly Dynamic Destination-Sequenced Distance-Vector Routing for Mobile Computers, Pravin Bhagwat, Charles E. Perkins Dynamic source routing in ad hoc wireless networks, by David B. Johnson and David A. Maltz, http://www1.ics.uci.edu/~atm/adhoc/paper-collection/johnson-dsr.pdf A Performace Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols, Josh Broch etc An Efficient Routing Protocol for Wireless Netwrok, Shree Murthy etc Temporally-Ordered Routing Algorithm (TORA) Version 1 Funtional Specification, by V. Park, S. Corson, http://www1.ics.uci.edu/~atm/adhoc/papercollection/corson-draft-ietf-manet-tora-spec-00.txt Ad Hoc On Demand Distance Vector (AODV) Routing, by Charles Perkins, http://www1.ics.uci.edu/~atm/adhoc/paper-collection/perkins-draft-ietf-manet-aodv00.txt Reference (cont.) 7. 8. 9. 10. 11. 12. 13. 14. An Introduction to Mobile Ad Hoc Network, by Ming Yu Jiang, http://kiki.ee.ntu.edu.tw/mmnet1/adhoc/ Scalable Routing Strategies for Ad hoc Wireless Network, by Atsushi Iwata , ChingChuan Chiang etc. A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols, by Josh Broch, David A. Maltz, David B. Johnson, Yih-Chun Hu, Jorjeta Jetcheva, http://www1.ics.uci.edu/~atm/adhoc/paper-collection/johnsonperformance-comparison-mobicom98.pdf Fisheye State Routing: A Routing Schema for Ad Hoc Wireless Networks, by guangyu Pei, Mario Gerla, Tsi-Wei Chen A review of current Routing protocols for ad-hoc Mobile Wireless Networks, by Elizabeth M. Royer and C-K Toh http://www.cs.ucsb.edu/~vigna/courses/CS595_Fall01/royer99review.pdf CEDAR: a Core-Extraction distributed Ad Hoc Routing Algorithm, Prasun Sinha, Vaduvur Nharghavan, etc Mobile computing today & in the future, by M.J. Fahham and M.K. Hauge. http://www.doc.ic.ac.uk/~nd/surprise_95/journal/vol4/mjf/report.html Performance Comparison of On-demand Routing Protocols in Ad Hoc Network by Sohela Kaniz http://fiddle.visc.vt.edu/courses/ecpe6504wireless/projects_spring2000/pres_kaniz.pdf