One document matched: draft-ietf-taps-transports-00.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.0.20 -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC0791 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.0791.xml">
<!ENTITY RFC2460 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2460.xml">
<!ENTITY RFC0768 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.0768.xml">
<!ENTITY RFC0793 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.0793.xml">
<!ENTITY RFC0896 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.0896.xml">
<!ENTITY RFC1122 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1122.xml">
<!ENTITY RFC2018 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2018.xml">
<!ENTITY RFC3168 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3168.xml">
<!ENTITY RFC3205 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3205.xml">
<!ENTITY RFC3390 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3390.xml">
<!ENTITY RFC3758 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3758.xml">
<!ENTITY RFC3828 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3828.xml">
<!ENTITY RFC4340 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4340.xml">
<!ENTITY RFC4960 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4960.xml">
<!ENTITY RFC5348 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5348.xml">
<!ENTITY RFC5405 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5405.xml">
<!ENTITY RFC5925 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5925.xml">
<!ENTITY RFC5681 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5681.xml">
<!ENTITY RFC6093 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6093.xml">
<!ENTITY RFC6298 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6298.xml">
<!ENTITY RFC6455 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6455.xml">
<!ENTITY RFC6691 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6691.xml">
<!ENTITY RFC7323 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7323.xml">
]>
<rfc ipr="trust200902" docName="draft-ietf-taps-transports-00" category="info">
<front>
<title abbrev="TAPS Transports">Services provided by IETF transport protocols and congestion control mechanisms</title>
<author initials="G." surname="Fairhurst" fullname="Godred Fairhurst" role="editor">
<organization>University of Aberdeen</organization>
<address>
<postal>
<street>School of Engineering, Fraser Noble Building</street>
<city>Aberdeen AB24 3UE</city>
</postal>
<email>gorry@erg.abdn.ac.uk</email>
</address>
</author>
<author initials="B." surname="Trammell" fullname="Brian Trammell" role="editor">
<organization>ETH Zurich</organization>
<address>
<postal>
<street>Gloriastrasse 35</street>
<city>8092 Zurich</city>
<country>Switzerland</country>
</postal>
<email>ietf@trammell.ch</email>
</address>
</author>
<date year="2014" month="December" day="15"/>
<abstract>
<t>This document describes services provided by existing IETF protocols and congestion control mechanisms. It is designed to help application and network stack programmers and to inform the work of the IETF TAPS Working Group.</t>
</abstract>
</front>
<middle>
<section anchor="introduction" title="Introduction">
<t>Most Internet applications make use of the Transport Services
provided by TCP (a reliable, in-order stream protocol) or UDP (an
unreliable datagram protocol). We use the term “Transport Service”
to mean an end-to-end facility provided by the transport layer. That
service can only be provided correctly if information is supplied
from the application. The application may determine the information
to be supplied at design time, compile time, or run time and may
include guidance on whether an aspect of the service is required, a
preference by the application, or something in between. Examples of
Transport service facilities are reliable delivery, ordered delivery,
content privacy to in-path devices, integrity protection, and minimal
latency.</t>
<t>Transport protocols such as SCTP, DCCP, MPTCP, UDP and UDP-Lite have
been defined at the transport layer.</t>
<t>In addition, a transport service may be built on top of these
transport protocols, using a fraemwork such as WebSockets, or RTP.
Service built on top of UDP or UDP-Lite typically also need to
specify a congestion control mechanism, such as TFRC or the LEDBAT
congestion control mechanism. This extends the set of available
Transport Services beyond those provided to applications by TCP and
UDP.</t>
<t>Transport services can aslo be differentiated by the services they
provide: for instance, SCTP offers a message-based service that does
not suffer head-of-line blocking when used with multiple stream,
because it can accept blocks of data out of order, UDP-Lite provides
partial integrity protection when used over link-layer services that
can support this, and LEDBAT can provide low-priority “scavenger”
communication.</t>
</section>
<section anchor="terminology" title="Terminology">
<t>The following terms are defined throughout this document, and in subsequent documents produced by TAPS describing the composition and decomposition of transport services.</t>
<t>The terminology below is that as was presented at the TAPS WG meeting in Honolulu. While the factoring of the terminology seems uncontroversial, thre may be some entities which still require names (e.g. information about the interface between the transport and lower layers which could lead to the availablity or unavailibility of certain transport protocol features)</t>
<t><list style="hanging">
<t hangText='Transport Service Feature: '>
a specific feature a transport service provides to its clients end-to-end. Examples include confidentiality, reliable delivery, ordered delivery, message-versus-stream orientation, etc.</t>
<t hangText='Transport Service: '>
a set of transport service features, without an association to any given framing protocol, which provides a complete service to an application.</t>
<t hangText='Transport Protocol: '>
an implementation that provides one or more different transport services using a specific framing and header format on the wire.</t>
<t hangText='Transport Protocol Component: '>
an implementation of a transport service feature within a protocol</t>
<t hangText='Transport Service Instance: '>
an arrangement of transport protocols with a selected set of features and configuration parameters that implements a single transport service,
e.g. a protocol stack (RTP over UDP)</t>
<t hangText='Application: '>
an entity that uses the transport layer for end-to-end delivery data across the network.</t>
</list></t>
</section>
<section anchor="transport-protocols" title="Transport Protocols">
<t>This section provides a list of known IETF transport protocol and
transport protocol frameworks.</t>
<section anchor="transport-control-protocol-tcp" title="Transport Control Protocol (TCP)">
<t>TCP <xref target="RFC0793"/> provides a bidirectional byte-oriented stream over a connection-
oriented protocol. The protocol and API use the byte-stream model.</t>
<t>[EDITOR’S NOTE: Mirja Kuehlewind signed up as contributor for this section.]</t>
<section anchor="multipath-tcp-mptcp" title="Multipath TCP (MPTCP)">
</section>
</section>
<section anchor="stream-control-transmission-protocol-sctp" title="Stream Control Transmission Protocol (SCTP)">
<t>SCTP <xref target="RFC4960"/> provides a bidirectional set of logical unicast streams over one
a connection-oriented protocol. The protocol and API use messages,
rather than a byte-stream. Each stream of messages is independently
managed, therefore retransmission does not hold back data sent using
other logical streams.</t>
<t>[EDITOR’S NOTE: Michael Tuexen and Karen Nielsen signed up as contributors for these sections.]</t>
<section anchor="partial-reliability-for-sctp-pr-sctp" title="Partial Reliability for SCTP (PR-SCTP)">
<t>PR-SCTP <xref target="RFC3758"/> is a variant of SCTP that provides partial
reliability.</t>
</section>
</section>
<section anchor="user-datagram-protocol-udp" title="User Datagram Protocol (UDP)">
<t>The User Datagram Protocol (UDP) <xref target="RFC0768"/> provides a unidirectional minimal
message-passing transport that has no inherent congestion control
mechanisms. The service may be multicast and/or unicast.</t>
<t>[EDITOR’S NOTE: Kevin Fall signed up as contributor for this section.]</t>
<section anchor="udp-lite" title="UDP-Lite">
<t>A special class of applications can derive benefit from having
partially-damaged payloads delivered, rather than discarded, when
using paths that include error-prone links. Such applications can
tolerate payload corruption and may choose to use the Lightweight
User Datagram Protocol <xref target="RFC3828"/>. The service may be multicast and/or
unicast.</t>
</section>
</section>
<section anchor="datagram-congestion-control-protocol-dccp" title="Datagram Congestion Control Protocol (DCCP)">
<t>The Datagram Congestion Control Protocol (DCCP) <xref target="RFC4340"/> is a
bidirectional transport protocol that provides unicast connections of
congestion-controlled unreliable messages. DCCP is suitable for
applications that transfer fairly large amounts of data and that can
benefit from control over the tradeoff between timeliness and
reliability.</t>
</section>
<section anchor="realtime-transport-protocol-rtp" title="Realtime Transport Protocol (RTP)">
<t>RTP provides an end-to-end network transport service, suitable for
applications transmitting real-time data, such as audio, video or
data, over multicast or unicast network services, including TCP, UDP,
UDP-Lite, DCCP.</t>
<t>[EDITOR’S NOTE: Varun Singh signed up as contributor for this section.]</t>
</section>
<section anchor="hypertext-transport-protocol-http-as-a-pseudotransport" title="Hypertext Transport Protocol (HTTP) as a pseudotransport">
<t><xref target="RFC3205"/></t>
<section anchor="websockets" title="WebSockets">
<t><xref target="RFC6455"/></t>
</section>
</section>
</section>
<section anchor="transport-service-features" title="Transport Service Features">
<t>Features as derived from the subsections above.</t>
<t>This section is blank for now.</t>
</section>
<section anchor="iana-considerations" title="IANA Considerations">
<t>This document has no considerations for IANA.</t>
</section>
<section anchor="security-considerations" title="Security Considerations">
<t>This document surveys existing transport protocols and protocols providing transport-like services. Confidentiality, integrity, and authenticity are among the features provided by those services. This document does not specify any new components or mechanisms for providing these features. Each RFC listed in this document discusses the security considerations of the specification it contains.</t>
</section>
<section anchor="contributors" title="Contributors">
<t>Non-editor contributors of text will be listed here, as in the authors section.</t>
</section>
<section anchor="acknowledgments" title="Acknowledgments">
<t>This work is partially supported by the European Commission under grant agreement FP7-ICT-318627 mPlane; support does not imply endorsement. Special thanks to Mirja Kuehlewind for the terminology section and for leading the terminology discussion in Honolulu.</t>
</section>
</middle>
<back>
<references title='Normative References'>
&RFC0791;
&RFC2460;
</references>
<references title='Informative References'>
&RFC0768;
&RFC0793;
&RFC0896;
&RFC1122;
&RFC2018;
&RFC3168;
&RFC3205;
&RFC3390;
&RFC3758;
&RFC3828;
&RFC4340;
&RFC4960;
&RFC5348;
&RFC5405;
&RFC5925;
&RFC5681;
&RFC6093;
&RFC6298;
&RFC6455;
&RFC6691;
&RFC7323;
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 06:00:49 |