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-20262026-04-24 06:00:49