Investigating the Use of Synchronized Clocks in TCP Congestion Control

Similar documents
Investigating the Use of Synchronized Clocks in TCP Congestion Control

Appendix B. Standards-Track TCP Evaluation

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

ARTICLE IN PRESS. Delay-based early congestion detection and adaptation in TCP: impact on web performance

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Appendix A. Methodology

A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks. Motivation

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

The War Between Mice and Elephants

CS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course:

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Tuning RED for Web Traffic

Performance Consequences of Partial RED Deployment

A Report on Some Developments in TCP Congestion Control Mechanisms

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

image 3.8 KB Figure 1.6: Example Web Page

Congestion Control for High Bandwidth-delay Product Networks

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs

8. TCP Congestion Control

TCP Congestion Control

The Transport Layer Congestion control in TCP

c 2003 Michele Aylene Clark Weigle ALL RIGHTS RESERVED iii

Chapter III: Transport Layer

TCP Congestion Control

TCP Congestion Control

TCP Congestion Control

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

End-to-End Mechanisms for QoS Support in Wireless Networks

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Congestion Control in TCP

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Performance Analysis of TCP Variants

Principles of congestion control

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Congestion Control in TCP

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

Flow and Congestion Control Marcos Vieira

Lecture 14: Congestion Control"

CS4700/CS5700 Fundamentals of Computer Networks

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

CS268: Beyond TCP Congestion Control

ADVANCED TOPICS FOR CONGESTION CONTROL

Computer Networking Introduction

Congestion Control Without a Startup Phase

Transport Layer TCP / UDP

One More Bit Is Enough

Recap. More TCP. Congestion avoidance. TCP timers. TCP lifeline. Application Presentation Session Transport Network Data Link Physical

EXPERIENCES EVALUATING DCTCP. Lawrence Brakmo, Boris Burkov, Greg Leclercq and Murat Mugan Facebook

TCP congestion control:

CS3600 SYSTEMS AND NETWORKS

ADVANCED COMPUTER NETWORKS

Network Management & Monitoring Network Delay

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Network Performance: Queuing

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Fall 2012: FCM 708 Bridge Foundation I

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Transport Protocols and TCP: Review

CSCI Topics: Internet Programming Fall 2008

Solution to Question 1: ``Quickies'' (25 points, 15 minutes)

ETSF10 Internet Protocols Transport Layer Protocols

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren

MCS-377 Intra-term Exam 1 Serial #:

CSCD 330 Network Programming Winter 2015

Lecture 15: Transport Layer Congestion Control

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

Transport Protocols & TCP TCP

Mitigating Egregious ACK Delays in Cellular Data Networks by Eliminating TCP ACK Clocking

CS644 Advanced Networks

RED behavior with different packet sizes

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

CSE 573S Protocols for Computer Networks (Spring 2005 Final Project)

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Transport layer issues

Advanced Computer Networks

Documents. Configuration. Important Dependent Parameters (Approximate) Version 2.3 (Wed, Dec 1, 2010, 1225 hours)

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

Studying Fairness of TCP Variants and UDP Traffic

TCP Nice: A Mechanism for Background Transfers

WB-RTO: A Window-Based Retransmission Timeout. Ioannis Psaras, Vassilis Tsaoussidis Demokritos University of Thrace, Xanthi, Greece

Student ID: CS457: Computer Networking Date: 3/20/2007 Name:

CS321: Computer Networks Congestion Control in TCP

Congestion Control. Queuing Discipline Reacting to Congestion Avoiding Congestion. Issues

Internet Protocols Fall Lecture 16 TCP Flavors, RED, ECN Andreas Terzis

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

Congestion Control. Tom Anderson

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang

Network Management & Monitoring

Congestion Avoidance

Congestion control in TCP

Cloud e Datacenter Networking

Congestion Avoidance and Control. Rohan Tabish and Zane Ma

TCP LoLa Toward Low Latency and High Throughput Congestion Control

6.033 Computer System Engineering

Flow and Congestion Control

15-744: Computer Networking TCP

Congestion Control. Resource allocation and congestion control problem

Bandwidth Allocation & TCP

Transcription:

