Tuning, Tweaking and TCP

Similar documents
Network Research and Linux at the Hamilton Institute, NUIM.

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

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

Advanced Congestion Control (Hosts)

TCP on High-Speed Networks

CS Networks and Distributed Systems. Lecture 10: Congestion Control

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

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

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018

Outline. User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Transport layer (cont.) Transport layer. Background UDP.

TCP on High-Speed Networks

Performance-oriented Congestion Control

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

cs/ee 143 Communication Networks

CS419: Computer Networks. Lecture 10, Part 2: Apr 11, 2005 Transport: TCP mechanics (RFCs: 793, 1122, 1323, 2018, 2581)

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

MPTCP: Design and Deployment. Day 11

CS268: Beyond TCP Congestion Control

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

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

bitcoin allnet exam review: transport layer TCP basics congestion control project 2 Computer Networks ICS 651

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

TCP Tuning Domenico Vicinanza DANTE, Cambridge, UK

Performance-oriented Congestion Control

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

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Evaluation of Advanced TCP Stacks on Fast Long-Distance Production Networks p. 1

COMP/ELEC 429/556 Introduction to Computer Networks

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

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

Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005

CS132/EECS148 - Instructor: Karim El Defrawy Midterm Spring 2013 Time: 1hour May 2nd, 2013

CSE 123A Computer Networks

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Lecture 4: Congestion Control

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

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

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

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

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

Reasons not to Parallelize TCP Connections for Fast Long-Distance Networks

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

Multiple unconnected networks

ECE 333: Introduction to Communication Networks Fall 2001

Transport Layer (Congestion Control)

Lecture 14: Congestion Control"

Computer Networks. Wenzhong Li. Nanjing University

Answers to Sample Questions on Transport Layer

ADVANCED TOPICS FOR CONGESTION CONTROL

TCP Congestion Control

Congestion Collapse in the 1980s

Internet Networking recitation #10 TCP New Reno Vs. Reno

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3

TCP Strategies. Keepalive Timer. implementations do not have it as it is occasionally regarded as controversial. between source and destination

Lecture 14: Congestion Control"

TCP OVER AD HOC NETWORK

RESTRUCTURING ENDPOINT CONGESTION CONTROL

CSC 401 Data and Computer Communications Networks

T Computer Networks

TCP Veno: Solution to TCP over Wireless

15-744: Computer Networking TCP

Two approaches to Flow Control. Cranking up to speed. Sliding windows in action

Introduc)on to Transport Protocols

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

TCP Service Model. Today s Lecture. TCP Support for Reliable Delivery. EE 122:TCP, Connection Setup, Reliability

CUBIC. Qian HE (Steve) CS 577 Prof. Bob Kinicki

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Reliable Transport II: TCP and Congestion Control

User Datagram Protocol

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

TCP Sendbuffer Advertising. Costin Raiciu University Politehnica of Bucharest

Networked Systems and Services, Fall 2017 Reliability with TCP

There are 10 questions in total. Please write your SID on each page.

Reliable Transport II: TCP and Congestion Control

Modelling TCP with Markov chains

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Programmation Réseau et Système

INF5071 Performance in Distributed Systems Protocols

Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery

ECE 435 Network Engineering Lecture 10

Bandwidth Allocation & TCP

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

CS644 Advanced Networks

CSCI-GA Operating Systems. Networking. Hubertus Franke

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

Flow and Congestion Control

Linux Plumbers Conference TCP-NV Congestion Avoidance for Data Centers

BicTCP Implemenation in Linux Kernels

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis

Intro to LAN/WAN. Transport Layer

6. The Transport Layer and protocols

CSC 4900 Computer Networks: TCP

Chapter 24. Transport-Layer Protocols

ECE 435 Network Engineering Lecture 10

Understanding TCP. The concept and ideas behind it. No header bit definitions No DoS protection stuff. Understanding TCP

CS3600 SYSTEMS AND NETWORKS

CS 268: Lecture 7 (Beyond TCP Congestion Control)

Operating Systems and Networks. Network Lecture 10: Congestion Control. Adrian Perrig Network Security Group ETH Zürich

Where we are in the Course. Topic. Nature of Congestion. Nature of Congestion (3) Nature of Congestion (2) Operating Systems and Networks

Transcription:

Tuning, Tweaking and TCP (and other things happening at the Hamilton Institute) David Malone and Doug Leith 16 August 2010

