Transport Services (TAPS) BOF plan T. Moncaster, M. Welzl, D. Ros: draft-moncaster-tsvwg-transport-services-00 https://sites.google.com/site/transportprotocolservices.

Slides:



Advertisements
Similar presentations
Computer Networks TCP/IP Protocol Suite.
Advertisements

Doc.: IEEE /0165r1 SubmissionPäivi Ruuska, NokiaSlide 1 Implementation aspects of a coexistence system Notice: This document has been.
Oct, 26 th, 2010 OGF 29, FVGA-WG: Firewall Virtualization for Grid Applications Firewall Virtualization for Grid Applications - Status update
MPTCP – MULTIPATH TCP WG meeting #7 27 th July 2011 Quebec, IETF-81 Yoshifumi Nishida Philip Eardley.
MPTCP – MULTIPATH TCP WG meeting #6 31 st March 2011 Prague, ietf-80 Yoshifumi Nishida Philip Eardley.
MPTCP Application Considerations draft-scharf-mptcp-api-01 Michael Scharf Alan Ford IETF 77, March 2010.
CONEX BoF. Welcome to CONEX! Chairs: –Leslie Daigle –Philip Eardley Scribe Note well MORE INFO: -ECN.
Draft-ietf-mptcp-api-01 Michael Scharf, Alan Ford March 31, 2011.
1 Future strategy for e-submission as seen by industry Dr Michael Colmorgen, IFAH-Europe 2nd Veterinary Workshop on E-submission 4 Dec 2009, EMEA, London.
1 Specifying New Congestion Control Algorithms Sally Floyd and Mark Allman draft-floyd-cc-alt-00.txt November 2006 TSVWG Slides:
Better transport Michael Welzl KIT, Karlsruhe 15. May 2014.
Moving the Internet’s Transport Layer Ahead Michael Welzl
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Coupled congestion control for RTP media draft-welzl-rmcat-coupled-cc-02 Michael Welzl, Safiqul Islam, Stein Gjessing 88th IETF Meeting Vancouver,
A Test To Allow TCP Senders to Identify Receiver Non-Compliance Toby Moncaster †, Bob Briscoe*, Arnaud Jacquet* † University of Cambridge * BT draft-moncaster-tcpm-rcv-cheat-03.
CCNA – Network Fundamentals
SCTP Tutorial Randall Stewart
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
TSVWG #1 IETF-92 (Dallas) 24 th March 2015 Gorry Fairhurst David Black WG chairs.
Process-to-Process Delivery:
Transport Services (TAPS) BOF plan T. Moncaster, M. Welzl, D. Ros: draft-moncaster-tsvwg-transport-services-00
IETF DMM WG Mobility Exposure and Selection WT Call#2 Nov 6, 2014.
Rhys McBreen (How the internet works) X. Contents The Layers and what they do IP Addressing X.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
Unrestricted Connection Manager MIF WG IETF 79, Beijing Gaétan Feige - Cisco Pierrick Seïté, France Telecom - Orange
Networked & Distributed Systems TCP/IP Transport Layer Protocols UDP and TCP University of Glamorgan.
(Business) Process Centric Exchanges
1 DHCP Authentication Discussion INTAREA meeting, 70th IETF Vancouver, Canada Jari Arkko and Ralph Droms.
MPTCP – MULTIPATH TCP Interim meeting #3 20 th October 2011 audio Yoshifumi Nishida Philip Eardley.
How to truly improve the Internet’s transport layer University of Trento, Michael Welzl.
1 Miscellaneous Capabilities for IP Network Infrastructure IETF 64 Vancouver, BC, Canada November 2005.
DCCP: Issues From the Mailing List Sally Floyd, Eddie Kohler, Mark Handley, et al. DCCP WG March 4, 2004.
IETF#64 – 7-11 November 2005 fecframe BOF Chair:Mark Watson Mailing List:
Our pre-TAPS work on transport services Michael Welzl TAPS, 92 nd IETF meeting 23. March 2015.
The Benefits and Pitfalls of using Explicit Congestion Notification (ECN) draft-ietf-aqm-ecn-benefits-00 91st IETF Meeting Honolulu, Hawaii 10 November.
Introducing a New Concept in Networking Fluid Networking S. Wood Nov Copyright 2006 Modern Systems Research.
1 Review – The Internet’s Protocol Architecture. Protocols, Internetworking & the Internet 2 Introduction Internet standards Internet standards Layered.
1 IPFIX Default Transport IPFIX IETF-58 November 10, 2003 Stewart Bryant Benoit Claise.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
RMCAT architectural overview Michael Welzl 1 RMCAT, 85 th IETF Meeting
Uni Innsbruck Informatik th IETF, PMTUD WG: Path MTU Discovery Using Options draft-welzl-pmtud-options-01.txt Michael Welzl
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Netconf Schema Query Mark Scott IETF 70 Vancouver December 2007
TSVWG IETF-89 (London) 5 th & 7 th March 2014 Gorry Fairhurst David Black James Polk WG chairs 1.
Tightly Coupled Congestion Control in WebRTC Michael Welzl Upperside WebRTC conference Paris
U Innsbruck Informatik - 1 Specification of a Network Adaptation Layer for the Grid GGF7 presentation Michael Welzl University.
Chapter 7: Transport Layer
IP Flow Information eXport (IPFIX)
The Transport Layer Implementation Services Functions Protocols
Master’s Project Presentation
IETF-86 RTP Media Congestion Avoidance Techniques
Michael Welzl , Distributed and Parallel Systems Group
Discussion: Messaging
draft-ietf-taps-transports-usage-02
The Transport Layer is Dead – Long Live the Transport Layer!
15th November 2016 Gorry Fairhurst (via webrtc) David Black WG chairs
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Stream Control Transmission Protocol (SCTP)
Falling Back! … and: a Functional Decomposition of Post-Sockets
Process-to-Process Delivery:
OCARINA ("Optimizations to Compel Adoption of RINA")
A Minimal Set of Transport Services for TAPS Systems draft-ietf-taps-minset-00 Michael Welzl, Stein-Gjessing IETF
A Minimal Set of Transport Services for TAPS Systems draft-ietf-taps-minset-02 Michael Welzl, Stein Gjessing IETF
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
draft-ietf-taps-transports-usage-03
ECN in QUIC - Questions Surfaced
How Applications (Will Hopefully Soon) Use the Internet
Presentation transcript:

Transport Services (TAPS) BOF plan T. Moncaster, M. Welzl, D. Ros: draft-moncaster-tsvwg-transport-services th IETF Meeting Vancouver, BC, Canada 5 November FP7 RITE Reducing Internet Transport Latency Michael Welzl, with help from (alphabetical): Anna Brunström, Toby Moncaster, Gorry Fairhurst, Reinaldo Penno, Bernd Reuther + all the folks who contributed to the draft charter

Context The plan is to request having a BOF on “Transport Services (TAPS)” at IETF-89 in London There is a website: with a draft charter: proposal-before-bof And a mailing list: To subscribe: serviceshttps://sympa.uio.no/ifi.uio.no/info/transport- services 2 It’s all there!

Problem Internet transport layer = TCP (1981), UDP (1980) – Does not match the diversity of today’s applications More and more transport protocols and congestion control mechanisms available, with various features, even overlaps But: not “generally” used. – SCTP in browser for rtcweb data channel, and in special environments (telephony signalling) – QUIC, RTMFP, LEDBAT in app (over UDP) – Maybe Minion in OSX? – MPTCP now used in OSX in one special way, for one special application Consider: RFC6897, appendix A: Requirements on a Future Advanced MPTCP API 3

Transport layer ossification “Wasn’t the transport layer supposed to be relatively easy to change, as layering ensures that IP routers don’t care about the contents of packets?” [Mark Handley, “Why the Internet only just works”, BT Technology Journal 24(3), 2006] Why can’t we change it? 1.Checking for availability on the other side, compatibility with the network path, fall-back to TCP/UDP: all left up to the application programmer 2.Lack of abstraction: transport protocols are hard coded in the applications Today successful deployment of a new transport protocol requires – Many applications must explicitly make use of the protocol (because of 2.) – Applications must deal with problem 1. on their own 4

How to solve this 1.Introduce abstraction: Applications specify a transport service (i.e. what they need) instead of “TCP” or “UDP” (i.e. how it is implemented) 2.A system underneath this API could automatically make the best of what is currently available, with fall- back to TCP (best effort) What to do here: – Need to identify these services first – IETF is in the best position to do so 5

