Outline • Wireless introduction • Wireless cellular (GSM, CDMA, UMTS) • Wireless LANs, MAC layer • Wireless Ad hoc networks – routing: proactive routing, on-demand routing, scalable routing, geo-routing – wireless Ad hoc multicast – TCP in ad hoc networks – QoS, adaptive voice/video apps • Sensor networks Wireless Ad Hoc Networks Proposed ad hoc Routing Approaches • Conventional wired-type schemes (global routing, proactive): – Distance Vector; Link State • Proactive ad hoc routing: – OLSR, TBRPF • On- Demand, reactive routing: – DSR (Source routing), MSR, BSR – AODV (Backward learning) • Scalable routing : – Hierarchical routing: HSR, Fisheye – OLSR + Fisheye – LANMAR (for teams/swarms) • Geo-routing: GPSR, GeRaF, etc – Motion assisted routing – Direction Forwarding Wireless multihop routing challenges • mobility • need to scale to large numbers (100’s to 1000's) • need to support multimedia applications (QoS) • unreliable radio channel (fading, external interference, mobility, etc) • limited bandwidth • limited power Conventional wired routing limitations • Distance Vector (eg, Bellman-Ford, BGP): – Tables grow linearly with # nodes – routing control O/H linearly increasing with network size – convergence problems (count to infinity); potential loops (mobility?) • Link State (eg, OSPF): – link update flooding O/H caused by network size and frequent topology changes CONVENTIONAL ROUTING DOES NOT SCALE TO SIZE AND MOBILITY DV LS Intra-AS RIP OSPF Inter-AS BGP Classification of Ad-Hoc Routing Protocols Ad-Hoc Routing Protocols Flat Routing Hierarchical Routing Geographic Routing Flat Routing Proactive Reactive Hybrid Every node plays an equal role and takes the same responsibility Proactive protocols Hierarchical Routing independent of traffic pattern Maintain routes Nodes are grouped, some distance-vector routing protocols are Traditional link-state andnodes are selected as group leaders proactive Leaders take more responsibilities than others Reactive protocols Geographic Routing only if needed Determine routes Use geographic location information to make routing and Proactive ad hoc schemes – OLSR • OLSR (Optimal Link State Routing) • In LSR protocol a lot of control msg unnecessary duplicated 24 retransmissions to diffuse a message up to 3 hops Retransmission node OLSR (Optimal Link State Routing) • In OLSR only a subset of neighbors (MPR-Multipoint Relay Selectors) retransmit control messages: – Reduce size of control message; – Minimize flooding 11 retransmission to diffuse a message up to 3 hops Retransmission node OLSR Overview • RFC 3626, October 2003 • In LSR protocol a lot of control messages unnecessarily duplicated • In OLSR only a subset of neighbors (MPR- Multipoint Relay Selectors) retransmit control messages – Reduce flooding overhead • OLSR retains all the advantages of LSR – stable – Does not depend upon any central entity – Tolerates loss of control messages – Supports nodes mobility Multipoint Relays (MPR) • Goal: reduce duplicate LS (Link State) retransmissions • Each node chooses a set of nodes (MPR Selectors) in the neighborhood, which will retransmit its LS packets • The other nodes receive and process the packet, but do not retransmit it • Upon receipt of MPR information each node recalculates and updates routes to each known destination OLSR (Optimal Link State Routing) • Conclusions – OLSR is a proactive link-state protocol – Suitable for applications, which does not allow long time delays – Adapted for dense network (reduces control traffic overhead) – Other advantages (the same as for LSR) • As stable as LSR protocol • Does not depend upon any central entity • Tolerates loss of control messages • Supports nodes mobility Where do we stand? • OLSR can dramatically reduce the “state” sent out on update messages • They are very effective in “dense” networks. • However, the state still grows with O(N) • Neither of the above schemes can handle large scale nets from 10’s to thousands of nodes • What to do? On-Demand Routing Protocols • Routes are established “on demand” as requested by the source • Only the active routes are maintained by each node • Channel/Memory overhead is minimized • Two leading methods for route discovery: source routing and backward learning (similar to LAN interconnection routing) On-Demand Routing Protocols • Routes are established “on demand” as requested by the source • Only the active routes are maintained by each node • Channel/Memory overhead is minimized • Two leading methods for route discovery: source routing and backward learning (similar to LAN interconnection routing) Existing On-Demand Protocols • Dynamic Source Routing (DSR) -- CMU • Multipath Source Routing (MSR) – TJU • Backup Source Routing (BSR) – UofO+TJU • Ad-hoc On-demand Distance Vector (AODV) • Associativity-Based Routing (ABR) • Temporarily Ordered Routing Algorithm (TORA) • Zone Routing Protocol (ZRP) • Location assisted routing (LAR, DREAM) • Signal Stability Based Adaptive Routing (SSA) • On Demand Multicast Routing Protocol (ODMRP) – UCLA Dynamic Source Routing (DSR) • RFC 4728 – February 2007 • Forwarding: source route driven instead of hop-by-hop route table driven – Mobility ? • On-demand: No periodic routing update message is sent – Control traffic is minimized • The first path discovered is selected as the route • Two main phases (On-demand) – Route Discovery – Route Maintenance DSR - Route Discovery • To establish a route, the source floods a Route Request message with a unique request ID • The Route Request packet “picks up” the node ID numbers • Route Reply message containing path information is sent back to the source either by – the destination, or – intermediate nodes that have a route to the destination • Each node maintains a Route Cache which records routes it has learned and overheard over time Route Discovery in DSR Y Z S E F B C M L J A G H D K I N Represents a node that has received RREQ for D from S Route Discovery in DSR Y Broadcast [S] Z S E F B C M L J A G H D K I N Represents transmission of RREQ [X,Y] Represents route record stored in RREQ Route Discovery in DSR Y Z S [S,E] E [S,B] F B C M L J A [S,C] G H D K I N • Node H receives packet RREQ from two neighbors: potential for collision Route Discovery in DSR Y Z S E F [S,E,F] B [S,B,A] C M L J A [S,B,H] G H D [S,C,G] K I N • C receives RREQ from G and H, but does not forward it again, because C has already forwarded RREQ once Route Discovery in DSR Y Z S E F [S,E,F,J] B C M L J A G H [S,B,H,I] D K I [S,C,G,K] N J and K both broadcast RREQ to D Their transmissions may collide at D Route Discovery in DSR Y Z S E [S,E,F,J,M] F B C M L J A G H D K I N D does not forward RREQ, because D is the intended target Route Reply in DSR 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 - Route Maintenance • Route maintenance performed only while route is in use • Monitors the validity of existing routes by passively listening to acknowledgments of data packets transmitted to neighboring nodes – acknowledgments of packets -- > contention ? (adaptive ack) • When problem detected, send Route Error packet to original sender to perform new route discovery An Example of Route Maintenance Y Route Error Packet : RERR RERR [J-D] Z S E F B C M L J A G H D K I N J sends a route error to S along route J-F-E-S when it finds link [J-D] broken Nodes hearing RERR update their route cache to remove all invalid routes related with link J-D MSR - Multipath Source Routing • Direct Descendant of DSR • On-demand + Source Routing + Multipath • Probing-based adaptive load balancing among multiple paths • Motivation of MSR – Efficiently using the network resource – Alleviate the oscillation in adaptive single path routing – Fast re-routing – Reducing computing & storage requirement – Exploiting computing power of host instead of link capacity MSR Implementation • To make multipath network viable – appropriate paths calculation – efficient packet forwarding on calculated paths – effective end-host usage of multiple paths • In MSR – Path Finding – Packet forwarding – Load balancing Distributing Traffic among Multiple Paths • Quantities: A heuristic equation • Probing-based adaptive control – Decoupling between transport layer and network layer: SRPing – Cost effective • Scheduling: Packet Weighted Round Robin • TCP out-of-order (re-sequencing) problem Distributing Traffic among Multiple Paths • Heuristic equation – Rationale: Autonomous system, homogeneous assumption, bandwidth-delay product constant j min d max ,U R j W i d j i where , j d i is the delay of route with index i, j d m axis the maximum delay of all the routes to the same destination, R is a factor to control the switching frequency between routes. U is a bound value to insure that should not to be too large. Simulation Methodology • ns – Wireless extensions by CMU • Adopt methods used in [Broch98, Johnson99] • Two major files: – Movement pattern file – Communication pattern file • 50 mobile hosts placed randomly within a 1500m×300m area • Two set of simulations: Max speed 20m/s & 1m/s • Different traffic types: CBR & FTP Performance Evaluation • MSR vs. DSR • Performance Metrics – Packet delivery ratio – Data throughput – End-to-end delay – Packet drop probability – Queue size Simulation Results – CBR • Packet delivery ratio of every connection 1.00 Delivery Ratio 0.95 0.90 DSR MSR 0.85 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Connection No. Simulation Results – CBR • Packet delivery ratio 1.05 MSR 1.00 DSR 0.95 0.90 投递率 0.85 0.80 0.75 0.70 0 30 60 120 300 停留时间（秒） Simulation Results – CBR • End-to-end throughput 200 DSR MSR Throughput, packets/second 150 100 50 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Connection No. Simulation Results – TCP • End-to-end throughput 12 DSR MSR Throughput, packets/second 8 4 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 Connection No. Simulation Results – CBR • End-to-end delay 0.30 0.25 DSR MSR 0.20 Delay (second) 0.15 0.10 0.05 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Connection No. Simulation Results – CBR • End-to-end delay 1.00 MSR 0.80 DSR 0.60 延迟（秒） 0.40 0.20 0.00 0 30 60 120 300 停顿时间（秒） Simulation Results – TCP • End-to-end delay 23 22 21 DSR 20 MSR 19 18 17 16 Delay (second) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 Connection No. Simulation Results - CBR • Packets dropped at each node DSR 15 MSR # of drops 10 5 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 Node No. Simulation Results – CBR • IFQ queue size at each node DSR MSR 30 Queue Size 20 10 0 0 5 10 15 20 25 30 35 40 45 50 Node No. MSR Summary • Reduce network congestion • Improve throughput, delay, mobility, fault tolerance (CBR–more & FTP-less?) • Acceptable routing overhead? – Little more than that of DSR – Route discovery – Route maintenance • Probing (unicast) add little O/H • Good candidate for QoS support – QoS-MSR, reliable-MSR • Acceptable packet out-of-order level ? TCP Backup Source Routing (BSR) • Establish and maintain backup routes that can be utilized after the primary path breaks • Define a new routing metric - backup route reliability E [T,’] (analysis) – T,’ -- the lifetime of backup route (, ') – the basis for the backup path selection • The lifetime for each link L in the network can be represented by an independent and identical (iid) exponential random variable XL f d h a k s b c e g i j t Backup Route (1, 2), 1 = (s, b, c, e, g, i, j, t) and 2=(s, a, b, c, d, f, h, i, k, t) Backup Source Routing (BSR) • Reduce the frequency of route discovery flooding, which is a major overhead in on- demand protocols • Can improve the performance significantly in more challenging situations of high mobility • Testbed (QoS) at TJU • Multipath TCP with packet replicas (UCLA) – In a lossy ad hoc wireless network Ad hoc On-Demand Distance Vector Routing (AODV) RFC3561 • Primary Objectives – Provide unicast, broadcast, and multicast capability – Initiate forward route discovery only on demand – Disseminate changes in local connectivity to those neighboring nodes likely to need the information • Characteristics – On-demand route creation • Effect of topology changes is localized • Control traffic is minimized – Distance vector routing – Two dimensional routing metric: <Seq#, HopCount> • Seq# -- to determine the freshness of the info – Storage of routes in Route Table Route Table • Fields: – Destination IP Address – Destination Sequence Number – to guarantee the loop-freedom of all routes towards that node – HopCount Precursor Nodes Next Hop – Next Hop IP Address A – Precursor Nodes Destination – Expiration Time Source Source • Each time a route entry is used to transmit data, the expiration time is updated to current_time + active_route_timeout Unicast Route Discovery • Source broadcasts Route Request (RREQ) <Flags, Bcast_ID, HopCnt, Src_Addr, Src_Seq#, Dst_Addr, Dst_Seq#> Source • Node can reply to RREQ if – It is the destination, or – It has a “fresh enough” route to the destination Destination • Otherwise it rebroadcasts the request Route Request Propagation • Nodes create reverse route entry • Record Src IP Addr / Broadcast ID to prevent multiple rebroadcasts Forward Path Setup • Destination, or intermediate node with current route to destination, unicasts Route Reply (RREP) to source <Flags, HopCnt, Dst_Addr, Dst_Seq#, Src_Addr, Source Lifetime> • Nodes keep track of <Source_Addr, Broadcast_ID> and discards redundant broadcasts • Nodes along path create Destination forward route Forward Path Formation • Source begins sending data when it receives first RREP AODV (Example) A L Y F J B K D G P S C E H I T Z RREQ AODV (Example) A L Y F J B K D G P S C E H I T Z Reverse Path Setup AODV (Example) A L Y F J B K D G P S C E H I T Z AODV (Example) A L Y F J B K D G P S C E H I T Z AODV (Example) A L Y F J B K D G P S C E H I T Z RREP AODV (Example) A L Y F J B K D G P S C E H I T Z Forward Path Setup AODV (Example) A L Y F J B K D G P S C E H I T Z AODV (Example) A L Y F J B K D G P S C E H I T Z AODV (Example) A L Y F J B K D G P S C E H I T Z Path Maintenance 3’ 3’ 1 3 1 Destination Destination 2 2 Source 4 Source 4 • Movement of nodes not along active path does not trigger protocol action • If source node moves, it can reinitiate route discovery • Node 3 moves to new location 3’ node moves, When destination or intermediate upstream node of break broadcasts Route Error • Node 2 notices loss of link, sends link failure to (RERR) Node 1 message • RERR contains list of all destinations • Node 1 forwards link failure to Sourceno longer reachable due to link break • Source reinitiates route node with no precursors for • RERR propagated until discovery, finds new route destination is 4 through Node reached Trade-Off Between Proactive and Reactive • Latency of route discovery Proactive protocols have lower latency since routes are maintained all times Reactive protocols have higher latency because a node needs to find a route when it has data to send • Overhead of route maintenance Reactive protocols have lower overhead since routes are maintained ed only if they are needed Proactive protocols have higher overhead due to continuous route updating • Which approach achieves a better trade-off depends on the traffic and mobility patterns If most nodes always have data to send and nodes’ mobility is high, proactive protocols may produce higher routing efficiency If only a few nodes have data to send and nodes’ mobility is low, reactive protocols may produce higher routing efficiency What have we discovered so far? • Conventional (wired net) routing schemes (proactive routing) suffer of O/H, mobility & scalability limitations. • On Demand routing eliminates background routing control O/H. It introduces latency; it does not well suited for QoS routing. • Key observation: – Packet forwarding is done by routing tables (proactive and AODV) – Packet forwarding is done using the source route in header (DSR) – Thus, storage O/H; also route maintenance O/H • Question: Can we eliminate table storage and maintenance O/H? • Hierarchical routing reduces O/H and improves scalability (at the expense of accuracy).