Multipath TCP Signaling Options or Payload? Costin Raiciu

Slides:



Advertisements
Similar presentations
TCP--Revisited. Background How to effectively share the network? – Goal: Fairness and vague notion of equality Ideal: If N connections, each should get.
Advertisements

Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks Multipath.
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
SCTP Tutorial Randall Stewart
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
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.
TCP/IP Protocol Suite 1 Chapter 13 Upon completion you will be able to: Stream Control Transmission Protocol Be able to name and understand the services.
Options or payload? Costin Raiciu UCL IETF 78, Maastricht.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
EE228A Project, Fall 2000 Yunfei Deng, Kenneth Cheung, Daniil Khidekel Professor Jean Walrand 12/5/2000 Modular TCP.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
CSEE W4140 Networking Laboratory Lecture 7: TCP congestion control Jong Yul Kim
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168)
Stream Control Transmission Protocol 網路前瞻技術實驗室 陳旻槿.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
Networking. Protocol Stack Generally speaking, sending an message is equivalent to copying a file from sender to receiver.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
MPTCP Proxy Support Costin Raiciu. Explicit Proxies The MPTCP host knows about the proxy (e.g. via DHCP) All connections are made to the proxy – Signaling.
Module A Panko and Panko Business Data Networks and Security, 9 th Edition © 2013 Pearson.
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Multipath TCP Signaling Options or Payload? Costin Raiciu
Wireless TCP Prasun Dewan Department of Computer Science University of North Carolina
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
CSE 461 University of Washington1 Topic How TCP implements AIMD, part 1 – “Slow start” is a component of the AI portion of AIMD Slow-start.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
More on TCP Acknowledgements Sequence Number Field Initial Sequence Number Acknowledgement Number Field.
Transport Control Protocol (TCP) Features of TCP, packet loss and retransmission, adaptive retransmission, flow control, three way handshake, congestion.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
CISC856 University of Delaware
Copyright 2008 Kenneth M. Chipps Ph.D. Controlling Flow Last Update
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
Multipath TCP Security Issues: A Request for Assistance Alan Ford (MPTCP WG)
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Network Protocols: Design and Analysis Polly Huang EE NTU
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
Multipath TCP ACM Queue, Volume 12 Issue 2, pp. 1-12, February 2014 Christoph Paasch and Olivier Bonaventure University College London 1.
TURN Jonathan Rosenberg Cisco Systems. Changes since last version Moved to behave terminology Many things moved into STUN –Basic request/response formation.
MPTCP Protocol draft-ietf-mptcp-multiaddressed-02 Update and Open Issues Alan Ford IETF79 – Beijing 1.
Transport Protocols.
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
RMCAT architectural overview Michael Welzl 1 RMCAT, 85 th IETF Meeting
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Multi-addressed Multipath TCP draft-ford-mptcp-multiaddressed-02 Alan Ford Costin Raiciu, Mark Handley.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
MPTCP Proxy MPTCP Client MPTCP Proxy Server.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Chapter 3: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
Distributed Systems 11. Transport Layer
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
By, Nirnimesh Ghose, Master of Science,
Internet Networking recitation #9
5. End-to-end protocols (part 1)
Long-haul Transport Protocols
Extending Option Space Discussion Overview and its requirements
Multipath TCP Yifan Peng Oct 11, 2012
Introduction of Transport Protocols
Multi-addressed Multipath TCP
COS 561: Advanced Computer Networks
Internet Networking recitation #10
Transport Protocols: TCP Segments, Flow control and Connection Setup
Transport Protocols: TCP Segments, Flow control and Connection Setup
Presentation transcript:

Multipath TCP Signaling Options or Payload? Costin Raiciu

Motivation MPTCP needs to signal control data to function correctly – Data sequence mapping – Data ACK – Add/remove IP – Security Information What’s the best way to signal this information?

What’s at stake We are extending TCP signaling and changing the endpoints to do multipath If we really succeed nearly all TCP will be multipath – Hence we are changing TCP signaling too

