CISC856 University of Delaware

Slides:



Advertisements
Similar presentations
mptcp proxies Mark Handley
Advertisements

WELCOME! Multipath TCP Implementors Workshop Saturday 24 th July Maastricht Philip Eardley MPTCP WG Co-chair.
TCP--Revisited. Background How to effectively share the network? – Goal: Fairness and vague notion of equality Ideal: If N connections, each should get.
Opportunistic Mobility with Multipath TCP
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Multipath TCP Costin Raiciu University Politehnica of Bucharest Joint work with: Mark Handley, Damon Wischik, University College London Olivier Bonaventure,
Transportation Layer (2). TCP full duplex data: – bi-directional data flow in same connection – MSS: maximum segment size connection-oriented: – handshaking.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks Multipath.
TDTS21 Advanced Networking
Improving Datacenter Performance and Robustness with Multipath TCP Costin Raiciu, Sebastien Barre, Christopher Pluntke, Adam Greenhalgh, Damon Wischik,
Transportation Layer. Very similar to the data link layer. – two hosts connected by a link or two hosts connected by a network differences: – When two.
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.
Options or payload? Costin Raiciu UCL IETF 78, Maastricht.
EEC-484/584 Computer Networks Lecture 15 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168)
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Routing of Outgoing Packets with MP-TCP draft-handley-mptcp-routing-00 Mark Handley Costin Raiciu Marcelo Bagnulo.
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.
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.
1 Transport Layer Computer Networks. 2 Where are we?
Multipath TCP Signaling Options or Payload? Costin Raiciu
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Transport Layer: UDP, TCP
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
SELECTIVE ACKNOWLEDGEMENT (SACK) DUPLICATE SELECTIVE ACKNOWLEDGMENT
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
Congestion control for Multipath TCP (MPTCP) Damon Wischik Costin Raiciu Adam Greenhalgh Mark Handley THE ROYAL SOCIETY.
MultiPath TCP Proxy Presented by: Yongzhi Zhuang, Wei Zeng, Jianlei Zhang.
Multipath TCP Security Issues: A Request for Assistance Alan Ford (MPTCP WG)
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
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
MPTCP Protocol draft-ietf-mptcp-multiaddressed-02 Update and Open Issues Alan Ford IETF79 – Beijing 1.
MPTCP Protocol – Updates draft-ietf-mptcp-multiaddressed-03 Alan Ford, Costin Raiciu, Mark Handley, Olivier Bonaventure.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
Mptcp proxies Mark Handley. MPTCP Mobility Mobile client 3G celltower Server.
MPTCP proxy mechanisms (draft-wei-mptcp-proxy-mechanism-00)
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 3: Transport.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
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.
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.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Ch23 Ameera Almasoud 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007.
09-Transport Layer: TCP Transport Layer.
By, Nirnimesh Ghose, Master of Science,
Internet Networking recitation #9
COMP2322 Lab 6 TCP Steven Lee Mar 29, 2017.
ECE 4605 Edgar Duskin Ifiok Udowana
Long-haul Transport Protocols
TCP.
Process-to-Process Delivery
TCP.
Multipath TCP Yifan Peng Oct 11, 2012
Multi-addressed Multipath TCP
MultiPath TCP Material from
COS 561: Advanced Computer Networks
Internet Networking recitation #10
CS4470 Computer Networking Protocols
Transportation Layer.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Presentation transcript:

CISC856 University of Delaware Multipath TCP (MPTCP) Wei Wang 04/19/2011 CISC856 University of Delaware

Reference Materials Draft-ietf-mptcp-multiaddressed-03 Draft-ietf-mptcp-architecture-05 Draft-ietf-mptcp-congestion-02

Motivation Growing number of multihomed hosts IPad and Smart Phones with 3G + WIFI Laptops with wired and wireless connections When TCP encounters multihomed host Inefficient (Throughput) One interface, one connection (Reliability) Note: When I connect to wired network, I usually disconnect wireless connection.

Possible Scenario: Mobile Client 3G Celltower Mobile Client Server

Scenario: Mobile Client (2) Server Wifi Wifi

Scenario: Mobile Client (3) Server Wifi

Scenario: Mobile Client (4) Server Wifi Mobile Client Wifi

MPTCP in the Networking Stack Application TCP IP Application MPTCP Subflow(TCP) … IP Standard TCP vs. MPTCP Protocol Stack

MPTCP Option Kind Length Sub-type 1 2 3 4 5 6 7 8 9 Kind Length Sub-type (Subtype-specific data-------------------- ------------------------------------------------- Variable length) Symbol Name Subtype Value MP_CAPABLE Multipath Capable 0x0 MP_JOIN Join Connection 0x1 DSS Data Sequence Signal 0x2 …

Example Usage Scenario Host A Host B A1 A2 B1 B2 Initial Connection Setup Additional Subflow Setup

Connection Initiation Single path A (Initiator) B (Listener) A’s Key (SYN) B’s Key (ACK+SYN) A’s Key & B’s Key (ACK)

