Issues: Routing in Ad-hoc Networks Mobility Bandwidth constraint Error-prone and shared channel Location-dependent contention Other resource constraints TDDD36: Routing
Issues: Multicas routing ... Robustness Efficiency Control overhead Quality of service Efficient group management Scalability Security TDDD36: Routing
Unicast Routing Protocols Many protocols have been proposed Some have been invented specifically for MANET Others are adapted from previously proposed protocols for wired networks No single protocol works well in all environments some attempts to develop adaptive protocols TDDD36: Routing
The ideal protocol (p303) Distributed Localized (and scalable) Adaptive Minimal maintenance and overhead Loop free (and free from stale routes) Balance scares resources usage against performance (and/or QoS) TDDD36: Routing
Routing protocol classification Route information mechanism Proactive (table-driven) Reactive (demand-driven) Hybrid Temporal information Past vs. Future information Routing toplogy Flat vs. hierarchical Specific reources Geography or Power TDDD36: Routing
Route update mechanism Proactive (or table-drive) protocols: Determine routes independent of traffic pattern Traditional link-state and distance-vector routing protocols • Destination Sequenced Distance Vector (DSDV) • Optimized Link State Routing (OLSR) Reactive (or demand-drive) protocols Route is only determined when actually needed Protocol operates on demand • Dynamic Source Routing (DSR) • Ad hoc On-demand Distance Vector (AODV) • Temporally Ordered Routing Algorithm (TORA) Hybrid Protocols: Combine these behaviors (e.g., table in limited zone, and demand drive otherwise) • Zone Routing Protocol (ZRP) • Greedy Perimeter Stateless Routing (GPSR) TDDD36: Routing
Routing protocols for wireless ad hoc networks Sensor networks Mobile ad hoc networks Response time, Energy bandwidth Proactive Reactive protocols protocols Dynamic Optimized Link- Ad Hoc On-Demand Destination-Sequenced Source Geography- Cluster-based State Routing Distance-Vector Distance-Vector (DSDV) Routing based routing (or hierarchical ) (OLSR) (AODV) (DSR) routing GPSR TDDD36: Routing
Some general trade-offs Latency of route discovery Proactive protocols may have lower latency • Routes are maintained at all times Reactive protocols may have higher latency • Route from X to Y will be found only when X attempts to send to Y Overhead of route discovery/maintenance Proactive protocols can (but not necessarily) result in higher overhead due to continuous route updating Reactive protocols may have lower overhead • Routes are determined only if needed Which approach achieves a better trade-off depends on the traffic and mobility patterns TDDD36: Routing
Ad hoc networks: terminology Broadcast: message sent to all neighbors within range Flooding: message sent to all nodes in the network by neighbors forwarding message to their neighbors etc. Different from wired network! TDDD36: Routing
Dynamic Source Routing (DSR) [Johnson96] 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 Route Request (RREQ) Each node appends own identifier when forwarding RREQ TDDD36: Routing
Reactive protocols – DSR In a reactive protocol, how to forward a packet to destination? Initially, no information about next hop is available at all One (only?) possible recourse: Send packet to all neighbors – flood the network Hope: At some point, packet will reach destination and an answer is sent pack – use this answer for backward learning the route from destination to source Practically: Dynamic Source Routing (DSR) Use separate route request/route reply packets to discover route • Data packets only sent once route has been established • Discovery packets smaller than data packets Store routing information in the discovery packets TDDD36: Routing
Dynamic source routing (DSR) Reactive routing protocol 2 phases, operating both on demand : Route discovery • Used only when source S attempts to to send a packet to destination D • Based on flooding of Route Requests (RREQ) Route maintenance • Makes S able to detect, while using a source route to D, if it can no longer use its route (because a link along that route no longer works) TDDD36: Routing
DSR: Route discovery (1) K F H Q A E P S G D J B M R I L C N TDDD36: Routing
DSR: Route discovery (2) K F H Q A E P S G D (S) J B M R I L C N TDDD36: Routing
DSR: Route discovery (3) (S,A) K F H Q A (S,E) E P S G D J B M R I L C N TDDD36: Routing
DSR: Route discovery (4) K F H Q A (S,E,G) E P S G D J B M R I L C N (S,B,C) TDDD36: Routing
DSR: Route discovery (5) (S,A,F,H) K F H Q A (S,E,G,J) E P S G D J B M R I L C N TDDD36: Routing
DSR: Route discovery (6) K F H (S,A,F,H,K) Q A E P S G D J B M R I L C N TDDD36: Routing
DSR: Route discovery (7) K F H Q A E P S G D (S,A,F,H,K,P) J B M R I L C N TDDD36: Routing
DSR: Route discovery (8) K F H Q A E P S G D J RREP(S,E,G,J,D) B M R I L C N TDDD36: Routing
DSR: Route Discovery (9) Route reply by reversing the route (as illustrated) works only if all the links along the route are bidirectional If unidirectional links are allowed, then RREP may need a reverse route discovery from D to S Note: IEEE 802.11 assumes that links are bidirectional TDDD36: Routing
DSR: Data delivery K F H Q A DATA(S,E,G,J,D) E P S G D J B M R I L C N TDDD36: Routing
DSR: Route maintenance (1) K F H Q A DATA(S,E,G,J,D) E P S G D X J B M R I L C N TDDD36: Routing
DSR: Route maintenance (2) K F H Q A RERR(G-J) E P S G D X J B M R I L C N When receiving the Route Error message (RERR), S removes the broken link from its cache. It then tries another route stored in its cache; if none, it initializes a new route discovery TDDD36: Routing
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 TDDD36: Routing
Route Reply in DSR Y Z RREP [S,E,F,J,D] S E F B C M L J A G H D K I N Represents RREP control message TDDD36: Routing
Route Reply in DSR Route Reply can be sent by reversing the route in Route Request (RREQ) only if links are guaranteed to be bi-directional 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) TDDD36: Routing
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 TDDD36: Routing
Data Delivery in DSR Y DATA [S,E,F,J,D] Z S E F B C M L J A G H D K I N Packet header size grows with route length TDDD36: Routing
When to Perform a Route Discovery When node S wants to send data to node D, but does not know a valid route node D TDDD36: Routing
DSR modifications, extensions Intermediate nodes may send route replies in case they already know a route Problem: stale route caches Promiscuous operation of radio devices – nodes can learn about topology by listening to control messages Random delays for generating route replies Many nodes might know an answer – reply storms NOT necessary for medium access – MAC should take care of it Salvaging/local repair When an error is detected, usually sender times out and constructs entire route anew Instead: try to locally change the source-designated route Cache management mechanisms To remove stale cache entries quickly Fixed or adaptive lifetime, cache removal messages, … TDDD36: Routing
DSR: Optimization of route discovery: route caching Principle: each node caches a new route it learns by any means Examples When node S finds route (S, E, G, J, D) to D, it also learns route (S, E, G) to node G In the same way, node E learns the route to D Same phenomenon when transmitting route replies Moreover, routes can be overheard by nodes in the neighbourhood However, route caching has its downside: stale caches can severely hamper the performance of the network TDDD36: Routing
Recommend
More recommend