<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<!-- $Id: draft-dreibholz-tsvwg-sctp-nextgen-ideas-00.xml 5067 2014-04-02 21:11:47Z dreibh $ -->

<?rfc toc="yes"?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc strict="no" ?>
<?rfc symrefs="no" ?>
<!-- <?rfc sortrefs="yes" ?>  -->

<rfc category="info" ipr="pre5378Trust200902" docName="draft-dreibholz-tsvwg-sctp-nextgen-ideas-00.txt">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>


<front>

<title abbrev="SCTP Next Generation Ideas">
Ideas for a Next Generation of the Stream Control Transmission Protocol (SCTP)
</title>

<!-- ************** THOMAS DREIBHOLZ *************** -->
<author initials="T." surname="Dreibholz" fullname="Thomas Dreibholz">
<organization abbrev="Simula Research Laboratory">Simula Research Laboratory, Network Systems Group</organization>
<address>
<postal>
   <street>Martin Linges vei 17</street>
   <city>1364 Fornebu</city>
   <region>Akershus</region>
   <country>Norway</country>
</postal>
<phone>+47-6782-8200</phone>
<facsimile>+47-6782-8201</facsimile>
<email>dreibh@simula.no</email>
<uri>http://www.iem.uni-due.de/~dreibh/</uri>
</address>
</author>

<date day="04" month="July" year="2014" />

<keyword>Internet-Draft</keyword>

<abstract>
<t>
 This document collects some ideas for a next generation of the
 Stream Control Transmission Protocol (SCTP) for further discussion.
 It is a result of lessons learned from more than one decade of SCTP
 deployment.
</t>
</abstract>


</front>

<middle>


<section title="Introduction">

<section title="Abbreviations">
<t>
<list style="symbols">
 <t>SCTP: Stream Control Transmission Protocol</t>
</list>
</t>
</section>

<section title="Conventions">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
in this document are to be interpreted as described in
<xref target="RFC2119"/>.</t>
</section>

<section title="Stream Control Transmission Protocol">
<t>
 The Stream Control Transmission Protocol (SCTP) has been defined as RFCs in
 <xref target="RFC3237" />,
 <xref target="RFC3436" />,
 <xref target="RFC3554" />,
 <xref target="RFC3758" />,
 <xref target="RFC4820" />,
 <xref target="RFC4895" />,
 <xref target="RFC4960" />,
 <xref target="RFC5061" />,
 <xref target="RFC6083" />,
 <xref target="RFC6096" />,
 <xref target="RFC6458" />,
 <xref target="RFC6525" />,
 <xref target="RFC6951" />,
 <xref target="RFC7053" />.
 There is also a detailed introduction provided by <xref target="Dre2012" /> as well as lots of further information material on <xref target="SCTP-Website" />. SCTP is therefore not introduced in more detail here.  
</t>
</section>

<section title="Scope">
<t>
 The scope of this document is to collect some ideas of what to update/change for a next generation of the SCTP protocol. It is a result of lessons learned from more than one decade of SCTP deployment (see also <xref target="Dre2012" />) as well as ongoing discussions on applying SCTP for WebRTC Data Channels (as introduced in more detail in <xref target="I-D.ietf-rtcweb-data-channel" />).
</t>
</section>

</section>


