710 likes | 817 Views
Wireless & Mobile Networking CS 752/852 - Spring 2011. Ad Hoc Routing Layer - I. Tamer Nadeem Dept. of Computer Science. The OSI Communication Model. The OSI Communication Model. MANET – Mobile Ad Hoc Networks.
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