ynamic Source Routing (SR) [ohnson96] S 6811 : ecture 5 d oc Wireless Routing ifferent from routing in the wired world esirable properties of a wireless routing protocol istributed operation oop freedom emand-based operation Security Sleep period operation Unidirectional link support inks are virtual etwork ayer otation vs. ink ayer Transmissions (1) Transmission range (a) (b) Physical wireless links etwork topology etwork ayer otation vs. ink ayer Transmissions (2) Routing task etwork layer (t) etwork layer S ink layer ink layer (t 1 ) Routing is the act of moving information across an internetwork from a source to a destination. ink layer (t 2 ) Routing involves two basic activities: determining optimal routing paths transporting information groups (typically called s) through an internetwork. 1
Routing task Routing Protocol ategories S odes that want to route messages must: ind out about the topology of the network Use that topology to do something with the message ontrol Plane ata Plane ontrol Plane Proactive: odes actively maintain and share topology information, regardless whether there is data to be sent enerally timer- or event-based Reactive (On-demand): azy approach: on t do more work then you have to Only discover topology/routes when there is data to send Path discovery in reactive protocols Routing Protocol ategories ata Plane 0 reply(0) 1 reply(0) 2 3 query-reply mechanism query is broadcast reply is unicast ocal next-hop forwarding: Source routing: reply(0) 5 4 Routing Protocol ategories ata Plane ocal next-hop forwarding: onsult forwarding table for a next hop ompletely local decision Routing tables Routing Protocol ategories ata Plane ocal next-hop forwarding: onsult forwarding table for a next hop ompletely local decision Source routing: Source node places complete path in header ntermediate nodes don t have to consult their forwarding tables orwarding table based 2
Source routing explained Reactive Protocols ames are useful hints at understanding the protocol properties: ynamic Source Routing (SR) MT Source Routing d-hoc On-demand istance Vector (OV) ata. eader MT Reactive ext-hop orwarding istance Vector The Routing Problem in Mobile d hoc wirless networks Reactive Routing Protocols ynamic Source Routing (SR) S S The routing problem is to find a route from S to when some or all of the nodes are mobile. SR: Properties ow many desirable properties does SR support? istributed operation oop freedom emand-based operation Security Sleep period operation Unidirectional link support S S S O S S SR: ssumptions ooperative environment inks symmetric / Symmetric both etwork diameter small but larger than 1 odes may work in promiscuous mode (explained in the next slide) 3
on Promiscuous mode Promiscuous mode explained d = my address? To upper layer filtering turned off To upper layer rop irpcap x: US 802.11a/b/g/n dapter has this capability What SR does? SR: Path iscovery Path discovery Route Request (RRQ) Route Reply (RRP) Path maintenance Route rror (RRR) ata delivery Performance tuning When node S wants to send a to node, but does not know a route to, node S initiates a route discovery. Source node S floods the network with route request (RRQ) s (also called query s). ach node appends its own address in the header when forwarding RRQ. 22 Route iscovery in SR (1) Route iscovery in SR (2) Source Source seq# RRQ[] Target RRQ[] Partial route roadcast RRQ[] Represents a node that has received RRQ for from 4
Route iscovery in SR (3) Route iscovery in SR (4) RRQ[, ] RRQ[,, ] RRQ[, ] RRQ[,, ] RRQ[,, ] Route iscovery in SR (5) Route iscovery in SR RRQ[] RRQ[] RRP[,,, ] (a) (b) RRQ[,,, ] Unicast RRP[,,, ] RRQ[,, ] RRP[,,, ] ssumption: inks are symmetric RRQ[,, ] RRQ[,, ] RRQ[,,, ] (c) (d) Route iscovery at source Route iscovery: t an intermediate node needs to send to ccept route request <src,id> in recently seen requests list? yes iscard route request Start Route iscovery Protocol wait Route iscovery finished uffer ontinue normal processing yes Packet in buffer? ookup ache for route to no no done Route found? yes Write route in header Send to next-hop ppend myddr to partial route Store <src,id> in cache for duplicate detection roadcast no no ost s address already in patrial route no mydd =target yes Send route reply done yes iscard route request 5
Route Reply in SR (symmetric case) Route Reply in SR (symmetric case) 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 S to on which RRQ was received by node RRP[,,, ] RRQ[,,, ] Route Reply in SR (asymmetric case) Route Reply in SR (asymmetric case) f unidirectional (asymmetric) links are allowed, then RRP may need a route discovery for S from node Unless node already knows a route to node S f a route discovery is initiated by for a route to S potential cause of deadlock. The Route Reply is piggybacked on the Route Request from. ata elivery in SR Route Maintenance ata RRR RRR --- Packet header size grows with route length ow to send RRR? Symmetric: Reverse the route in the header symmetric: Perform a route discovery 6
ow to etect roken ink? (1) With the help of M layer: - ata- handshake supported by 802.11 - bsence of retransmit - fter few retries if number exceeds U limit ink broken - nform upper layer (cross layer interaction) - etwork layer (where SR is implemented) will send RRR (2) f different M layers other than 802.11 is used: - Promiscuous mode - Passive cknowledgement (3) f Promiscuous mode not supported: - xplicit can be incorporated in the etwork layer - think about traceroute (4) Transport layer can be used for crude indication of working routes SR Optimization (Performance improvement) Route discovery + Route Reply + Route rror = Routing Overhead. ompetes with ata transmission ow to cut down routing Overhead? o cut down possible at Route Reply (RRP) o cut down possible in Route rror (RRR) Only possibility: cut down Route iscovery (RRQ) chievable through caching SR Optimization (aching) SR Optimization (aching) ach node caches a new route it learns by any means aching overheard routing information n presence of uni-directional link n presence of bi-directional link ach node caches a new route it learns by any means aching overheard routing information n presence of uni-directional link n presence of bi-directional link enefit of route caching: (intermediate nodes reply) Replying to Route Request using cached routes can speed up route discovery can reduce propagation of route requests The intermediate node must verify that the resulting route being returned contains no duplicate nodes listed in the route record enefit of route caching: (intermediate nodes reply) Replying to Route Request using cached routes can speed up route discovery can reduce propagation of route requests The intermediate node must verify that the resulting route being returned contains no duplicate nodes listed in the route record 7
ata structure for Route aching ata structure for Route aching ache at : ache at : --- --- -- -- - - --- --- ata structure for Route aching Tree is the best data structure ache at (before movement): --- -- - ache at (after movement): -- - - Truncate at each entry!! ache at (before): ache at (after): --- -- Problem 1: Use of ache Possibility of simultaneous route reply: Some issues and solutions [,,,] [,,] Where is? Solution: (1) elay before reply * (h-1+r) (2) Overhear while waiting (3) ancel reply if hop length is larger than any of the overheard reply s hop length 8
Problem 2: Route rror (RRR) invalidate cache: Problem with asymmetric links (Route rror (RRR) invalidate cache): S RRR [-] sends a route error to S along route ---S when its attempt to forward the data S (with route S) on - fails odes hearing RRR update their route cache to remove link - M S RRR [-] sends RRR through another path odes on original path can not invalidate their cache. Solution: S propagates RRR through original path up to. M Problem 3: Shortest path may not be discovered RRQ propagates through -- - and --? Which one reaches quicker? epends on load, congestion etc ode mobility may change path length Previous path --- ew shorter path -- overhears and ultimately discovers. Sends a unsolicited route reply Problem 4: Piggybacking data on route discovery not possible because of caching Short s can be piggybacked in RRQ for performance improvement (TP S s are most suitable) aching creates a problem!! [,,,] ata [,,] Where is? Problem 5: etwork Partition Problem 5: etwork Partition S M S M Source S - estination ata rates 50 pkt/seconds t least 50 RRQ broadcasts per second!! Solution: xponential backoff to limit the rate The interval between each successive new route discovery for the same host is exponentially deferred 9
Problem 6: aching results many route reply from intermediate nodes Problem 6: aching results many route reply from intermediate nodes S M S M Suppose S sends to through the route S S,,,, has the routing info to (from RRP),,,,, M also has the routing info to (from overhearing) 11 nodes know about!! Only 5 nodes left!! Suppose node floods a RRQ asking for how many reply he gets? Solution: xpanding Ring: sends RRQ with TT 1 if RRP received done otherwise send RRQ with TT 2... radually increase up to a max ynamic Source Routing: dvantages Reactive: Routes maintained only between nodes who need to communicate reduces overhead of route maintenance aching: Route caching can further reduce route discovery overhead Multipath: single route discovery may yield many routes to the destination, due to intermediate nodes replying from local caches ynamic Source Routing: isadvantages on-scalable: Packet header size grows with route length due to source routing are must be taken to avoid collisions between route requests propagated by neighboring nodes insertion of random delays before forwarding RRQ ynamic Source Routing: isadvantages Too much caching: ncreases contention if too many route replies come back due to nodes replying using their local cache Route Reply Storm problem ynamic Source Routing: 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 [u00mobicom] Static timeouts daptive timeouts based on link stability 59 60 10
11