710 likes | 825 Vues
This resource provides a comprehensive overview of ad hoc routing in Mobile Ad Hoc Networks (MANETs), detailing the unique challenges posed by the absence of infrastructure and the dynamic nature of node mobility. It contrasts MANET routing with cellular communications, highlighting issues like power consumption, scalability, and security. Key protocols such as DSR, AODV, and flooding techniques are discussed, along with proactive and reactive routing strategies. The implications of rapid topology changes and the impact of mobility on network performance are also explored.
E N D
Wireless & Mobile NetworkingCS 752/852 - Spring 2011 Ad Hoc Routing Layer - I Tamer Nadeem Dept. of Computer Science
MANET – Mobile Ad Hoc Networks • Collection of mobile nodes connected by wireless links, forming an autonomous network • Nodes run on batteries – power consumption is an issue • Thus • routing is multi-hop • each node also acts as a router • Scalability is an issue S E F B C M J A G H D K I
MANET vs Cellular MANET • No infrastructure, lack of centralized control • Frequent topology changes due to node mobility • All communications over wireless medium Cellular Communications • Fixed, pre-located base stations • Static backbone network topology • Reliable backbone links; only last link is wireless
Applications • Civilian environments • meeting rooms • smart homes • multimedia classrooms • Emergency operations • disaster relief • search and rescue • law enforcement • Military applications
Challenges • Limited wireless transmission range • Broadcast nature of the wireless medium • Packet losses due to transmission errors • Mobility-induced route changes • Mobility-induced packet losses • Battery constraints • Potentially frequent network partitions • Ease of snooping on wireless transmissions (security hazard)
Topology Challenges Network connectivity defined by node proximity and wireless medium characteristics 2 1 2 1 3 1 2 3 3 4 4 4 1 3 2 Due to mobility the network topology undergoes rapid changes 4
MAC Challenges • Hidden terminal problem • Unreliable physical layer • multi-path fading • high Bit Error Rate (BER) • other impairments • Mobility
Routing Schemes Unicast Broadcast Geocast Anycast Multicast
Routing in MANET • Why is routing in MANET challenging? • Without (necessarily) using a pre-existing infrastructure • Main culprit: mobility • network topology is changing rapidly (link failure/repair) • Rate of link failure/repair may be high when nodes move fast • Main challenge: maintain and distribute up-to-date routing information withoutsaturating the network
Routing in MANET • Numerous protocols have been proposed • Flavors: • adapted from protocols previously proposed for wired networks • invented specifically for MANET • Major approaches • Proactive: routing information is maintained proactively regardless of communication requests • e.g. traditional link-state and distance-vector routing protocols are proactive • Reactive: a route to a destination is found and maintained only when the route is needed
Proactive vs Reactive • Latency of route discovery • proactive protocols may have lower latency since routes are maintained at all times • reactive protocols may have higher latency because a route from X to Y will be found only when X attempts to send to Y • Overhead of route discovery/maintenance • reactive protocols may have lower overhead since routes are determined only if needed • proactive protocols can (but not necessarily) result in higher overhead due to continuous route updating • Which approach is better depends on traffic and mobility patterns
Sample Routing Protocols • Pure flooding • DSR • AODV • LAR
Flooding (1/5) • Sender S broadcasts data packet P to all its neighbors • Each node receiving P forwards P to its neighbors • Sequence numbers are used to avoid forwarding the same packet more than once • The destination D does not forward the packet
Flooding (2/5) Y Broadcast transmission Z S E F B C M L J A G H D K I N Represents a node that receives packet P for the first time Represents transmission of packet P
Flooding (3/5) Y Z S E F B C M L J A G H D K I N Node H receives packet P from two neighbors: potential for collision
Flooding (4/5) Y Z S E F B C M L J A G H D K I N Node C receives packet P from G and H, but does not forward it again, because node C has already forwarded packet P
Flooding (5/5) Y Z S E F B C M L J A G H D K I N • Flooding completed • Nodes unreachable from S do not receive packet P (e.g., node Z) • Nodes for which all paths from S go through the destination D • also do not receive packet P (example: node N)
Flooding: Summary • Advantage: simplicity • Potentially, very high overhead • data packets may be delivered to too many nodes who do not need to receive them • Potentially lower reliability of data delivery • flooding uses MAC broadcasting -- hard to implement reliable broadcast delivery without significantly increasing overhead • Broadcasting in IEEE 802.11 MAC is unreliable • Need end-to-end reliability
Flooding Control Packets • Many protocols perform limited flooding of control packets, instead of data packets • Control packets are used to discover routes or to send link-state updates • Discovered routes are subsequently used to send data packet(s) • Overhead of control packet flooding is amortized over data packets transmitted between consecutive control packet floods
Dynamic Source Routing (DSR) [Johnson96] • When source S wants to send a packet to node D, but does not know a route to D, it initiates a route discovery • Source node S floods a Route Request (RREQ) • Each node appends own identifier when forwarding the RREQ
DSR: Route Discovery (1/3) Y Broadcast transmission Z [S] S E F B C M L J A G H D K I N Represents transmission of RREQ [X,Y] Represents list of identifiers appended to RREQ
DSR: Route Discovery (2/3) Y Z S [S,E] E F B C M L J A G [S,C] H D K I N
DSR: Route Discovery (3/3) Y Z S E F [S,E,F,J] B C M L J A G H D K I N [S,C,G,K] Nodes J and K both broadcast RREQ to node D Since nodes J and K are hidden from each other, their transmissions may collide
DSR: Route Reply (1/2) • Destination D upon receiving the first RREQ, sends back to S a Route Reply (RREP) • RREP is sent on the route obtained by reversing the route appended to the received RREQ • RREP includes the route from S to D on which RREQ was received by node D
DSR: Route Reply (2/2) Y Z S RREP [S,E,F,J,D] E F B C M L J A G H D K I N Represents RREP control message
DSR: Data Delivery (1/2) • S upon receiving RREP, caches the route included in the RREP • When 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 the packet should be forwarded
DSR: Data Delivery (2/2) Y Z DATA [S,E,F,J,D] S E F B C M L J A G H D K I N Packet header size grows with route length
DSR Optimization: Route Caching • Each node caches a new route it learns by some means • When S finds route [S,E,F,J,D] to node D, S also learns route [S,E,F] to node F • When node K receives the Route Request [S,C,G], K learns route [K,G,C,S] to S • When node F forwards Route Reply RREP[S,E,F,J,D], F learns route [F,J,D] to 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
DSR: Route Caching (1/3) • Advantages: • can speed up route discovery • can reduce propagation of route requests (RREQ)
DSR: Route Caching (2/3) Y [S,E,F,J,D] [E,F,J,D] S E [F,J,D],[F,E,S] F B [J,F,E,S] C M L [G,C,S] J A G [C,S] H D K [K,G,C,S] I N RREP RREQ Z Route Reply (RREP) from node K limits flooding of RREQ In general, the reduction may be less dramatic
DSR: Route Caching (3/3) • Stale caches can adversely affect performance • With passage of time and host mobility, cached routes may become invalid • In some cases, a sender may try several stale routes (obtained from its local cache, or from cache of some other node), before finding a good route
DSR: Route Maintenance - Route Error (RERR) Y Z RERR [J-D] S E F B C M L J A G H D K I N When J’s attempt to forward a data packet (with route S-E-F-J-D) on link (J-D) fails, J sends a route error (RERR) to S along route J-F-E-S Nodes hearing RERR update their route cache to remove link (J-D) When node S receives the RERR, it initiates a new RREQ
Summary of DSR • Routes maintained only between nodes who need to communicate • 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 • Complicated Cache Management mechanisms • Packet header size grows with route length due to source routing
Ad-hoc On-Demand Distance Vector Routing (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 • When the intended destination receives a Route Request, it replies by sending a Route Reply • Route Reply travels along the reverse path set-up when Route Request is forwarded
AODV: Route Request (1/5) Y Broadcast transmission Z S E F B C M L J A G H D K I N Represents transmission of RREQ
AODV: Route Request (2/5) Y Z S E F B C M L J A G H D K I N Represents links on Reverse Path
AODV: Route Request (3/5) Y Z S E F B C M L J A G H D K I N Represents links on Reverse Path F sets up a reverse path entry in its routing table: reverse path entry
AODV: Route Request (4/5) Y Z S E F B C M L J A G H D K I N
AODV: Route Request (5/5) Y Z S E F B C M L J A G H D K I N D does not forward RREQ, because it is the intended target of the RREQ
AODV: Route Reply (1/2) Y Z S E F B C M L J A G H D K I N Represents links on path taken by RREP
AODV: Route Reply (1/2) • An intermediate node 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 • Forward links are set up when RREP travels along the reverse path
AODV: Forward Path Setup Y Z S E F B C M L J A G H D K I N F adds a forward path entry in its routing table: forward path entry
AODV: Data Delivery Y DATA Z S E F B C M L J A G H D K I N Represents a link on the forward path • Routing table entries used to forward data packet • Route is not included in packet header
AODV: Route Maintenance - Route Error (RERR) • 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
Information “Freshness” Assured • Each originating node maintains a monotonically increasing sequence number. • Used by other nodes to determine the freshness of the information. • Every nodes routing table contains the latest information available about the sequence number for the IP address of the destination node for which the routing information is maintained. • Updated whenever a node receives new information about the sequence number from RREQ, RREP, or RERR messages received related to that destination.
Information “Freshness” Assured • AODV depends on each node in the network to own and maintain its destination sequence number. • A destination node increments its own sequence number immediately before it originates a route discovery • A destination node increments its own sequence number immediately before it originates a RREP in response to a RREQ • The node treats its sequence number as an unsigned number when incrementing accomplishing sequence number rollover. • Destination information is assured by comparing the sequence number of the incoming AODV message with its sequence number for that destination.
ADOV: Summary • Nodes maintain routing tables containing entries only for routes that are in active use • Routes are not included in packet headers • At most one next-hop per destination is maintained at each node • DSR may maintain several routes for a single destination