Connection Initiation (2) MP_CAPABLE option 64-bit key to authenticate the addition of future subflows The mapping Initial Data Sequence Number (64-bit truncation of hash of the key) Used in the first subflow of a connection Connection Token (KeyA,KeyB) Kind Length Sub-type Ver-sion C (reserved) S Sender’s Key (64 bits) Receiver’s Key (64 bits) (if Length == 20)

Starting a New Subflow SYN/ACK Exchange w/ MP_JOIN option Host A HostB SYN+MP_CAPABLE (Key-A) SYN/ACK+MP_CAPABLE(Key-B) ACK+MP_CAPABLE(Key-A,Key-B) ACK+MP_JOIN(MAC-A) SYN/ACK+MP_JOIN(MAC-B,R-B) SYN+MP_JOIN(Token-B,R-A) SYN/ACK Exchange w/ MP_JOIN option

Starting a New Subflow (2) MP_JOIN option (initial SYN) Token Identify the MPTCP connection Mapped to 5-tuples after arrival Demultiplexing using 5-tuples upon successful subflow setup Cryptographic hash of the receiver’s key Random number Prevent replay attacks on authentication Kind Length = 12 Subtype B Address ID Receiver’s Token (32 bits) Sender’s Random Number (32 bits)

Starting a New Subflow (3) MP_JOIN option (responding SYN + ACK) MAC(Key, Msg) Key from initial handshake, Msg from Random Numbers MAC-B = MAC (Key=(Key-B+Key-A), Msg=(R-B+R-A)) Kind Length = 12 Sub-type B Address ID Sender’s Truncated MAC (64bits) Sender’s Random Number (32 bits)

Starting a New Subflow (4) MP_JOIN option (third ACK) MAC-A = MAC (Key=(Key-A+Key-B), Msg=(R-A+R-B)) Kind Length = 12 Sub-type B Sender’s MAC (160 bits SHA-1)

Sequence Numbers PDUs go multiple paths Options Need sequence numbers to put them back in sequence Need sequence numbers to infer loss on a single path Options One sequence space shared across all paths? One sequence space per path, plus an extra one to put data back in the correct order at the receiver?

Single Sequence Space Stripe the data sequence numbers across subflows Use data cumulative ack ACK: 1, 3, 5 5 3 1 1 2 3 4 5 6 1 2 3 4 5 6 6 4 2 ACK: 2, 4, 6

Lost PDU Problem Cannot tell which subflows lost data 5 3 1 1 2 3 4 5 ACK: 1, 1, 1 5 3 1 1 2 3 4 5 6 1 3 4 5 6 6 4 2 ACK: 1, 1, 1

Multiple Sequence Spaces Each subflow has its own sequence number space Data sequence numbers are mapped on the subflow that sends them (DSN) Use cumulative ack on each subflow for simplicity

(Explicit) Data Sequence Mapping ACK: 1, 2, 3 3,5 2,3 1,1 1 2 3 4 5 6 1 2 3 4 5 6 3,6 2,4 1,2 ACK: 1, 2, 3 Subflow sequence number Data sequence number

Lost PDU ACK: 1, 1, 1 3,5 2,3 1,1 1 2 3 4 5 6 1 2 3 4 5 6 2 3 4 5 6 4,1 3,6 2,4 1,2 ACK: 1, 2, 3 ACK: 1, 2, 3, 4 Subflow sequence number Data sequence number

Data ACK Rationale Deadlock conditions: acked at subflow level but failed to reach application Freedom to drop segments at subflow level Left edge of the advertised receive window Shared by all subflows Relative to Data ACK

Closing a Connection FIN in MPTCP only affects the subflow on which it is sent DATA FIN Decoupled from subflow FIN Included in the Data-level Length, not at subflow level Once acked, remaining subflows close w/ standard FIN exchanges Connection closed after both host’s DATA FIN acked A segment with DSN 80, and length 11, with DATA FIN set, would be acked with a DATA ACK of 91.

Acknowledgement Multipath TCP Implementors Workshop, Maastricht et al Work in progress (MPTCP), Mark Handley et al Designing a Multipath Transport Protocol, Costin Raiciu & Mark Handley

Backup Slides

MPTCP Terminology Path Subflow MPTCP Connection Data-level (Connection-level) Token Host

Summary of Goals Improve throughput Be “fair” Improve resilience Application compatibility Network compatibility Fallback to regular TCP Improve throughput Better than regular TCP on best path Be “fair” To regular TCP at shared bottlenecks Paths may not be disjoint Improve resilience Use multiple paths interchangeably Paths may disappear Assume identify paths by IP addresses Application compatibility Same API as regular TCP Network compatibility Work on current Internet Traverse predominant middleboxes Fallback to regular TCP

Summary of Design Decisions Improve throughput & Be “fair” Congestion control: coupled increases algorithm Improve resilience Either end can add paths Re-transmit on any path Application compatibility TCP API – no mods to apps Modify TCP stack Network compatibility Subflows look like regular TCP Connection & subflow sequence spaces, acks… Signal “MPTCP capable” with TCP option on SYN Fallback to regular TCP

Graceful Degradation (Fallback) Connection Initiation Page 13