1 / 23

Chapter 3 Transport Layer Part D

Chapter 3 Transport Layer Part D. TCP Performance. Utilization of a link with 5 TCP connections. Cannot fully utilize the huge capacity of high-speed networks!. NS-2 Simulation (100 sec) Link Capacity = 155Mbps, 622Mbps, 2.5Gbps, 5Gbps, 10Gbps, Drop-Tail Routers, 0.1BDP Buffer

fabian
Download Presentation

Chapter 3 Transport Layer Part D

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. Chapter 3Transport LayerPart D

  2. TCP Performance Utilization of a link with 5 TCP connections Cannot fully utilize the huge capacity of high-speed networks! NS-2 Simulation (100 sec) • Link Capacity = 155Mbps, 622Mbps, 2.5Gbps, 5Gbps, 10Gbps, • Drop-Tail Routers, 0.1BDP Buffer • 5 TCP Connections, 100ms RTT, 1000-Byte Packet Size

  3. cwnd = cwnd + 1 cwnd = cwnd * (1-1/2) Packet loss Packet loss TCP Packet loss Packet loss cwnd Slow start Congestion avoidance Time (RTT) TCP Congestion Control • The instantaneous throughput of TCP is controlled by a variable cwnd, • TCP transmits approximately a cwnd number of packets per RTT (Round-Trip Time).

  4. 1.4 hours 1.4 hours 1.4 hours 100,000 10Gbps 50,000 5Gbps TCP over High-Speed Networks • A TCP connection with 1250-Byte packet size and 100ms RTT is running over a 10Gbps link (assuming no other connections, and no buffers at routers) slow increase TCP Packet loss Packet loss Packet loss Packet loss big decrease cwnd Slow start Congestion avoidance Time (RTT)

  5. cwnd = cwnd + 1 cwnd = cwnd + 0.01*cwnd cwnd = cwnd * (1-1/2) cwnd = cwnd * (1-1/8) Packet loss Packet loss STCP (Scalable TCP) • STCP adaptively increases cwnd, and decreases cwnd by 1/8. TCP Packet loss Packet loss cwnd Slow start Congestion avoidance Time (RTT)

  6. cwnd = cwnd * (1-1/2) cwnd = cwnd * (1-dec(cwnd)) cwnd = cwnd + 1 cwnd = cwnd + inc(cwnd) Packet loss Packet loss HSTCP (High Speed TCP) • HSTCP adaptively increases cwnd, and adaptively decreases cwnd. • The larger the cwnd, the larger the increment, and the smaller the decrement. TCP Packet loss Packet loss cwnd Slow start Congestion avoidance Time (RTT)

  7. Some Measurements of Throughput CERN -SARA • Using the GÉANT Backup Link • 1 GByte file transfers • Blue Data • Red TCP ACKs • Standard TCP • Average Throughput 167 Mbit/s • Users see 5 - 50 Mbit/s! • High-Speed TCP • Average Throughput 345 Mbit/s • Scalable TCP • Average Throughput 340 Mbit/s

  8. TCP Vegas • Packet losses offer binary feedback to the end user. • Binary feedback induces oscillations. • Need multi-bit feedback to improve performance. • Idea: source watches for some sign that some router's queue is building up and congestion will happen soon; e.g., • RTT is growing • sending rate flattens

  9. Algorithm • Let BaseRTT be the minimum of all measured RTTs (commonly the RTT of the first packet) • if not overflowing the connection, then • ExpectedRate = CongestionWindow / BaseRTT • source calculates current sending rate (ActualRate) once per RTT • source compares ActualRate with ExpectedRate • Diff = ExpectedRate – ActualRate • if Diff <  • -->increase CongestionWindow linearly (+1) • else if Diff > • -->decrease CongestionWindow linearly (-1) • else • -->leave CongestionWindow unchanged

  10. Parameters • Parameters • : 1 packet • : 3 packets • Even faster retransmit • keep fine-grained timestamps for each packet • check for timeout on first duplicate ACK

  11. Example TCP Vegas Actual Throughput Expected throughput

  12. TCP FAST • Packet Losses give binary feedback to the end user . • Binary feedback induces oscillations. • Need multi-bit feedback to improve performance. • Like TCP Vegas FAST TCP uses delays to infer congestion. • The window is updated as follows.

  13. SC2002 Network OC48 OC192 (Sylvain Ravot, caltech)

  14. FAST throughput(averaged over 1hr) 92% 2G 48% 95% Average utilization 1G 27% 16% 19% txq=100 txq=10000 Linux TCP Linux TCP FAST Linux TCP Linux TCP FAST

  15. Round Trip Time Round Trip Time Congestion Window Congestion Window Feedback Feedback Congestion Header The XCP Protocol Feedback = + 0.1 packet

  16. Round Trip Time Congestion Window Feedback = + 0.1 packet How does XCP Work? Feedback = - 0.3 packet

  17. How does XCP Work? Congestion Window = Congestion Window + Feedback XCP extends ECN and CSFQ Routers compute feedback without any per-flow state

  18. Congestion Controller Fairness Controller Goal: Matches input traffic to link capacity & drains the queue Goal: Divides  between flows to converge to fairness Looks at a flow’s state in Congestion Header Looks at aggregate traffic & queue AIMD MIMD • Algorithm: • Aggregate traffic changes by   ~ Spare Bandwidth • ~ - Queue Size So,  =  davg Spare -  Queue Algorithm: If  > 0  Divide  equally between flows If  < 0 Divide  between flows proportionally to their current rates How Does an XCP Router Compute the Feedback? Congestion Controller Fairness Controller

  19. Algorithm: If  > 0  Divide  equally between flows If  < 0 Divide  between flows proportionally to their current rates  =  davg Spare -  Queue Theorem:System converges to optimal utilization (i.e., stable) for any link bandwidth, delay, number of sources if: Need to estimate number of flows N RTTpkt : Round Trip Time in header Cwndpkt : Congestion Window in header T: Counting Interval (Proof based on Nyquist Criterion) Getting the devil out of the details … Congestion Controller Fairness Controller No Per-Flow State No Parameter Tuning

  20. XCP Remains Efficient as Bandwidth or Delay Increases Utilization as a function of Delay Utilization as a function of Bandwidth Avg. Utilization Avg. Utilization Bottleneck Bandwidth (Mb/s) Round Trip Delay (sec)

  21. XCP Remains Efficient as Bandwidth or Delay Increases Utilization as a function of Delay Utilization as a function of Bandwidth Avg. Utilization Avg. Utilization Bottleneck Bandwidth (Mb/s) Round Trip Delay (sec)

  22. The ACP protocol

  23. Responses generated by ACP

More Related