<section title="What to Change in the Next Generation of SCTP?">
<t>
 <list style="symbols">

  <t>Make useful extensions part of the next generation core protocol
     itself (that is, make their implementation a MUST):
   <list style="symbols">
     <t>Partial Reliablility (<xref target="RFC3758" />)</t>
     <t>Chunk Authentication (<xref target="RFC4895" />)</t>
     <t>Partial Reliablility (<xref target="RFC5061" />)</t>
     <t>Stream Reconfiguration (<xref target="RFC6525" />)</t>
     <t>SACK Immediately (<xref target="RFC7053" />)</t>
   </list>
  </t>

  <t>Consider additional features as part of the next generation core protocol:
   <list style="symbols">
     <t>Non-Renegable Selective Acknowledgments (NR-SACK) (<xref target="NEY08" />)</t>
     <t>Concurrent Multi-Path Transfer for SCTP (CMT-SCTP) (<xref target="I-D.tuexen-tsvwg-sctp-multipath" />)</t>
   </list>
  </t>

  <t>Chunk Authentication provides integrity but not confidentiality. There could be a feature for encryption as well, for example like <xref target="I-D.hohendorf-secure-sctp" />. Having encryption directly included inside the core transport protocol may make it easier to use (less error-prone work for application developers).
  </t>
  
  <t>SCTP assigns a fixed TSN per DATA chunk. The TSN cannot be changed any more. That is, it is not possible for a middlebox to split chunks into smaller pieces (for example, for hardware offloading). For further discussion: may it be useful to consider a different behavior?
  </t>

  <t>Definition of path:
     For SCTP, a path is defined by a remote destination address. <xref target="Globecom2013" />, <xref target="NNUW1-Adhari-CC" /> shows that CMT-SCTP performance also depends on the local endpoint's outgoing links. Considering each pair of local outgoing and remote incoming address as different path may lead to improved performance in many Internet scenarios.
  </t>

 </list>
</t>


<section title="Security Considerations">
<t>
 Security considerations for SCTP can be found in <xref target="RFC5355" />.
</t>
</section>


<section title="IANA Considerations">
<t>
 This document introduces no additional considerations for IANA.
</t>
</section>


</section>


<section title="Experimental Implementations">

<t>An Open Source simulation model for SCTP is available for OMNeT++ within the INET Framework. See <xref target="INET" /> for the Git repository. For documentation on the model, see <xref target="Rue2009" /> and <xref target="Dre2012" />. This model can be used to evaluate future ideas for SCTP.</t>

</section>


<section title="Testbed Platform">
<t>NorNet is a large-scale and realistic Internet testbed platform with support for multi-homing. A description of and introduction to NorNet is provided in <xref target="ComNets2013-Core" />, <xref target="PAMS2013-NorNet" />, <xref target="NNUW1-Dreibholz-NorNetCore-Introduction" />, <xref target="NNUW1-Dreibholz-NorNetCore-Tutorial" />. Further information can be found on the project website <xref target="NorNet-Website" /> at https://www.nntb.no.</t>
</section>


<section title="Acknowledgments">
<t>
   The author would like to thank
Martin Becke
   for discussions and support.
</t>
</section>

</middle>


<back>

<references title='Normative References'>
 <?rfc include="reference.RFC.2119" ?>
  
 <?rfc include="reference.RFC.3237" ?>
 <?rfc include="reference.RFC.3436" ?>
 <?rfc include="reference.RFC.3554" ?>
 <?rfc include="reference.RFC.3758" ?>
 <?rfc include="reference.RFC.4820" ?>
 <?rfc include="reference.RFC.4895" ?>
 <?rfc include="reference.RFC.4960" ?>
 <?rfc include="reference.RFC.5061" ?>
 <?rfc include="reference.RFC.5355" ?>
 <?rfc include="reference.RFC.6083" ?>
 <?rfc include="reference.RFC.6096" ?>
 <?rfc include="reference.RFC.6458" ?>
 <?rfc include="reference.RFC.6525" ?>
 <?rfc include="reference.RFC.6951" ?>
 <?rfc include="reference.RFC.7053" ?>

 <?rfc include="reference.I-D.tuexen-tsvwg-sctp-multipath" ?>
 <?rfc include="reference.I-D.hohendorf-secure-sctp" ?>
 <?rfc include="reference.I-D.ietf-rtcweb-data-channel" ?>

</references>

<references title='Informative References'>
 <?rfc include="SCTP-Website" ?>
 <?rfc include="Globecom2013" ?>
 <?rfc include="NNUW1-Adhari-CC" ?>
 <?rfc include="Dre2012" ?>
 <?rfc include="INET" ?>
 <?rfc include="NEY+08" ?>
 <?rfc include="Rue2009" ?>
 
 <?rfc include="ComNets2013-Core" ?>
 <?rfc include="PAMS2013-NorNet" ?>
 <?rfc include="NNUW1-Dreibholz-NorNetCore-Introduction" ?>
 <?rfc include="NNUW1-Dreibholz-NorNetCore-Tutorial" ?>
 <?rfc include="NorNet-Website" ?>
 
</references>

</back>


</rfc>
