1 / 27

Qian Zhang Department of Computer Science HKUST

Advanced Topics in Next-Generation Wireless Networks. Transport Protocols in Ad hoc Networks. Qian Zhang Department of Computer Science HKUST. Transmission Control Protocol (TCP). Reliable ordered delivery Implements congestion avoidance and control

alaina
Download Presentation

Qian Zhang Department of Computer Science HKUST

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Topics in Next-Generation Wireless Networks Transport Protocols in Ad hoc Networks Qian Zhang Department of Computer Science HKUST

  2. Transmission Control Protocol (TCP) • Reliable ordered delivery • Implements congestion avoidance and control • Reliability achieved by means of retransmissions if necessary • End-to-end semantics • Acknowledgements sent to TCP sender confirm delivery of data received by TCP receiver • Ack for data sent only after data has reached receiver

  3. Overview Overview of TCP concepts • Conventional TCP • Sending rate is controlled by • Congestion window (cwnd): limits the • Slow-start threshold (ssthresh): when • Loss detection • 3 duplicate ACKs (faster, more efficient) • Retransmission timer expires (slower, less efficient) • Overview of congestion control mechanisms • Slow-start phase: cwnd start from 1 and increase exponentially • Congestion avoidance (CA): increase linearly • Fast retransmit and fast recovery: Trigger by 3 duplicate ACKs • Tahoe, Reno, New-Reno, SACK • # of packets in flight • CA start Slow-start Congestion avoidance

  4. Challenges • Throughput unfairness • Unfairness at MAC layer • Transport layer should take this into account • Resource constraints • Power and bandwidth constraints • Separation of congestion control and reliability control • Completely decoupled transport layer • Wired network: transport protocol completely separated from underlying layer • Ad hoc network: interaction with network and MAC layer is expected for adaptivity

  5. Challenges (Cont.) • Misinterpretation of congestion • Traditional mechanism: packet loss, timeout • Ad hoc loss/delay due to • High bit error rate due to varying link condition • Packet collisions due to contention and hidden terminal • Path breaks due to node mobility • Dynamically changing topology • Frequent path breaks • Partitioning and merging of networks • High delay in reestablishment of path

  6. Performance of TCP • Several factors affect TCP performance in MANET • Wireless transmission errors • Multi-hop routes on shared wireless medium • For instance, adjacent hops typically cannot transmit simultaneously • Route failures due to mobility

  7. Random Errors • If number of errors is small, they may be corrected by an error correcting code • Excessive bit errors result in a packet being discarded, possibly before it reaches the transport layer • Problems • Fast retransmission of lost packet • Reduction in congestion window  reduces the throughput • Burst errors may cause timeouts

  8. Throughput over Multi-Hop Wireless Paths • Connections overmultiple hopsare at adisadvantage compared to shorter connections, because they have to contend for wireless access at each hop TCP Throughput using 2 Mbps 802.11 MAC

  9. 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

  10. Performance Metric: Expected Throughput • Compute the expected throughput as where • ti: the duration for which the shortest path from the sender to the receiver contains i hops • Ti : the throughput obtained in the fixed, linear network with i hops

  11. Impact of Mobility measured TCP Reno throughput

  12. Throughput Degrades with Increasing Speed …

  13. But NOT Always …

  14. mobility causes link breakage, resulting in route failure Route is repaired TCP sender times out. Starts sending packets again No throughput No throughput despite route repair TCP data and acks en route discarded Why Does Throughput Degrade?

  15. 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 Larger route repair delays especially harmful TCP data and acks en route discarded Why Does Throughput Degrade?

  16. D D D C C C B B B A A A Low Speed Scenario 1.5 second route failure Route from A to D is broken for ~1.5 second When TCP sender times out after 1 second, route still broken TCP times out after another 2 seconds, and only then resumes

  17. D D D C C C B B B A A A Higher (double) Speed Scenario 0.75 second route failure Route from A to D is broken for ~ 0.75 second When TCP sender times out after 1 second, route is repaired

  18. Impact of 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

  19. Impact to TCP Actual throughput (as fraction of expected throughput) Average speed (m/s)

  20. timeout, cached route is broken timeout due to route failure timeout, second cached route also broken Why Performance Degrades With Caching • When a route is broken, route discovery returns a cached route from local cache or from a nearby node • After a time-out, TCP sender transmits a packet on the new route However, the cached route has also broken after it was cached • Another route discovery, and TCP time-out interval • Process repeats until a good route is found

  21. To Cache or Not to Cache • Caching can result in faster route “repair” • Faster does not necessarily mean correct • If incorrect repairs occur often enough, caching performs poorly • Need mechanisms for determining when cached routes are stale

  22. Caching and TCP performance • Caching can reduce overhead of route discovery even if cache accuracy is not very high • But if cache accuracy is not high enough, gains in routing overhead may be offset by loss of TCP performance due to multiple time-outs

  23. 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 • Explicit notification • Reduces repeated TCP timeouts and backoff

  24. TCP with ELFN • Explicit Link Failure Notification • Not totally new, e.g., ECN bits in TCP • To provide the TCP sender with information about link and route failures, so that it can avoid responding to the failures as if congestion has occurred • How does it work? • When a TCP sender receives an ELFN: disables its retransmission timers and enters a “stand-by” mode • While on standby: A packet is sent at periodic intervals to probe the network to see if a route has been established • If an acknowledgment is received: leaves stand-by mode and restores the retransmission timers

  25. Measured TCP Reno w/ELFN throughput

  26. Performance with Explicit Notification

  27. Issues: Network Feedback • Network knows best (why packets are lost)  Network feedback beneficial  Need to modify transport & network layer to receive/send feedback  Need mechanisms for information exchange between layers • [Holland99] discusses alternatives for providing feedback (when routes break and repair) • [Chandran98] also presents a feedback scheme

More Related