Considerations Control Message – Size – Requirements Middlebox behavior – Remove/duplicate options – Normalize payload

Options Encoding 40B in TCP header, some already used Traditional way to signal control information in TCP Not reliably delivered Cons – Limited size – Messed with by middleboxes

Payload Encoding Use Type-Length-Value encoding to add control messages in the payload No more space issues

Connection/Subflow Setup Options encoding: – Add MPTCP capable/token on initial connection (12B) – Add JOIN option on subsequent connections (8B) Payload encoding impossible – Must use options encoding, otherwise receiver can’t demux SYNs

Data Sequence Mapping 14B with options, 10B with payload Options encoding: – Reliability issue: may be stripped by middleboxes Using data ACK we can infer it was lost => drop path and use others Payload Encoding – If segment is ACKed, mapping is ACKed too.

Data ACK 8B Options - just piggyback on ACKs, cuts 1 SACK segment Payload – Data ACKs are sent reliably, in order, and are congestion controlled! – We could just not CC packets with data ACKs – Bad interaction between CC and reliability – What about pacing retransmissions? – Implications – Cannot piggyback them on all ACKs – Can trigger timeouts at the sender on connection level data – Can delay delivery of useful data

Add/Remove IP 6-18B Need in order, reliable delivery Options – Must echo options explicitly and send one/RTT or – Add sequence numbers & acks Payload – Send one/RTT or – Add sequence numbers & acks.

Security Information Typically bootstrapped when connection begins Options – Public keys (if used) will not fit in options, must encode in payload – We could add option describing where in the payload the security data is Payload: no issues

Middleboxes That strip options on data packets but not on SYNs Options – Will not use the subflow Payload Will use the subflow

Future Middleboxes Middleboxes will be deployed to optimize various aspects of multipath TCP Options – Allows all (stateless/stateful) middleboxes to see the state of the connection and the fact its multipath Payload – Stateless middleboxes cannot differentiate between TCP and MPTCP – Stateful middleboxes will have to parse the data stream; when they get desynchronized the can’t tell if it’s TCP or multipath anymore.

Future middleboxes (2) What about signaling by middleboxes? – E.g.: insert “add ip” to reroute flow through another middlebox? – Or strip/change some options (e.g. “add ip”, policy, etc.) Problems – The middlebox needs to rewrite sequence numbers on both data and acks – Can’t do it if you don’t see ACK stream

Single path MPTCP Many MPTCP connections will still be single path Shouldn’tnfall back to TCP if at the beginning there are no multiple paths – What if a new path becomes available? – What if an endpoint moves? With options encoding: flow looks roughly the same, albeit with some weird options With payload: TCP is now something else!

Comparison Summary TopicOptions SignalingPayload Signaling Connection, Subflow SetupUse options Data ACKSame as regular ACKsReliable, in order, congestion controlled => use options TCP = Single path MPTCPNearly the same as TCP today Uses TLV encoding Future middleboxesPlays niceMore difficult Security Negotiation (and other big signaling) Use payload Mboxes that allow new options on SYNs but not on data packets Stops using pathKeeps going Add/Remove IPEcho option, send max one/RTT or Sequence numbers & acks Send max one/RTT or Sequence numbers & acks

Options: What Next? We can fit all options needed for multipath in the existing options space However we can’t fit: – Security negotiation – Any other options we might need in the future Moving forward: – Option 1: do nothing – Option 2: we could try to extend the options space (tcp- edy-loo). We could mandate that using multipath implies using extending options. – Option 3: we could allow chunks of the payload to be used as extensions of the options space

Payload Encoding: What Next? We need to allow options encoding to avoid having to give reliability to signaling that doesn’t require it (data ACK obvious example) Payload encoding that allows options encoding: a) TLV type that says: look at TCP options. How do you tie it with packets? b) Receiver always parses TCP options too Breaks the layering What do you do about reliability here? How do we play nice with middleboxes? – Must use option (b)

And the winner is options encoding?