What real problems does this solve? Yuchung Cheng: [transport-services mailing list, “What real problems do this new transport service solve?” Michael Welzl: [transport-services mailing list, “None, for your application, if (as in case of Google) it pays off for you to put your own new transport protocol in there (..) application programmers should be able to benefit from more than what TCP and UDP now give them (..) …take multistreaming for example - this could be done by the transport layer without bothering the application programmer with "do you want this or not?” 6

Example benefits [M. Welzl, F. Niederbacher, S. Gjessing, "Beneficial Transparent Deployment of SCTP: the Missing Pieces", GlobeCom 2011] Transparent usage of SCTP’s multi-streaming underneath TCP 7

Test result 8 1.Shows what can be achieved by using SCTP underneath the app without even changing the transport API 2.Shows that you don’t have to put it in the OS (user space, middle-box, …)

Plans for a TAPS WG-to-be Updated: includes discussion from yesterday’s side meeting, not reflected by draft charter yet Specify the services Specify one transport system supporting them – SCTP (/UDP) with fall-back to TCP, using Happy Eyeballs Excluded: QoS and tunneling Transport service idea is at least a decade old, without any effect. Why will this succeed? – Previous work: “top-down” (what do applications need?  potentially endless debate) – Our aproach: “bottom-up” (what do IETF transports provide?  Every service has been discussed before) 9

10 x = always on empty = never on P1 = partial error detection t = total reliability p2 = partial reliability o = ordered u = unordered Example to the right shows: possible to systematically arrive at a result (table shows services provided by TCP, SCTP, DCCP, UDP-Lite (RFCs, Dec. 2010) [M. Welzl, S. Jörer, S. Gjessing, "Towards a Protocol-Independent Internet Transport API”, FutureNet workshop, ICC 2011]

Resulting API in that paper Goal: make usage attractive = easy; stick with what programmers know: minimize deviations from socket interface Most services chosen upon socket creation –int socket(int domain, int service) – service number identifies line number in table; understandable aliases: e.g. TCPLIKE_NODELAY, TCPLIKE, NO_CC_UNRELIABLE for lines 1-3 Sending / receiving: provide sendmsg, recvmsg We classified features as: – static: only chosen upon socket creation flow characteristic – configurable: chosen upon socket creation, adjusted later with setsockopt error detection, reliability, multi-homing – dynamic: no need to specify in advance application PDU bundling (Nagle in TCP) delivery order: socket option or flags field 11

Ask, discuss, tear to shreds! 12

Backup slides 13

About [Michael Welzl, Stefan Jörer, Stein Gjessing: "Towards a Protocol- Independent Internet Transport API”, FutureNet IV workshop, ICC 2011] Bottom-up: TCP, UDP, SCTP, DCCP, UDP-Lite – start with lists from key references Step 1: from list of protocol features, carefully identify application-relevant services – features that would not be exposed in APIs of the individual protocols are protocol internals (e.g. ECN) Result: table with a line for every possible combination of features – 43 lines: 32 SCTP, 3 TCP/UDP

Step 2: carry out obvious further reductions – e.g. flow control coupled with congestion control – duplicates, subsets Apply common sense to go beyond purely “mechanical” result of step 1 – Question: would an application have a reason to say “no” to this service under certain circumstances? – Features that are just performance improvements if they are used correctly (i.e. depending on environment, not app) are not services About [Michael Welzl, Stefan Jörer, Stein Gjessing: "Towards a Protocol- Independent Internet Transport API”, FutureNet IV workshop, ICC 2011] /2

Complete draft charter (as of 31 October 2013, not including the discussion at the side meeting) Conjointly, transport protocols such as SCTP, DCCP, MPTCP, UDP-Lite and the LEDBAT congestion control mechanism offer a large number of services to applications in addition to the long-standing two services provided by TCP and UDP. For an application programmer, using protocols other than TCP or UDP is hard: not all protocols are available everywhere, hence a fall-back solution to e.g. TCP or UDP must be implemented. Some protocols provide the same services in different ways. Layering decisions must be made (e.g. should a protocol be used native or over UDP?). Because of these complications, programmers often resort to either using TCP or implementing their own customized solution over UDP, and chances of benefiting from other transport protocols are lost. If the socket interface provided a way for applications to request transport services without specifying the protocol, a transport system underneath the socket API could automatically try to make the best of its available resources. It could use available transport protocols in a way that is most beneficial for applications, and this approach could give more freedom for diversification to designers of Operating Systems. 16

Complete draft charter /2 To make implementing such systems possible, the Working Group will: develop a survey of existing IETF transport protocols and congestion control mechanisms, based on Standards-track and Experimental RFCs that were developed in the IETF's Transport Area shorten the resulting list of transport services, by allowing only those features that an application depends on to work correctly as well as hints about acceptable services that an application can give to the transport layer. A service should be removed if there is no clear way for an application to decide whether it should use this service or not. extend the shortened list with services that have seen a significant level of deployment and usage in applications, based on implementations that the WG agrees to perform well. Here, "usage in applications" excludes applications whose primary purpose is monitoring or manipulation of the network. Security is necessary at a variety of network layers. The Working Group will work with the IETF Security area to better understand how security should be addressed in the specified list of transport services. It will publish a document on security implications and guidance. The Working Group is expected to work closely with the APP and RAI areas to continuously check whether the defined transport services match the requirements of application developers. It will also coordinate closely with other Transport area groups. 17

Complete draft charter /3 The following topics are out of scope of this Working Group: Specifying how a transport system operates; an example will be described Signaling that could improve the operation of the transport layer Quality-of-Service (QoS) and tunneling mechanisms and services Deliverables: Informational RFC summarizing the services provided by IETF transport protocols and congestion control mechanisms, based on Standards-track and Experimental RFCs that were developed in the IETF's Transport Area (list #1) Proposed Standard RFC describing which services of IETF transport protocols and congestion control mechanisms should be offered to applications (list #2, which is a shorter version of list #1) Proposed Standard RFC specifying an extended set of services that a transport API should ideally provide (list #3, which is a longer version of list #2) Proposed Standard RFC specifying on which basis transport services are identified for inclusion in lists #1, #2 and #3. Proposed Standard RFC defining IANA procedures for including new services in lists #2 and #3. Informational RFC on Transport Service Security Implications and Guidance Informational RFC describing an example API Informational RFC describing example usage (i.e. how a transport system providing these services could interoperate with applications) 18