Options or payload? Costin Raiciu UCL IETF 78, Maastricht.

Slides:



Advertisements
Similar presentations
Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Advertisements

Camarillo / Schulzrinne / Kantola November 26th, 2001 SIP over SCTP performance analysis
Ensuring the Reliability of Data Delivery © 2004 Cisco Systems, Inc. All rights reserved. Establishing a TCP Connection INTRO v2.0—6-1.
© 2007 Cisco Systems, Inc. All rights reserved.ICND1 v1.0—1-1 Building a Simple Network Understanding the TCP/IP Transport Layer.
Fixing TCP in Datacenters Costin Raiciu Advanced Topics in Distributed Systems 2011.
Hui Zhang, Fall Computer Networking TCP Enhancements.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Computer Networks 2 Lecture 2 TCP – I - Transport Protocols: TCP Segments, Flow control and Connection Setup.
TRANSPORT LAYER  Session multiplexing  Segmentation  Flow control (TCP)  Connection-oriented (TCP)  Reliability (TCP)
MPTCP – MULTIPATH TCP WG meeting #3 July 27 th & 29 th 2010 Maastricht, ietf-78 Philip Eardley Yoshifumi Nishida.
Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.
An Implementation and Experimental Study of the eXplicit Control Protocol (XCP) Yongguang Zhang and Tom Henderson INFOCOMM 2005 Presenter - Bob Kinicki.
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
CS 268: Wireless Transport Protocols Kevin Lai Feb 13, 2002.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168)
CMPE 80N - Introduction to Networks and the Internet 1 CMPE 80N Winter 2004 Lecture 21 Introduction to Networks and the Internet.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
TCP Throughput Collapse in Cluster-based Storage Systems
Multipath TCP Signaling Options or Payload? Costin Raiciu
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
CISC856 University of Delaware
Wireless TCP. References r Hari Balakrishnan, Venkat Padmanabhan, Srinivasan Seshan and Randy H. Katz, " A Comparison of Mechanisms for Improving TCP.
Forward Error Correction vs. Active Retransmit Requests in Wireless Networks Robbert Haarman.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Low Latency Adaptive Streaming over TCP Authors Ashvin Goel Charles Krasic Jonathan Walpole Presented By Sudeep Rege Sachin Edlabadkar.
Multipath TCP ACM Queue, Volume 12 Issue 2, pp. 1-12, February 2014 Christoph Paasch and Olivier Bonaventure University College London 1.
Multipath TCP Signaling Options or Payload? Costin Raiciu
ECE 4110 – Internetwork Programming
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Transport Layer: Sliding Window Reliability
Fall 2004FSU CIS 5930 Internet Protocols1 TCP – Data Exchange Reading: Section 24.4.
Peer-to-Peer Networks 13 Internet – The Underlay Network
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Studies of LHCb Trigger Readout Network Design Karol Hennessy University College Dublin Karol Hennessy University College Dublin.
1 Three ways to (ab)use Multipath Congestion Control Costin Raiciu University Politehnica of Bucharest.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
MPTCP Proxy MPTCP Client MPTCP Proxy Server.
TCP over Wireless PROF. MICHAEL TSAI 2016/6/3. TCP Congestion Control (TCP Tahoe) Only ACK correctly received packets Congestion Window Size: Maximum.
Other Methods of Dealing with Congestion
Application – Transport – Network
Master’s Project Presentation
By, Nirnimesh Ghose, Master of Science,
Internet Networking recitation #9
Chapter 3 outline 3.1 transport-layer services
Quick UDP Internet Connections
Transmission Control Protocol (TCP)
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
Transmission Control Protocol (TCP)
Long-haul Transport Protocols
TCP.
TCP.
Extending Option Space Discussion Overview and its requirements
Magda El Zarki Professor, ICS UC, Irvine
Multipath TCP Yifan Peng Oct 11, 2012
Multi-addressed Multipath TCP
MultiPath TCP Material from
Other Methods of Dealing with Congestion
Internet Networking recitation #10
Low-Latency Adaptive Streaming Over TCP
46 to 1500 bytes TYPE CODE CHECKSUM IDENTIFIER SEQUENCE NUMBER OPTIONAL DATA ICMP Echo message.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Introduction to Computer Networks
Transport Protocols: TCP Segments, Flow control and Connection Setup
TCP flow and congestion control
ECN in QUIC - Questions Surfaced
Presentation transcript:

Options or payload? Costin Raiciu UCL IETF 78, Maastricht

Outline We need explicit data ACKs How do we encode Data ACK? – Data ACKs in the payload create problems – Data ACKs must be encoded in options How do we encode DSN mapping?

We need explicit data ACKs 10,1 Data ACK Window Receive Window [, ] [1, ] [1,2] ACK 10,WND 1 20,2 ACK 20, WND ,3 Drop Packet loss = congestion

We need explicit data ACKs 10,1 Data ACK Window Receive Window [, ] [1, ] [2, ] ACK 10,WND 1 20,2 ACK 20, WND , APP READ 20,3

Data ACKs must be explicit Otherwise flow control does not correctly work This may matter more often than we think – Stacks normally use as little buffering as possible How do we encode data ACKs?

Problems with Data ACKs in the payload Data ACKs are congestion controlled Head of line blocking of Data ACKs due to packet loss affect forward throughput – HoL blocking during Fast Retransmit, Timeouts Data ACKs are flow controlled – Potential deadlocks, can in principle be avoided

Experiment OpenVPN plaintext tunneling – TCP over TCP – TCP over UDP Baseline: – TCP over TCP tunneling: 93Mbps – TCP over UDP tunneling: 94Mbps 100Mbps,<1ms OpenVPN Client OpenVPN Server Router

Experiment: ACK path congestion TCP transfers OpenVPN Transfer Throughput(Mb/s) Number of Reverse Path TCP connections

Fixing Head of Line blocking Possible fix: use escape sequences instead of TLV – Overhead to escape payload Need to scan all payload in kernel No hardware acceleration (for now) – Need to linearly search payload when HoL – Performance will be poor Better fix: use options

Problems with Data ACKs in payload Head of Line Blocking Congestion Control Flow Control PayloadPoor performance FIX: do not cc signaling – but what if data and ACKs are mixed? Possible deadlock: FIX: save last 1kb of receive buffer for signaling OptionsNo problem

What about Data Sequence Mapping? In payload – Can get away with simpler solutions for finding payload length changes due to middleboxes – No space restrictions In options – We are using options anyways, we might as well keep the payload unmodified – Space is tighter, but can fit multipath without removing existing options – Future TCP extensions require extending the options space

Conclusions Options are the architecturally cleaner approach Can get through middleboxes – Otherwise protocol detects and quickly falls back to TCP Data ACKs must be transmitted out of band – Options are the only feasible alternative Data Sequence Mapping may be sent in band – Slight advantage for payload – Which one do people prefer?

Backup Slides

Experiment: bidirectional transfer TCP transfers OpenVPN Transfer Throughput(Mb/s) Number of TCP connections