AD HOC NETWORKS Ian F. Akyildiz Broadband & Wireless Networking Laboratory School of Electrical and Computer Engineering Georgia Institute of Technology Tel: 404-894-5141; Fax: 404-894-7883 Email: ian@ece.gatech.edu Web: http://www.ece.gatech.edu/research/labs/bwn Ad Hoc Networks Infrastructure-less wireless networks dynamically formed using only mobile hosts (no routers) Network topology dynamic as all hosts are mobile! Mobile hosts themselves double up as routers!! Multi-hop paths … Highly resource constrained Extreme case of network mobility… IFA’2004 2 Topologies -Ad Hoc Networking An ad hoc network is a peer-to-peer network (no centralized server) set up temporarily to meet some immediate need. For example, a group of employees, each with a laptop or palmtop computer may convene in a conference room for a business or classroom meeting. The employees link their computers in a temporary network just for the duration of the meeting. IFA’2004 3 Topologies -Ad Hoc Networking IFA’2004 4 Topologies -Ad Hoc Networking Differences between Ad-Hoc wireless LAN and a CLASSICAL wireless LAN The classical wireless LAN forms a stationary infrastructure consisting of one or more cells with a control module for each cell. Within a cell, there may be a number of stationary end systems. Nomadic stations can move from one cell to another. In contrast, there is no infrastructure for an ad-hoc network. Rather, a peer collection of stations within range of each other may dynamically configure themselves into a temporary network. IFA’2004 5 Illustration A B C D IFA’2004 6 Wireless Ad Hoc Networks Disaster recovery Battlefield Smart office Gaps in cellular infrastructure Virtual Navigation (cities, buildings, areas, etc..) Telemedicine (e.g., accident sites) Tele-Geoprocessing Applications Education via Internet IFA’2004 7 Classes of Wireless Ad Hoc Networks Three distinct classes – Mobile Ad Hoc Networks (MANET) possibly highly mobile nodes power constrained – Wireless Ad Hoc Sensor/Device Networks relatively immobile severely power constrained nodes large scale – Wireless Ad Hoc Backbone Networks rapidly deployable wireless infrastructure largely immobile nodes Common attributes: – Ad hoc deployment, no infrastructure – Routes between S-D nodes may contain multiple hops IFA’2004 8 Multihop Routing Traverse multiple links to reach a destination IFA’2004 9 MANET Mobility causes route changes IFA’2004 10 Variations Fully symmetric vs. asymmetries in – Transmission ranges – Battery life – Processing capability – Speed, patterns, and predictability of movement – Ability to act as multihop relay – Ability to act as leaders of a cluster of nodes Coexistence with an infrastructure Variations in traffic characteristics – Bit rate, timeliness – Unicast/multicast/geocast – Addressing (host, content, capability) IFA’2004 11 Unicast Routing in MANET Host mobility – link failure/repair due to mobility may have different characteristics than those due to other causes Rate of link failure/repair may be high when nodes move fast New performance criteria may be used – route stability despite mobility – energy consumption Many protocols have been proposed – Some have been invented specifically for MANET – Others are adapted from older protocols for wired networks No single protocol works well in all environments – some attempts made to develop adaptive protocols IFA’2004 12 Types of Protocols Proactive Protocols – Determine routes independent of traffic pattern – Traditional (link-state, distance-vector) routing protocols are proactive Reactive Protocols – Maintain routes only if needed Hybrid Protocols IFA’2004 13 Traditional Routing Algorithms Distance Vector – periodic exchange of messages with all physical neighbors that contain information about who can be reached at what distance – selection of the shortest path if several paths available Link State – periodic notification of all routers about the current state of all physical links – router gets a complete picture of the network Example – ARPA packet radio network (1973), DV-Routing – every 7.5s exchange of routing tables including link quality – updating of tables also by reception of packets – routing problems solved with limited flooding IFA’2004 14 Problems of Traditional Routing Algorithms Dynamic of the topology – frequent changes of connections, connection quality, participants Limited performance of mobile systems – periodic updates of routing tables need energy without contributing to the transmission of user data, sleep modes difficult to realize – limited bandwidth of the system is reduced even more due to the exchange of routing information – links can be asymmetric, i.e., they can have a direction dependent transmission quality Problem – protocols have been designed for fixed networks with infrequent changes and typically assume symmetric links IFA’2004 15 Routing Protocols for Ad Hoc Networks Proactive Routing Protocols – DSDV (Destination Sequenced Distance Vector) – LSR (Link State Routing) Reactive Routing Protocols – DSR (Dynamic Source Routing) – AODV (Ad-Hoc on-Demand Distance Vector) Hybrid Routing Protocols – ZRP (Zone Routing Protocol) – TORA – CEDAR (Core Extraction Distributed Ad-hoc Routing) IFA’2004 16 Proactive Routing Protocols… Unsuitable for such a dynamic network For example, consider link-state routing that sends out network-wide floods for every link-state change … Even in the absence of any existing connections, considerable overhead spent in maintaining “network state” IFA’2004 17 Goals Low overhead route computation Ability to recover from frequent failures at low-cost Scalable (with respect to mobility and number of hosts) Robust IFA’2004 18 Reactive (On-Demand) Protocols Compute routes only when needed Even if network state changes, any re-computation done only when any existing connections are affected IFA’2004 19 Dynamic Source Routing (DSR) Based on source routing On-demand Route computation performed on a perconnection basis Source, after route computation, appends each packet with a source-route Intermediate hosts forward packet based on source route TWO PHASES: ROUTE DISCOVERY & ROUTE MAINTENANCE IFA’2004 20 Dynamic Source Routing (DSR) When node S wants to send a packet to node D, but does not know a route to D, node S initiates a route discovery Source node S floods (bradcasts) Route Request (RREQ) packet. RREQ packet contains DESTINATION ADDRESS, SOURCE NODE ADDRESS and A UNIQUE IDENTIFICATION NUMBER. Each node receiving the packet checks whether it knows of a route to destination. If it does not, it appends/adds its own identifier (address) to the route record and forwards the RREQ packet. IFA’2004 21 Dynamic Source Routing (DSR) REMARK: To limit the number of route requests, a node only forwards the RREQ packet if the request has not yet been seen by the node and if the node’s address does not already appear in the route record. IFA’2004 22 Dynamic Source Routing I Split routing into discovering a path and maintaining a path Discover a path – only if a path for sending packets to a certain destination is needed and no path is currently available Maintaining a path – only while the path is in use one has to make sure that it can be used continuously No periodic updates needed! IFA’2004 23 Dynamic Source Routing II Path discovery – broadcast a packet with destination address and unique ID – if a station receives a broadcast packet if the station is the receiver (i.e., has the correct destination address) then return the packet to the sender (path was collected in the packet) if the packet has already been received earlier (identified via ID) then discard the packet otherwise, append own address and broadcast packet – sender receives packet with the current path (address list) Optimizations – limit broadcasting if maximum diameter of the network is known – caching of address lists (i.e. paths) with help of passing packets stations can use the cached information for path discovery (own paths or paths for other hosts) IFA’2004 24 Dynamic Source Routing III Maintaining paths – after sending a packet wait for a layer 2 acknowledgement (if applicable) listen into the medium to detect if other stations forward the packet (if possible) request an explicit acknowledgement – if a station encounters problems it can inform the sender of a packet or look-up a new path locally IFA’2004 25 Route Discovery in DSR Y Z S E F B C M J A L G H K I D N Represents a node that has received RREQ for D from S IFA’2004 26 Route Discovery in DSR Y Broadcast transmission [S] S E F B C L G H K I IFA’2004 M J A [X,Y] Z D N Represents transmission of RREQ Represents list of identifiers appended to RREQ 27 Route Discovery in DSR Y Z S E [S,E] F B C A M J [S,C] H G K I L D N • Node H receives packet RREQ from two neighbors: potential for collision IFA’2004 28 Route Discovery in DSR Y Z S E F B [S,E,F] C M J A L G H I [S,C,G] K D N • Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once IFA’2004 29 Route Discovery in DSR Y Z S E [S,E,F,J] F B C M J A L G H K I D [S,C,G,K] N • Nodes J and K both broadcast RREQ to node D • Since nodes J and K are hidden from each other, their transmissions may collide IFA’2004 30 Route Discovery in DSR Y Z S E [S,E,F,J,M] F B C M J A L G H K D I N • Node D does not forward RREQ, because node D is the intended target of the route discovery IFA’2004 31 Route Discovery in DSR Destination D on receiving the first RREQ, sends a Route Reply (RREP) RREP is sent on a route obtained by reversing the route appended to received RREQ RREP includes the route from S to D on which RREQ was received by node D IFA’2004 32 Route Reply in DSR Y Z S E RREP [S,E,F,J,D] F B C J A L G H K I IFA’2004 M D N Represents RREP control message 33 Route Reply in DSR Route Reply can be sent by reversing the route in Route Request (RREQ) only if links are guaranteed to be bidirectional (SYMMETRICAL) – To ensure this, RREQ should be forwarded only if it received on a link that is known to be bi-directional If unidirectional (asymmetric) links are allowed, then RREP may need a route discovery for S from node D – Unless node D already knows a route to node S – If a route discovery is initiated by D for a route to S, then the Route Reply is piggybacked on the Route Request from D. If IEEE 802.11 MAC is used to send data, then links have to be bi-directional (since ACK is used) IFA’2004 34 Dynamic Source Routing (DSR) Node S on receiving RREP, caches the route included in the RREP When node S sends a data packet to D, the entire route is included in the packet header – hence the name source routing Intermediate nodes use the source route included in a packet to determine to whom a packet should be forwarded IFA’2004 35 Data Delivery in DSR Y DATA [S,E,F,J,D] S Z E F B C M J A L G H K I D N Packet header size grows with route length IFA’2004 36 DSR Optimization: Route Caching Each node caches a new route it learns by any means When node S finds route [S,E,F,J,D] to node D, node S also learns route [S,E,F] to node F When node K receives Route Request [S,C,G] destined for node, node K learns route [K,G,C,S] to node S When node F forwards Route Reply RREP [S,E,F,J,D], node F learns route [F,J,D] to node D When node E forwards Data [S,E,F,J,D] it learns route [E,F,J,D] to node D A node may also learn a route when it overhears Data packets IFA’2004 37 Use of Route Caching When node S learns that a route to node D is broken, it uses another route from its local cache, if such a route to D exists in its cache. Otherwise, node S initiates route discovery by sending a route request Node X on receiving a Route Request for some node D can send a Route Reply if node X knows a route to node D Use of route cache – can speed up route discovery – can reduce propagation of route requests IFA’2004 38 Use of Route Caching [S,E,F,J,D] [E,F,J,D] S B [F,J,D],[F,E,S] E F C M J [C,S] A [J,F,E,S] L G H [G,C,S] D K I N Z [P,Q,R] Represents cached route at a node (DSR maintains the cached routes in a tree format) IFA’2004 39 Use of Route Caching: Can Speed up Route Discovery [S,E,F,J,D] [E,F,J,D] S [F,J,D],[F,E,S] E F B C [G,C,S] [C,S] A [J,F,E,S] M J L G H I [K,G,C,S] K D RREP N RREQ When node Z sends a route request for node C, node K sends back a route reply [Z,K,G,C] to node Z using a locally cached route IFA’2004 Z 40 Use of Route Caching: Can Reduce Propagation of Route Requests [S,E,F,J,D] Y [E,F,J,D] S [F,J,D],[F,E,S] E F B C [G,C,S] [C,S] A [J,F,E,S] M J L G H I D [K,G,C,S] K RREP N RREQ Z Route Reply (RREP) from node K limits flooding of RREQ. In general, the reduction may be less dramatic. IFA’2004 41 Route Error (RERR) Y RERR [J-D] S Z E F B C M J A L G H K I D N J sends a route error to S along route J-F-E-S when its attempt to forward the data packet S (with route SEFJD) on J-D fails Nodes hearing RERR update their route cache to remove link J-D IFA’2004 42 Route Caching: Beware! Stale (obsolete) caches can adversely affect performance With passage of time and host mobility, cached routes may become invalid A sender host may try several stale routes (obtained from local cache, or replied from cache by other nodes), before finding a good route IFA’2004 43 Dynamic Source Routing: Advantages Routes maintained only between nodes who need to communicate – reduces overhead of route maintenance Route caching can further reduce route discovery overhead A single route discovery may yield many routes to the destination, due to intermediate nodes replying from local caches IFA’2004 44 Dynamic Source Routing: Disadvantages Packet header size grows with route length Flood of route requests may potentially reach all nodes Care must be taken to avoid collisions between route requests propagated by neighboring nodes – insertion of random delays before forwarding RREQ Increased contention if too many route replies come back due to nodes replying using their local cache – Route Reply Storm problem – Reply Storm may be eased by preventing a node from sending RREP if it hears another RREP with a shorter route An intermediate node may send Route Reply using a stale cached route, thus polluting other caches This problem can be eased if some mechanism to purge (potentially) invalid cached routes is incorporated. IFA’2004 45 Ad Hoc On-Demand Distance Vector Routing (AODV) DSR includes source routes in packet headers Resulting large headers can sometimes degrade performance – particularly when data contents of a packet are small AODV attempts to improve on DSR by maintaining routing tables at the nodes, so that data packets do not have to contain routes AODV retains the desirable feature of DSR that routes are maintained only between nodes which need to communicate IFA’2004 46 AODV Route Requests (RREQ) are forwarded in a manner similar to DSR When a node re-broadcasts a Route Request, it sets up a reverse path pointing towards the source – AODV assumes symmetric (bi-directional) links When the intended destination receives a Route Request, it replies by sending a Route Reply Route Reply travels along the reverse path setup when Route Request is forwarded IFA’2004 47 AODV Ad Hoc On-demand Distance Vector Routing – Hop-by-hop routing as opposed to source routing – On-demand – When a source node wants to send a message to some destination node and does not already have a valid route to that destination, it initiates a path discovery process to locate the destination (as in DSR case) – It broadcasts the RREQ packet to its neighbors – They then send it to their neighbors until the destination or a node with “fresh enough cash information” to the destination is located. IFA’2004 48 AODV Ad Hoc On-demand Distance Vector Routing – When RREQ propagates, routing tables are updated at intermediate nodes (for route to source of RREQ) – When RREP is sent by destination, routing tables updated at intermediate nodes (for route to destination), and propagated back to source IFA’2004 49 AODV Ad Hoc On-demand Distance Vector Routing – Each node maintains its own sequence number and a broadcast ID. – The broadcast ID is incremented for every RREQ the node initiates and together with the node’s IP address, uniquely identifies an RREQ. – Along with its own sequence number and broadcast ID, the source node includes in the RREQ the most recent sequence number it has for the destination. – Intermediate nodes can reply to the RREQ only if they have a route to the destination whose corresponding destination sequence number is greater than or equal to that contained in the RREQ. IFA’2004 50 AODV Ad Hoc On-demand Distance Vector Routing – During the process of forwarding the RREQ, intermediate nodes recording their route tables the address of the neighbor from which the first copy of the broadcast packet is received establishing a reverse path. – If more same RREQs are received later, they are discarded. – RREP packet is sent back to the neighbors and the routing tables are accordingly updated. IFA’2004 51 Route Requests in AODV Y Z S E F B C M J A L G H K I D N Represents a node that has received RREQ for D from S IFA’2004 52 Route Requests in AODV Y Broadcast transmission Z S E F B C M J A L G H K I D N Represents transmission of RREQ IFA’2004 53 Route Requests in AODV Y Z S E F B C M J A L G H K D I N Represents links on Reverse Path IFA’2004 54 Reverse Path Setup in AODV Y Z S E F B C M J A L G H K I D N • Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once IFA’2004 55 Reverse Path Setup in AODV Y Z S E F B C J A L G H K I IFA’2004 M D N 56 Reverse Path Setup in AODV Y Z S E F B C M J A L G H K D I N • Node D does not forward RREQ, because node D is the intended target of the RREQ IFA’2004 57 Route Reply in AODV Y Z S E F B C M J A L G H K D I N Represents links on path taken by RREP IFA’2004 58 Route Reply in AODV An intermediate node (not the destination) may also send a Route Reply (RREP) provided that it knows a more recent path than the one previously known to sender S To determine whether the path known to an intermediate node is more recent, destination sequence numbers are used The likelihood that an intermediate node will send a Route Reply when using AODV not as high as DSR – A new Route Request by node S for a destination is assigned a higher destination sequence number. An intermediate node which knows a route, but with a smaller sequence number, cannot send Route Reply IFA’2004 59 Forward Path Setup in AODV Y Z S E F B C M J A L G H K D I N Forward links are setup when RREP travels along the reverse path IFA’2004 Represents a link on the forward path 60 Data Delivery in AODV Y DATA Z S E F B C M J A L G H K I D N Routing table entries used to forward data packet. NOTE: Route is not included in packet header as in DSR. IFA’2004 61 Timeouts A routing table entry maintaining a reverse path is purged after a timeout interval – timeout should be long enough to allow RREP to come back A routing table entry maintaining a forward path is purged if not used for a active_route_timeout interval – if no data is being sent using a particular routing table entry, that entry will be deleted from the routing table (even if the route may actually still be valid) IFA’2004 62 Link Failure Reporting A neighbor of node X is considered active for a routing table entry if the neighbor sent a packet within active_route_timeout interval which was forwarded using that entry When the next hop link in a routing table entry breaks, all active neighbors are informed Link failures are propagated by means of Route Error messages, which also update destination sequence numbers IFA’2004 63 Route Error When node X is unable to forward packet P (from node S to node D) on link (X,Y), it generates a RERR message Node X increments the destination sequence number for D cached at node X The incremented sequence number N is included in the RERR When node S receives the RERR, it initiates a new route discovery for D using destination sequence number at least as large as N When node D receives the route request with destination sequence number N, node D will set its sequence number to N, unless it is already larger than N IFA’2004 64 Link Failure Detection Hello messages: Neighboring nodes periodically exchange hello message Absence of hello message is used as an indication of link failure Alternatively, failure to receive several MAC-level acknowledgement may be used as an indication of link failure IFA’2004 65 Why Sequence Numbers in AODV To avoid using old/broken routes – To determine which route is newer To prevent formation of loops A B C D E – Assume that A does not know about failure of link C-D because RERR sent by C is lost – Now C performs a route discovery for D. Node A receives the RREQ (say, via path C-E-A) – Node A will reply since A knows a route to D via node B – Results in a loop (for instance, C-E-A-B-C ) IFA’2004 66 Optimization: Expanding Ring Search Route Requests are initially sent with small Time-to-Live (TTL) field, to limit their propagation – DSR also includes a similar optimization If no Route Reply is received, then larger TTL tried IFA’2004 67 Summary: AODV Routes need not be included in packet headers Nodes maintain routing tables containing entries only for routes that are in active use At most one next-hop per destination maintained at each node – DSR may maintain several routes for a single destination Unused routes expire even if topology does not change IFA’2004 68 Proactive Protocols Most of the schemes discussed so far are reactive Proactive schemes based on distance-vector and link-state mechanisms have also been proposed IFA’2004 69 Link State Routing Each node periodically floods status of its links Each node re-broadcasts link state information received from its neighbor Each node keeps track of link state information received from other nodes Each node uses above information to determine next hop to each destination IFA’2004 70 Destination-Sequenced Distance-Vector (DSDV) Each node maintains a routing table which stores – next hop towards each destination – a cost metric for the path to each destination – a destination sequence number that is created by the destination itself – Sequence numbers used to avoid formation of loops Each node periodically forwards the routing table to its neighbors – Each node increments and appends its sequence number when sending its local routing table – This sequence number will be attached to route entries created for this node IFA’2004 71 Destination-Sequenced DistanceVector (DSDV) Assume that node X receives routing information from Y about a route to node Z X Y Z Let S(X) and S(Y) denote the destination sequence number for node Z as stored at node X, and as sent by node Y with its routing table to node X, respectively IFA’2004 72 Destination-Sequenced Distance-Vector (DSDV) Node X takes the following steps: X Y Z – If S(X) > S(Y), then X ignores the routing information received from Y – If S(X) = S(Y), and cost of going through Y is smaller than the route known to X, then X sets Y as the next hop to Z – If S(X) < S(Y), then X sets Y as the next hop to Z, and S(X) is updated to equal S(Y) IFA’2004 73 Comparison Local Low maintenance overhead Low update overhead High access overhead Dynamic networks IFA’2004 Link state Low maintenance overhead Low access overhead High update overhead Static networks 74 Hybrid Protocols: Zone Routing Protocol (ZRP) Zone routing protocol combines – Proactive protocol: which pro-actively updates network state and maintains route regardless of whether any data traffic exists or not – Reactive protocol: which only determines route to a destination if there is some data to be sent to the destination All nodes within hop distance at most d from a node X are said to be in the routing zone of node X All nodes at hop distance exactly d are said to be peripheral nodes of node X’s routing zone IFA’2004 75 ZRP Intra-zone routing: Pro-actively maintain state information for links within a short distance from any given node – Routes to nodes within short distance are thus maintained proactively (using, say, link state or distance vector protocol) Inter-zone routing: Use a route discovery protocol for determining routes too far away nodes. Route discovery is similar to DSR with the exception that route requests are propagated via peripheral nodes. IFA’2004 76 Temporally-Ordered Routing Algorithm (TORA) On demand routing. Designed for a dynamic environment. Each node keeps routing information about adjacent nodes. A DAG (Directed Acyclic Graph) describes all discovered paths to a node. – When one link fails, its neighbors reverse direction in the DAG, and utilize another path. – Timing of failures is important, so TORA requires synchronized clocks (i.e. GPS) IFA’2004 77 Temporally-Ordered Routing Algorithm (TORA) Water flowing downhill toward to a destination node through a network of tubes/pipes that models the routing state of the real network. Tubes/pipes represent links between nodes in the network, junctions of tubes represent the nodes, and the water in the tubes represents the packets flowing toward the destination. Each node has a height with respect to the destination that is computed by the routing protocol. IFA’2004 78 Temporally-Ordered Routing Algorithm (TORA) If a tube between nodes A and B becomes blocked such that water can no longer flow through it, the height of A is set to a height greater than that of any of is remaining neighbors, such that water fill now flow back out of A (and toward the other nodes that had been routing packet to the destination via A). IFA’2004 79 Temporally-Ordered Routing Algorithm (TORA) TORA performs 3 basic functions: ROUTE CREATION ROUTE MAINTENANCE ROUTE ERASURE IFA’2004 80 TORA– ROUTE CREATION & MAINTENANCE For each node in the network a separate directed acyclic graph (DAG) is maintained for each destination. When a node needs a route to a destination, it broadcasts a QUERY packet containing the destination address. This packet travels through the network until it reaches either the destination or an intermediate node which already has a path to that destination. The recipient of the QUERY packet then broadcasts an UPDATE packet listing its height with respect to the destination. Each node receiving this UPDATE packet sets is height to a value greater than the height of the neighbor from which the UPDATE packet has been received. When a node detects a network partition, it generates a CLEAR packet that resets routing state and removes invalid routes from the network. IFA’2004 81 TORA– ROUTE CREATION & MAINTENANCE During the route creation and maintenance phases, nodes use the “height” metric to establish a DAG rooted at the destination. Links are assigned a direction (upstream or downstream) based on the relative height metric of neighboring nodes. (See Figure) IFA’2004 82 TORA– ROUTE CREATION & MAINTENANCE For node mobility when the DAG route is broken, and route maintenance is necessary to re-establish a DAG rooted at the same destination. See Figure upon failure of the last downstream link, a node generates a new reference level. Links are reversed to reflect the change. IFA’2004 83 TORA Destination IFA’2004 84 TORA Failure IFA’2004 85 TORA Reversal IFA’2004 86 TORA Reversal IFA’2004 87 TORA Reversal IFA’2004 88 TORA TORA is partially proactive and partially reactive Reactive route creation is initiated on demand. Proactive Route maintenance is done proactively such that multiple routing options are available in case of link failures. IFA’2004 89 So far ... All nodes had identical responsibilities Some schemes propose giving special responsibilities to a subset of nodes – Even if all nodes are physically identical Core-based schemes are examples of such schemes IFA’2004 90 Core-Extraction Distributed Ad Hoc Routing (CEDAR) A subset of nodes in the network is identified as the core Each node in the network must be adjacent to at least one node in the core – Each node picks one core node as its dominator (or leader) Core is determined by periodic message exchanges between each node and its neighbors – attempt made to keep the number of nodes in the core small Each core node determines paths to nearby core nodes by means of a localized broadcast – Each core node guaranteed to have a core node at <=3 hops IFA’2004 91 CEDAR: Core Nodes A G D H B C E F S A core node IFA’2004 J K Node E is the dominator for nodes D, F and K 92 CEDAR Advantages – Route discovery/maintenance duties limited to a small number of core nodes – Link state propagation a function of link stability/quality Disadvantages – Core nodes have to handle additional traffic, associated with route discovery and maintenance IFA’2004 93 SUMMARY: Characteristics of DSDV Parameters DSDV Time Complexity O(d) Link Addition/Failure Communication O(x=N) Complexity Routing Philosophy Flat 2 Number of Required Tables N = # of Nodes in Network d = Network diameter h = Height of Routing Tree x = # of affected Nodes IFA’2004 94 SUMMARY: Characteristics of On-Demand Routing Protocols Parameters Time Complexity Initialization Time Complexity Post Failure AODV O(2d) DSR O(2d) TORA O(2d) O(2d) O(2d) or O(1) O(2d) N = # of Nodes in Network d = Network diameter x = # of affected Nodes l = Diameter of affected segment y = nods forming path for Reply packet z = Diameter of path for Reply packet IFA’2004 95 SUMMARY Characteristics of On-Demand Routing Protocols Parameters Comm. Complexity Initialization Comm. Complexity Post Failure AODV O(2N) DSR O(2N) TORA O(2N) O(2N) O(2N) O(2x) N = # of Nodes in Network d = Network diameter x = # of affected Nodes l = Diameter of affected segment y = nodes forming path for Reply packet z = Diameter of path for Reply packet IFA’2004 96 SUMMARY Characteristics of On-Demand Routing Protocols Parameters Multicast Capability Beaconing Requirements Multiple Route Possibilities Expiration Timers Reconfiguration: Erase Route, Notify Source Link Reversal; Route Repair Localized Broadcast Query IFA’2004 AODV Yes DSR Yes Yes Yes TORA Optional Yes Yes Yes 97 SUMMARY Characteristics of On-Demand Routing Protocols Parameters Routing Metric: Shortest Path Routing Metric: Associativity Routing Metric: Stablility AODV Yes Routing Metric: Freshness Routing Metric: Load and Delay Yes IFA’2004 DSR Yes TORA Yes 98 Implementation Issues Several implementations apparently exist (see IETF) – only a few available publicly Where to implement ad hoc routing? – Link layer, Network layer, Application layer Address assignment – Restrict all nodes to be on the same subnet – Nodes may be given random addresses – How to assign addresses? DHCP for ad hoc network? Security – How can I trust you to forward my packets without tampering? – How do I know you are what you claim to be ? Performance – Can we make any guarantees on performance? IFA’2004 99 References [1] D. B. Johnson, D. A. Maltz, Y.-C. Hu, “The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks (DSR)”, IETF Draft, April 2003. [2] C. E. Perkins, E. M. Belding-Royer, Ian D. Chakeres, “Ad hoc On-Demand Distance Vector (AODV) Routing”, IETF Draft, January 2004. [3] Z. J. Haas, M. R. Pearlman, P. Samar, P., “The Zone Routing Protocol (ZRP) for Ad Hoc Networks” IETF Internet Draft, draft-ietf-manet-zone-zrp-04.txt, July 2002. [4] V. Park, S. Corson,”Temporally-Ordered Routing Algorithm (TORA)”, IETF Draft, draft-ietf-manet-tora-spec-03.txt, work in progress, June 2001. [5] P. Sinha, R. Sivakumar, and V. Bharghavan, "CEDAR: A CoreExtraction Distributed Ad HocroutingAlgorithm," Proc. IEEE INFOCOM '99, Mar. 1999. IFA’2004 100