173/152, Winter 2006 obile d oc etworks (T) obile d oc etworks (T) ntroduction Unicast Routing Properties ormed by wireless hosts which may be mobile Without (necessarily) using a pre existing infrastructure Routes between nodes may potentially contain multiple hops cknowledgment: elected slides from Prof. itin Vaidya Why? ase of deployment peed of deployment ecreased dependence on infrastructure 2 obile d oc etworks obile d oc etworks (T) ay need to traverse multiple links to reach a destination obility causes route changes 3 4 Page 1
any pplications any Variations (1) Personal area networking ell phone, laptop, ear phone, wrist watch ilitary environments oldiers, tanks, planes ivilian environments Taxi cab network eeting rooms ports stadiums oats, small aircraft mergency operations earch and rescue Policing and fire fighting ully ymmetric nvironment ll nodes have identical capabilities and responsibilities symmetric apabilities Transmission ranges and radios may differ attery life at different nodes may differ Processing capacity may be different at different nodes peed of movement symmetric Responsibilities Only some nodes may route packets ome nodes may act as leaders of nearby nodes (e.g., cluster head) 5 6 any Variations (2) Traffic characteristics may differ in different ad hoc networks it rate Timeliness constraints Reliability requirements Unicast / multicast / geocast ost based addressing / content based addressing / capability based addressing ay co exist (and co operate) with an infrastructure based network any Variations (3) obility patterns may be different People sitting at an airport lounge ew ork taxi cabs ids playing ilitary movements Personal area network obility characteristics peed Predictability irection of movement Pattern of movement Uniformity (or lack thereof) of mobility characteristics among different nodes 7 8 Page 2
hallenges idden Terminal Problem imited wireless transmission range roadcast nature of the wireless medium idden terminal problem (see next slide) Packet losses due to transmission errors obility induced route changes obility induced packet losses attery constraints Potentially frequent network partitions ase of snooping on wireless transmissions (security hazard) odes and cannot hear each other Transmissions by nodes and can collide at node odes and are hidden from each other 9 10 Research on T The oly rail Variations in capabilities & responsibilities X Variations in traffic characteristics, mobility models, etc. X Performance criteria (e.g., optimize throughput, reduce energy consumption) + ncreased research funding = ignificant research activity one size fits all solution Perhaps using an adaptive/hybrid approach that can adapt to situation at hand ifficult problem any solutions proposed trying to address a sub space of the problem domain ssumptions Unless stated otherwise, fully symmetric environment is assumed implicitly all nodes have identical capabilities and responsibilities 11 12 Page 3
Why is Routing in T different? Unicast Routing Protocols ost 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 ew performance criteria may be used route stability despite mobility energy consumption any protocols have been proposed ome have been invented specifically for T Others are adapted from previously proposed protocols for wired networks o single protocol works well in all environments ome attempts made to develop adaptive protocols 13 14 lassification of Routing Protocols Trade Off Proactive protocols etermine routes independent of traffic pattern Traditional link state and distance vector routing protocols are proactive Reactive protocols aintain routes only if needed ybrid protocols Topology based vs. Position based (geographical) Traditional link state and distance vector are topologybased => learn about adjacencies with neighboring nodes Position based use geographical location (e.g., nodes with P receiver) to make routing decision, e.g., forward to nodes that are closer to destination atency 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 will be found only when X attempts to send to 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 achieves a better trade off depends on the traffic and mobility patterns (and hence, topology) 15 16 Page 4
Overview of Unicast Routing Protocols looding for ata elivery Reactive Protocols looding R R OV ost well-known T routing protocols ender broadcasts data packet P to all its neighbors ach node receiving P forwards P to its neighbors equence numbers used to avoid the possibility of forwarding the same packet more than once Packet P reaches destination provided that is reachable from sender ode does not forward the packet 18 looding for ata elivery looding for ata elivery roadcast transmission Represents a node that has received packet P Represents a node that receives packet P for the first time Represents that connected nodes are within each other s transmission range 19 Represents transmission of packet P 20 Page 5
looding for ata elivery looding for ata elivery ode receives packet P from two neighbors: potential for collision ode receives packet P from and, but does not forward it again, because node has already forwarded packet P once 21 22 looding for ata elivery looding for ata elivery odes and both broadcast packet P to node ince nodes and are hidden from each other, their transmissions may collide => Packet P may not be delivered to node at all, despite the use of flooding 23 ode does not forward packet P, because node is the intended destination of packet P 24 Page 6
looding for ata elivery looding for ata elivery looding completed odes unreachable from do not receive packet P (e.g., node ) odes for which all paths from go through the destination also do not receive packet P (example: node ) looding may deliver packets to too many nodes (in the worst case, all nodes reachable from sender may receive the packet) 25 26 looding: dvantages looding: isadvantages implicity ay be more efficient than other protocols when rate of information transmission is low enough that the overhead of explicit route discovery/maintenance incurred by other protocols is relatively higher This scenario may occur, for instance, when nodes transmit small data packets relatively infrequently, and many topology changes occur between consecutive packet transmissions Potentially higher reliability of data delivery ecause packets may be delivered to the destination on multiple paths Potentially, very high overhead ata packets may be delivered to too many nodes who do not need to receive them Potentially lower reliability of data delivery looding uses broadcasting hard to implement reliable broadcast delivery without significantly increasing overhead roadcasting in 802.11 is unreliable n our example, nodes and may transmit to node simultaneously, resulting in loss of the packet n this case, destination would not receive the packet at all 27 28 Page 7
looding of ontrol Packets ynamic ource Routing (R) any protocols perform (potentially limited) flooding of control packets, instead of data packets The control packets are used to discover routes iscovered 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 [ohnson96] avid. ohnson and avid. altz. ynamic ource Routing in d oc Wireless etworks. n obile omputing, edited by Tomasz mielinski and ank orth, hapter 5, pages 153 181, luwer cademic Publishers, 1996. When node wants to send a packet to node, but does not know a route to, node initiates a route discovery ource node floods Route Request (RRQ) ach node appends own identifier when forwarding RRQ 29 30 Route iscovery in R Route iscovery in R roadcast transmission [] Represents a node that has received RRQ for from Represents transmission of RRQ 31 [X,] Represents list of identifiers appended to RRQ 32 Page 8
Route iscovery in R Route iscovery in R [,] [,] [,,] [,,] ode receives packet RRQ from two neighbors: potential for collision ode receives RRQ from and, but does not forward it again, because node has already forwarded RRQ once 33 34 Route iscovery in R Route iscovery in R [,,,] [,,,] [,,,,] odes and both broadcast RRQ to node ince nodes and are hidden from each other, their transmissions may collide 35 ode does not forward RRQ, because node is the intended target of the route discovery 36 Page 9
Route iscovery in R Route Reply in R estination on receiving the first RRQ, sends a Route Reply (RRP) RRP is sent on a route obtained by reversing the route appended to received RRQ RRP includes the route from to on which RRQ was received by node RRP [,,,,] Represents RRP control message 37 38 Route Reply in R Route Reply can be sent by reversing the route in Route Request (RRQ) only if links are guaranteed to be bi directional To ensure this, RRQ should be forwarded only if it received on a link that is known to be bi directional f unidirectional (asymmetric) links are allowed, then RRP may need a route discovery for from node Unless node already knows a route to node f a route discovery is initiated by for a route to, then the Route Reply is piggybacked on the Route Request from. f 802.11 is used to send data, then links have to be bi directional (since ck is used) ynamic ource Routing (R) ode on receiving RRP, caches the route included in the RRP When node sends a data packet to, the entire route is included in the packet header ence the name source routing ntermediate nodes use the source route included in a packet to determine to whom a packet should be forwarded When to Perform a Route iscovery? When node wants to send data to node, but does not know a valid route node 39 40 Page 10
ata elivery in R R Optimization: Route aching T [,,,,] Packet header size grows with route length ach node caches a new route it learns by any means When node finds route [,,,,] to node, node also learns route [,,] to node When node receives Route Request [,,] destined for node, node learns route [,,,] to node When node forwards Route Reply RRP [,,,,], node learns route [,,] to node When node forwards ata [,,,,] it learns route [,,,] to node node may also learn a route when it overhears ata packets 41 42 Use of Route aching Use of Route aching When node learns that a route to node is broken, it uses another route from its local cache, if such a route to exists in its cache. Otherwise, node initiates route discovery by sending a route request ode X on receiving a Route Request for some node can send a Route Reply if node X knows a route to node [,,,,] [,] [,,,] [,,] [,,],[,,] [,,,] Use of route cache an speed up route discovery an reduce propagation of route requests [X,X,X] Represents cached route at a node (R maintains the cached routes in a tree format) 43 44 Page 11
Use of Route aching: an peed up Route iscovery Use of Route aching: an Reduce Propagation of Route Requests [,,,,] [,,,] [,,,] [,,] [,] [,,,] RRP RRQ When node sends a route request for node, node sends back a route reply [,,,] to node using a locally cached route [,,],[,,] 45 [,,,,] [,,,] [,,,] [,,] [,] [,,,] RRP RRQ ssume that there is no link between and. Route Reply (RRP) from node limits flooding of RRQ. n general, the reduction may be less dramatic. [,,],[,,] 46 Route rror (RRR) Route aching: eware! RRR [-] tale caches can adversely affect performance With passage of time and host mobility, cached routes may become invalid sender host may try several stale routes (obtained from local cache, or replied from cache by other nodes), before finding a good route sends a route error to along route --- when its attempt to forward the data packet (with route ) on - fails odes hearing RRR update their route cache to remove link - 47 48 Page 12
R: dvantages Routes maintained only between nodes who need to communicate reduces overhead of route maintenance Route caching can further reduce route discovery overhead single route discovery may yield many routes to the destination, due to intermediate nodes replying from local caches R: isadvantages Packet header size grows with route length due to source routing lood of route requests may potentially reach all nodes in the network are must be taken to avoid collisions between route requests propagated by neighboring nodes insertion of random delays before forwarding RRQ ncreased contention if too many route replies come back due to nodes replying using their local cache Route Reply torm problem Reply storm may be eased by preventing a node from sending RRP if it hears another RRP with a shorter route 49 50 R: isadvantages n 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. or some proposals for cache invalidation, see [u00obicom] tatic timeouts daptive timeouts based on link stability 51 Page 13