The Plan Intro to TCP (Congestion Control). Standard tuning of TCP. Some more TCP tweaks. Tweaking congestion control. What else we do at the Hamilton Institute.

What does TCP do for us? Demuxes applications (using port numbers). Makes sure lost data is retransmitted. Delivers data to application in order. Engages in congestion control. Allows a little out-of-band data. Some weird stuff in TCP options.

Standard TCP View Connector Listener Connector No Listener SYN SYN SYN ACK RST ACK DATA ACKS FIN FIN High Port (usually) Known Port (usually) High Port (usually) Known Port (usually)

Other Views Programmer Network Packets In Data In Socket *Some Kind of Magic* Queue/Buffer Socket Data Out Packets Out

TCP Congestion Control TCP controls the number of packets in the network. Packets are acknowledged, so reverse flow of ACKs. Receiver advertises window to avoid overflow. Congestion window (cwnd) tries to adapt to network. Slow start mechanism to find rough link capacity. Congestion avoidance to gradually adapt. Timeouts for emergencies!

cwnd Congestion Event Congestion Event Congestion Event Slow Start RTTs Reno: Additive increase, multiplicative decrease (AIMD). To fill link need to reach BW Delay. E.g. 1Gbps Ethernet Dublin to California 80000 0.2 16000 1500B packets. Backoff 1/2 buffer at bottleneck should be BW Delay. Fairness (responsiveness, stability,...)

Basic TCP Tuning Network stack has to buffer in-flight data. Need BW delay sized sockbuf! /proc/net/core/{r,w}mem max sockbuf size limits. /proc/net/ipv4/tcp {r,w}mem min/def/max for TCP wnd. (or sockopt SO SNDBUF/SO RCVBUF). For large transfers, crank up to few MB. Traditionally kernel non-pageable memory, so need to balance.

Common TCP Extensions Window scaling. Timestamps: better RTT estimates and duplicate detection. SACK lets receiver do more than ACK last contiguous byte. ECN lets receiver find out about congestion without drops. MD5 checksums. ABC. Now IETF work on new CA schemes. Also Google work on initial cwnd.

Problems for Congestion Control Packet loss caused by other factors. Filling a big link at one-packet-per-round-trip. Combined, Reno bad for high speed long distance links. Problem was flagged up: various solutions considered (Scalable TCP, HS TCP, FAST TCP, BIC,...) In practice, you ll see Reno, Cubic and Compound.

Stability

Convergence

H-TCP Our CA scheme. Available in Linux. Aim to make small changes that could be analysed. Rate of increase depends on how long since last backoff. New flows compete on level playing field. Can use some nice ideas like adaptive backoff.

Defaults Reno What most OSes are still using. Textbook: increase by 1 per RTT, backoff by one half. Cubic Default in Linux for a long time (previously BIC and Reno). Increases as a cubic function of time since backoff. Friendlier than BIC. Compound MS s congestion control. Uses two cwnds one based on loss and one on delay. Available in Vista/2008/Windows 7. IETF Drafts in TCP-M.

More Linux Tuning Linux allows you to choose the congestion control technique. Hidden behind TCP CONG ADVANCED. Can use /proc/sys/net/ipv4/tcp congestion control Includes implementations: BIC, CUBIC, HS, H-TCP, HYBLA, Illinois, LP, Scalable, Vegas, Veno, Westwood, YeAH. Also note tcpprobe debugging TCP congestion control.

Practical Issues Congestion control isn t the only issue. SACK processing time. Implementation is important. Testing is important: land speed records. http://www.web100.org/ http://www.psc.edu/networking/projects/hpn-ssh/

Other Networking at Hamilton Institute Delay based TCP to keep small delays. TCP over WiFi. WiFi: modeling, 11e, channel measurement, rate control, channel allocation, no collisions, buffering,... Mesh: fairness, efficient low-delay multipath, multipath with network coding,... Distributed load balancing. Device monitoring. Cheat detection. IPv6 and Internet Measurement.

Other Work at Hamilton Institute Systems biology, Parkinsons, HIV, mathematical immunology, pharmacokenetics,... Control systems, switched systems, control tradeoffs, automotive, robotics,... Linear algebra, matrix theory, graph theory, probability,... Network maths courses.

Wrap Up Quick review of TCP Congestion Control. Some tips on where to start tuning/tweaking. Haven t covered everything: statistical buffering, incast,... Thanks! Any Questions.