140 likes | 280 Views
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
E N D
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
TCP on Wireless Ad Hoc Networks • Overview TCP in Ad Hoc nets • Ad hoc TCP and network layer: mobility, route failures and timeout • TCP and MAC interaction study • The problem of fairness and the NRED • Multipath TCP in a lossy ad hoc wireless net • Geo-routing: very robust to mobility, can reduce impact of path breaks on TCP • TCP Westwood: efficient transport for high-speed wired/wireless networks • MCP: cross-layer solution in a lossy WLAN
TCP: Transmission Control Protocol • The most used protocol in Internet (90%apps) • Dual function: • Error recovery (using ACKs) • Congestion ctrl (dynamic congestion window) • TCP designed (in 1974) for static, wired hosts • Does TCP work for mobile hosts and MANETs? • Not very well (as we shall see….) • The TCP Ad Hoc design “challenge”: Make TCP work with minimal changes to the code • Use cross layer feed back (from physical layer, MAC and network layer) whenever possible to adjust TCP parameters • Any modifications to TCP preferably “sourceonly”
Summary: TCP Congestion Control • When CongWin is below Threshold, sender in slow-start phase, window grows exponentially. • When CongWin is above Threshold, sender is in congestion-avoidance phase, window grows linearly. AIMD • When a triple duplicate ACK occurs, Threshold set to CongWin/2 and CongWin set to Threshold. AIMD • When timeout occurs, Threshold set to CongWin/2 and CongWin is set to 1 MSS.
What’s wrong with TCP in Ad Hoc nets? • Multihop - throughput reduction • Mobility - path breaks and forces TCP to timeout • Random interference/jamming - packet loss => timeout - TCP interprets the loss as congestion => drive TCP window to zero! • Source cannot discriminate between congestion loss and random loss • Interaction between TCP backoff and MAC backoff may cause unfairness and “capture” • Interference between multiple TCP connections -> unfairness and “capture”
Impact of Multi-Hop Wireless Paths TCP Throughput using 2 Mbps 802.11 MAC, transmission range = one hop For large number of hops throughput stabilizes (pipelining effect)
Throughput Degradations withIncreasing Number of Hops • Packet transmission can occur on at most one hop among three consecutive hops • Increasing the number of hops from 1 to 2, 3 results in increased delay, and decreased throughput • Increasing number of hops beyond 3 allows simultaneous transmissions on more than one link, however, degradation continues due to contention between TCP Data and Acks traveling in opposite directions • When number of hops is large enough, the throughput stabilizes due to effective pipelining
Impact of Mobility on TCP • Mobility causes route changes • Throughput generally degrades with increasing speed … Ideal Average throughput over 50 runs Actual Speed (m/s)
mobility causes link breakage, resulting in route failure Route is repaired TCP sender times out. Starts sending packets again TCP data and acks en route discarded Why Does Throughput Degrade? No throughput No throughput despite route repair
TCP sender times out. Resumes sending mobility causes link breakage, resulting in route failure TCP sender times out. Backs off timer. Route is repaired No throughput No throughput despite route repair TCP data and acks en route discarded Why Does Repair Latency hurt?
How to Improve Throughput(Bring Closer to Ideal) • Network feedback • Inform TCP of route failure by explicit message • Let TCP know when route is repaired • Probing (eg, persistent pkt retransmissions) • Explicit link repair notification • Alleviates repeated TCP timeouts and backoff
Fast route recovery with caching • Route caching has been suggested as a mechanism to reduce route discovery overhead [Broch98] • Each node may cache one or more routes to a given destination • When a route from S to D is detected as broken, node S may: • Use another cached route from local cache, • or Obtain a new route using cached route at another node • But cache accuracy need high enough, cached routes are not stale
TCP Performance Two factors result in degraded throughput in presence of mobility: • Loss of throughput that occurs while waiting for TCP sender to timeout (as seen earlier) • This factor can be mitigated by using explicit notifications and better route caching mechanisms • Poor choice of congestion window and RTO values after a new route has been found • How to choosecwnd and RTOafter a route change?