Investigating the Use of Synchronized Clocks in TCP Congestion Control Michele Weigle (UNC-CH) November 16-17, 2001 Univ. of Maryland Symposium The Problem TCP Reno congestion control reacts only to packet loss Congestion occurs before packets are dropped Can we detect (and react to) network congestion earlier than TCP Reno? 1

Background TCP In-order, reliable transfer delivered to application 3 4 5 6 7 8 9 10 lost waiting for retransmission Sliding window 3 4 5 6 7 8 9 10 Background Packet Loss and TCP Network queues drop tail X TCP Reno lost packets indicate network congestion 2

Background TCP Congestion Control Available network bandwidth unknown Probe network by increasing window Back-off when loss detected TCP window x x x time Motivation Congestion 26 ms OTT 23 ms 19 ms 10 ms 10 Mbps 16 ms 13 ms 9 ms queuing delay 0 ms Congestion occurs when queues in routers build up Increased queue lengths result in increased queuing delay Queuing delay current one-way transit time (OTT) - min OTT 3

Motivation Congestion Control TCP Reno congestion control reacts to loss reduce sending rate only when packets are lost perform congestion control only when time to retransmit lost packets X React to congestion early and avoid losses congestion occurs before packets are lost decouple congestion control and retransmission Motivation Why Synchronized Clocks? Clocks on identical machines drift Measure exact one-way transit time (OTT) for each path on a connection Allow end systems to measure level of congestion How much accuracy needed? 4

Sync-TCP Overview Early congestion detection use synchronized clocks estimate queuing delay new TCP option - Sync-TCP If all senders see increased queuing delay and back off, congestion can be alleviated halve congestion window Sync-TCP TCP Option Add an option to the TCP header Send OTT in each packet (including ACK) kind length OTT 4 bytes timestamp value 4 bytes echo reply 4 bytes 5

Sync-TCP Example sender 5 8 9 [OTT, ts value, echo reply] [0, 5, 0] [1, 7, 5] [1, 9, 7] receiver 6 7 Sender s Calculations time data received = time data sent (echo reply) + OTT 13 [2, 12, 9] 11 12 time ACK delayed = time ACK sent (ts value) - time data received Bulk Transfer vs. HTTP Background Study dynamics of TCP Reno and Sync-TCP Network queue size (60 1000-byte packets) delay (50 ms RTT) bottleneck throughput (10 Mbps) 600 second run time Estimate max and instantaneous queue size if queue over half full, halve congestion window 6

Traffic HTTP 90% simulates 2700 browsers Bulk TCP 10% (unconstrained) 2 flows 1000-byte packets 64 KB window, 50 ms RTT, 10.5 Mbps bandwidth x delay Network Diagram bulk TCP hosts web clients web servers monitoring 10Mb appearances 10Mb appearances 100Mb Hub (10Mb Hubs) 100Mb Hub 7

Lab Two Sync-TCP Flows 63 drops 61 drops 8

Sync-TCP vs. TCP Reno 270 drops 89 drops Results Fewer retransmissions ~75% throughput of TCP Reno Proof of concept 9

Current Live Network vs. Simulation Live Network runs real TCP stack Simulation (NS) easier to setup complex topologies global clock synchronized clocks everywhere Current HTTP Traffic How does Sync-TCP affect HTTP traffic? Network queue size (200 1000-byte packets) various RTTs bottleneck throughput (10 Mbps) 600 seconds simulation length Estimate max and instantaneous queue size if queue over half full, halve congestion window 10

Current Results (So Far...) Fewer packet losses Similar throughput Methodology Generating Realistic Web Traffic Main components think times request sizes response sizes 100 92 80 Pareto CDF Pareto distributions 1 < α < 2 variance infinite billions of samples needed to encounter theoretical mean 0 0 20 50 100 value 11

Methodology How Long To Run s? Ordinary rules of statistics do not apply Summary Provide TCP with additional information about the network use OTTs to detect congestion Can reduce losses and retransmissions Evaluation of HTTP traffic performance is hard 12

Future... Develop methods for comparing performance of HTTP traffic Evaluate appropriate threshold for congestion Evaluate appropriate reaction to congestion halving the window is too aggressive Assess required accuracy of clocks 13