1.09k likes | 1.31k Views
Routing Protocols of Ad Hoc Network. Introduction. What is Ad Hoc Network. 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.
E N D
Introduction • What is Ad Hoc Network • 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! • Security new vulnerabilities, nasty neighbors • Power running with batteries, little computing power.
The Expected Properties of Protocols • A routing protocol should be distributed • Assume routes as unidirectional links • Power efficient • Consider its security • Hybrid protocols can be preferred • Be aware of Quality of Service
Three categories of Protocols • Table Driven Routing Protocols Pro-active, learn the network’s topology before a forwarding request comes in • On-Demand Routing Protocols Re-active, become active only when needed • Hybrid routing protocols Use pro-active protocol in local zone, use re-active protocol between zones.
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 • Ad hoc On-demand Distance Vector 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 packet till it reaches the destination source RREQ 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 reinitiate 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 destination (1,3) 3 7 (1,4,7) 2 The node discards the packets having been seen (1,2) 6 5 (1,3,5,6) (1,3,5) 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 initiate 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 flooded through network to erase invalid routes
The source broadcasts a QRY packet with height(D)=0, all others NULL (0,0,0,3,a) (-,-,-,-,a) (-,-,-,-,d) (0,0,0,2,d) QRY source a d Only the non-NULL node (destination) responds with a UPD packet. Dest. QRY QRY h (-,-,-,-,c) (0,0,0,4,c) UPD (0,0,0,0,h) c g (-,-,-,-,g) (0,0,0,1,g) b (-,-,-,-,b) (0,0,0,4,b) f e (0,0,0,2,f) (-,-,-,-,f) (-,,-,-,-e) (0,0,0,3,e) 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 Dest. h (0,0,0,0,h) (0,0,0,4,c) c g (0,0,0,1,g) b (0,0,0,4,b) f e (0,0,0,2,f) (0,0,0,3,e)
Re-establishing route after link failure A new reference level is defined (1,d,0,-2,s) (0,0,0,4,s) (1,d,0,-1,a) (0,0,0,3,a) (0,0,0,2,d) (1,d,0,0,d) UDP s a d UDP Dest. h (0,0,0,0,h) (0,0,0,4,c) c g (0,0,0,1,g) b (0,0,0,4,b) f e (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 Re-construction If the LQ process backtracking >1/2 path, new discovery from source. 1 S Node times out, sends RN packet to upstream node to erase invalid node and invoke LQ LQ 3 7 6 2 RN 9 5 LQ D 8 Node broadcasts a LQ packet If the D receives the LQ, it replies.
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.
Signal Stability Routing • Selects route based on the signal strength between nodes and a node’s location stability • Comprise two protocols: • Dynamic Routing Protocol (DRP) • Static Routing Protocol (SRP)
Dynamic Routing Protocol • DRP maintains the signal strength of neighboring nodes by periodic beacon from neighbor • Signal strength is recorded as a strong or weak channel • After the updating, DRP passes the packet to the SRP • SRP processes the route search
The source broadcast a QRY packet source 1 4 destination 8 3 7 2 6 5 The QRY packets are forwarded only if they are received over strong channel. No packet can be sent over weak channel Strong channel Weak channel
The problem is if there are only weak links can reach the destination. What happen?
The source times out, it changes the PREF field in the header Weak channel are acceptable 1 4 source destination 8 3 7 2 6 5 Strong channel Weak channel
Route Maintenance • The intermediate node sends an error message to the source if link fails • The source initiates another route-search process to find a new path to the destination • The source also send an erase message to erase the invalid node
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.
Comparison of throughput Because sometimes stale routes are selected in DSR
AODV has less delay than DSR • AODV replies to first RREQ, so it chooses the least congested route.
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
Pro-active Ad-hoc Routing Protocols • DSDV 1994 – Destination Sequenced Distance-Vector • WRP 1996 – Wireless Routing Protocol • Fisheye 1999 – Fisheye State Routing
Pro-active Ad-hoc Routing Protocols • DSDV 1994 – Destination Sequenced Distance-Vector • WRP 1996 – Wireless Routing Protocol • Fisheye 1999 – Fisheye State Routing
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