1 / 52

Special Topics on Wireless Ad-hoc Networks

Special Topics on Wireless Ad-hoc Networks. Lecture 5: TCP for Ad-hoc Networks. University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani. Covered topic. Problems with TCP in MANET How to improve TCP in MANET References Chapter 9 of the book

charis
Download Presentation

Special Topics on Wireless Ad-hoc Networks

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. Special Topicson Wireless Ad-hoc Networks Lecture 5: TCP for Ad-hoc Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Computer Network

  2. Covered topic • Problems with TCP in MANET • How to improve TCP in MANET • References • Chapter 9 of the book • ATP: A Reliable Transport protocol for Ad-hoc Networks. Computer Network

  3. Outlines • Problems with TCP in MANET • How to improve TCP in MANET Computer Network

  4. Issues of TCP in Ad hoc • Induced traffic: Link level transmission affect neighbors of sender and receiver. • Induced Throughput unfairness: throughput/delay unfairness in link layer • Separation of congestion control, realiability and flow control • Power and bandwidth constrains. • Misinterpretation of congestion: • Completely decoupled transport layer: • Dynamic topology. Computer Network

  5. 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 Computer Network

  6. 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 • Reduction in congestion window reduces the throughput • Burst Errors May Cause Timeouts Computer Network

  7. Impact of Multi-Hop Wireless Paths • Connections over multiple hops are at a disadvantage • compared to shorter connections, because they have • to contend for wireless access at each hop Extent of packet delay or drop increases with number of hops TCP Throughput using 2 Mbps 802.11 MAC Computer Network

  8. Mobile Ad Hoc Networks[IETF-MANET] • Mobility causes route changes Computer Network

  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 Computer Network

  10. Ideal Throughput • f(i) = fraction of time for which shortest path length between sender and destination is I • T(i) = Throughput when path length is I • Ideal throughput = Sf(i) * T(i) Computer Network

  11. Impact of Mobility 2 m/s 10 m/s Actual throughput Ideal throughput (Kbps) Computer Network

  12. Impact of Mobility 20 m/s 30 m/s Actual throughput Ideal throughput Computer Network

  13. Throughput degrades with increasing speed … Ideal Average Throughput Over 50 runs Actual Speed (m/s) Computer Network

  14. But not always … 30 m/s 20 m/s Actual throughput Mobility pattern # Computer Network

  15. 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? Computer Network

  16. 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? Computer Network

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

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

  19. General Principle • The previous two slides show a plausible cause for improved throughput • TCP timeout interval somewhat (not entirely) independent of speed • Network state at higher speed, when timeout occurs, may be more favorable than at lower speed • Network state • Link/route status • Route caches • Congestion Computer Network

  20. Improve Throughput(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 Computer Network

  21. Performance Improvement Without network feedback With feedback Actual throughput Ideal throughput 2 m/s speed Computer Network

  22. Performance Improvement Without network feedback With feedback Actual throughput Ideal throughput 30 m/s speed Computer Network

  23. Performance with Explicit Notification Computer Network

  24. IssuesNetwork 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 Computer Network

  25. 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 Computer Network

  26. To Cache or Not to Cache Actual throughput (as fraction of expected throughput) Average speed (m/s) Computer Network

  27. 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 Computer Network

  28. IssuesTo 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 Computer Network

  29. Issues Window Size After Route Repair • Same as before route break: may be too optimistic • Same as startup: may be too conservative • Betterbeconservativethan overly optimistic • Reset window to small value after route repair • Let TCP figure out the suitable window size • Impact low on paths with small delay-bw product Computer Network

  30. IssuesRTO After Route Repair • Same as before route break • If new route long, this RTO may be too small, leading to timeouts • Same as TCP start-up (6 second) • May be too large • May result in slow response to next packet loss • Another plausible approach: new RTO = function of old RTO, old route length, and new route length • Example: new RTO = old RTO * new route length / old route length • Not evaluated yet • Pitfall: RTT is not just a function of route length Computer Network

  31. Out-of-Order Packet Delivery • Out-of-order (OOO) delivery may occur due to: • Route changes • Link layer retransmissions schemes that deliver OOO • Significantly OOO delivery confuses TCP, triggering fast retransmit • Potential solutions: • Deterministically prefer one route over others, even if multiple routes are known • Reduce OOO delivery by re-ordering received packets • can result in unnecessary delay in presence of packet loss • Turn off fast retransmit • can result in poor performance in presence of congestion Computer Network

  32. Impact of Acknowledgements • TCP Acks (and link layer acks) share the wireless bandwidth with TCP data packets • Data and Acks travel in opposite directions • In addition to bandwidth usage, acks require additional receive-send turnarounds, which also incur time penalty • To reduce frequency of send-receive turnaround and contention between acks and data Computer Network

  33. Impact of Acks: Mitigation • Piggybacking link layer acks with data • Sending fewer TCP acks - ack every d-th packet (d may be chosen dynamically) • but need to use rate control at sender to reduce burstiness (for large d) • Ack filtering - Gateway may drop an older ack in the queue, if a new ack arrives • reduces number of acks that need to be delivered to the sender Computer Network

  34. TCP in Mobile Ad Hoc NetworksIssues (summary) • Route changes due to mobility • Wireless transmission errors • problem compounded with multiple hops • Out-of-order packet delivery • frequent route changes may cause out-of-order delivery • TCP does not perform well if packets are significantly OOO • Multiple access protocol • choice of MAC protocol can impact TCP performance significantly • Half-duplex radios • cannot send and receive packets simultaneously • changing mode (send or receive) incurs overhead Computer Network

  35. Impact of MAC - Delay Variability • As wireless medium is shared between multiple sources, the round-trip delay is variable • Also, on slow wireless networks, delay is large • made larger by send-receive turnaround time • Large and variable delays result in larger RTO • On packet loss, timeout takes much longer to occur • Idle source (waiting for timeout to occur) lowers TCP throughput Computer Network

  36. Impact of MAC - Delay Variability Several techniques may be used to mitigate problem, based on minimizing ack transmissions • to reduce frequency of send-receive turnaround and contention between acks and data • Piggybacking link layer acks with data • Sending fewer TCP acks - ack every d-th packet (d may be chosen dynamically) • but need to use rate control at sender to reduce burstiness (for large d) • Ack filtering - Gateway may drop an older ack in the queue, if a new ack arrives • reduces number of acks that need to be delivered to the sender Computer Network

  37. Header Compression for Wireless Networks • In TCP packet stream, most header bits are identical • Van Jacobson’s scheme exploits this observation to compress headers, by only sending the “delta” between the previous and current header • Packet losses result in inefficiency, as headers cannot be reconstructed due to lost information • Packet losses likely on wireless links • [Degermark96] proposes a technique that works well despite single packet loss • “twice” algorithm • if current packet fails TCP checksum, assume that a single packet is lost • apply delta for the previous packet twice to the current header, and test checksum again Computer Network

  38. Automatic TCP Buffer Tuning • Using too small buffers can yield poor performance • Using too large buffers can limit number of open connections • Automatic mechanisms to choose buffer size dynamically would be useful Computer Network

  39. Sources of problems? • Misinterpretation of packet loss • Frequent path breaks • Effect of path length • Misinterpretation of congestion window • Asymmetric link behavior: location dependent contention • Uni-directional path: each Ack requires RTS-CTS-data-Ack, more than 70 bytes of overhead • Multipath routing: out of order packet and dupAck. • Network partitioning and remerging • Sliding Window: size of the window Computer Network

  40. Design goals • Maximize throughput per connection • Throughput fairness • Minimum connection setup and maintenance overhead. • Mechanisms for congestion and flow controls • Reliable and unreliable connections • Adapt to the dynamics of the network. • Resource, Bandwidth, used efficiently. • Aware of resource, battery, constraints. • End to end semantics • Use information from the lower layer • Well-defined cross-layer interaction for effective and scalable protocol Computer Network

  41. Different approaches • Adapt TCP for Ad hoc • Split-TCP • End to end approaches • Mostly the same problems discussed in Wireless TCP • New Transport protocols • Application Control Transport Protocol (ACTP) • Ad Hoc Transport Protocol (ATP) Computer Network

  42. ACTP protocol • A light weight transport layer protocol • Reliability is left to the application • It is like UDP with feedback • It supports priority • Advantages • It is scalable • No congestion window, then, path break does not affect much thoughput • Disadvantages: • Not compatible with TCP • Might cause congestion in very large ad hoc Networks Computer Network

  43. ATP protocol • A reliable transport layer protocol • Coordination between different layers of the protocol stack. • Rate based Transmission • Transmission is scheduled by timer • No need for self clocking • Avoid burstiness • Decoupling of congestion control and reliability. • Assisted Congestion control: regulate rate based on the feedback from network • TCP friendliness and fairness Computer Network

  44. ATP protocol • Intermediate node: keep Qt and Tt as the average queuing and transmission delay. They are computed over all packet • Each packet has a D field, rate feedback, which is the maximum of Qt+ Tt in the upstream nodes the packet travese. • Receiver: send periodic feedback to the source with value of D. it runs an epoch time of period E • Rate Feedback: an exponential averaging of D, • Reliability Feedback: use SACK with bigger blocks (20 here) • Flow Control feedback: done by received rate. Computer Network

  45. ATP protocol (cont) • Sender: Perform quick start, congestion control, reliability and connection management • Quick start: Send a probe packet to calculate available BW by considering D and the rate • Three congestion phases: Increase, decrease and maintains • Increase: done more aggressively. If the current rate was less the calculated one • Decrease: less conservative. • Maitain: if the currently rate was close to the feedback rate. • Reliability: receiver sends hole periodicly Computer Network

  46. Issues for Further Investigation Computer Network

  47. Link Layer Protocols • “Pure” link layer designs that support higher transport performance • some recent work in this area as noted earlier • Identifying scenarios where link layer solutions are inadequate • If TCP-awareness is absolutely needed, provide an interface that can be used by other transport protocols too Computer Network

  48. End-to-End Techniques • Existing techniques typically require cooperation from intermediate nodes. • Such techniques often not applicable • encrypted TCP headers • TCP data and acks do not go through same base station • End-to-end techniques would rely on information available only at end nodes • Harder to design due to lack of complete information about errors • Explicit Notifications may make that easier Computer Network

  49. Impact of Congestion Losses • Past work typically evaluates performance in absence of congestion • Relative performance improvement may change substantially when congestion occurs • performance improvement may reduce if congestion is dominant, or if RTO becomes larger due to wireless errors Computer Network

  50. Multiple TCP Transfers • Past work typically measures a single TCP connection over wireless • TCP throughput is the metric of choice • When multiple connections share a wireless link, other performance metrics may make sense • fairness • aggregate throughput • Relative performance improvements of various schemes may change when multiple connections are considered Computer Network

More Related