INTERNET-DRAFT                                                 L. Coene
Internet Engineering Task Force                               M. Tuexen
Issued:  January 2001                                        G. Verwimp
Expires: July 2001                                              Siemens
                                                            J. Loughney
                                                           R.R. Stewart
                                                           Qiaobing Xie
                                                            M. Holdrege
                                                         M.C. Belinchon
                                                           A. Jungmayer
                                                    University of Essen

      Stream Control Transmission Protocol Applicability Statement

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026. Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at The list of Internet-
   Draft Shadow Directories can be accessed at


   This document describes the applicability of the Stream Control
   Transmission Protocol (SCTP)[RFC2960] for general usage in the
   Internet. This document describes the key features of SCTP and how
   they are used for general purpose data transport.

Coene, et al.                Informational                      [Page 1]

                         Table of Contents

   Stream Control Transmission Protocol Applicability statement
   ................................................................   ii
   Chapter 1: Introduction ........................................    2
   Chapter 1.1: Terminology .......................................    2
   Chapter 1.2: Protocol Overview .................................    2
   Chapter 2: Applicability of the Stream Control Transmission
   Protocol -- SCTP ...............................................    3
   Chapter 3: Issues affecting deployment of SCTP .................    4
   Chapter 3.1 : SCTP multihoming and interaction with routing ....    4
   Chapter 3.2 : Use of SCTP in Network Address Translators
   (NAT) Networks .................................................    8
   Chapter 4: Security considerations .............................    9
   Chapter 5: References and related work .........................    9
   Chapter 6: Acknowledgments .....................................   10
   Chapter 7: Author's address ....................................   10

1 Introduction

1.1 Terminology

The following terms are commonly identified in related work:

     Association:  SCTP connection between two endpoints.

     Transport address:  A combination of IP address and SCTP port

     Upper layer:  The user of the SCTP protocol, which may be an adap-
     tation layer, a session layer protocol, or the user application

1.2 Protocol Overview

The Stream Control Transmission Protocol (SCTP) provides a reliable
transport between two endpoints.

Coene, et al.                Informational                      [Page 2]

Draft                 SCTP applicability statement          January 2001

The following functions are provided by SCTP:

     - Reliable Data Transfer

     - Multiple streams to help avoid head-of-line blocking

     - Ordered and unordered data delivery on a per-stream basis

     - Bundling and fragmentation of user data

     - Congestion and flow control

     - Support continuous monitoring of reachability

     - Graceful termination of association

     - Support of multi-homing for added reliability

     - Protection against blind denial-of-service attacks

     - Protection against blind masquerade attacks

2 Applicability of the Stream Control Transmission Protocol -- SCTP

This section describes where you could use SCTP for transporting appli-
cation data.

-    SCTP can be used as a general-purpose transport protocol for
     message-oriented applications. Message boundaries are preserved
     during data transport and so no message delineation is needed. The
     user data can be delivered by the order of transmission within a
     stream or the order of arrival.

-    For data streams that lack boundaries or markers, the application
     must force an arbitrary boundary for the data it sends to SCTP. The
     choice of the boundary should result in a reasonable frame size
     based on the network MTU.

-    SCTP can be used to provide redundancy and fault tolerance at the
     transport layer and below. Applications needing this level of fault
     tolerance can make use of SCTP's multi-homing support.

Coene, et al.                Informational                      [Page 3]

Draft                 SCTP applicability statement          January 2001

-    SCTP can be used as the transport protocol for applications where
     head-of-line blocking is a concern. Such an application should use
     multiple streams to provide independent ordering of user messages.

-    SCTP can be used as the transport protocol for applications where
     the average size of the user messages is small. For such applica-
     tions, the bundling feature of SCTP will combine multiple small
     messages for efficient bandwidth utilization.

-    SCTP can be used as the transport protocol for applications where
     the average size of the user messages is large. For such applica-
     tions, SCTP will transparently fragment large user messages to con-
     form to the appropriate packet size.

-    SCTP can be used as the transport protocol for applications where
     multiple message streams need to be multiplexed over a single asso-
     ciation. For such applications, SCTP will transparently combine
     messages from multiple streams at the transmission and demultiplex
     upon reception.

-    SCTP can be used as the transport protocol for applications where
     monitoring and detection of loss of session is required. For such
     applications, the SCTP path/session failure detection mechanisms,
     especially the heartbeat, will actively monitor the connectivity of
     the session.

3 Issues affecting deployment of SCTP

3.1 SCTP multihoming and interaction with routing

For fault resilient communication between two SCTP endpoints, the mul-
tihoming feature needs more than one IP address for each endpoint. The
number of paths used is the minimum of IP addresses used by any of the
endpoints. It is recommended to bind the association to all the IP
source addresses of the endpoint.

Under the assumption that every IP address will have a different,
seperate paths towards the remote endpoint, (this is the responsibility
of the routing protocols or of manual configuration) , if the transport
to one of the IP address (= 1 particular path) fails then the traffic
can migrate to the other remaining IP address (= other paths) within the

Coene, et al.                Informational                      [Page 4]

Draft                 SCTP applicability statement          January 2001

SCTP association.

  +------------+           *~~~~~~~~~*            +------------+
  | Endpoint A |          *   Cloud   *           | Endpoint B |
  |      1.2   +---------+ 1.1<--->3.1 +----------+ 3.2        |
  |            |         |             |          |            |
  |      2.2   +---------+ 2.1<--->4.1 +----------+ 4.2        |
  |            |          *           *           |            |
  +------------+           *~~~~~~~~~*            +------------+

  Figure 3.1.1: Two hosts with redundant networks.

Consider figure 3.1.1, if the host routing tables look as follows the
endpoint will achieve maximum use of the multi-homing feature:

   Endpoint A                                Endpoint B
   Destination     Gateway                   Destination      Gateway
   ------------------------                  -------------------------
   3.0             1.1                       1.0              3.1
   4.0             2.1                       2.0              4.1

Now if you consider figure 3.1.1, if the host routing table looks as
follows, the association is subject to a single point of failure in that
if any interface breaks, the whole association will break(See figure

   Host A                                    Host B
   Destination     Gateway                   Destination      Gateway
   ------------------------                  -------------------------
   3.0             1.1                       1.0              4.1
   4.0             2.1                       2.0              3.1

Example:  link 4.2-4.1 fails

  Primary path: link 1.2-1.1 - link 3.1-3.2
  Second Path : Link 2.2-2.1 - link 4.1-4.2

    Endpoint A
  |S= 1.2 | D= 3.2 | DATA |  ------->----- Arrives at Endpoint B

    Endpoint B answers with SACK
  |S= 4.2 | D= 1.2 | SACK | Gets lost, because send out on the failed
  +-------+--------+------+  4.1-4.2 link

Coene, et al.                Informational                      [Page 5]

Draft                 SCTP applicability statement          January 2001

  After X time, retransmit on the other path by endpoint A

    Endpoint A
  |S= 2.2 | D= 4.2 | DATA | Is send out on link 2.2-2.1, but gets lost,
  +-------+--------+------+ as msg has to pass via failed  4.1-4.2 link

  The same scenario will play out for failures on the other links

  Note : S = Source address
         D = Destination address

  Figure 3.1.2: Single point of failure case in redundant network
                 due to routing table in host B

  +------------+           *~~~~~~~~~*            +------------+
  | Endpoint A |          *   Cloud   *           | Endpoint B |
  |      1.2   +---------+ 1.1<--+     |          |            |
  |            |         |       |->3.1|----------+ 3.2        |
  |      2.2   +---------+ 2.1<--+     |          |            |
  |            |          *           *           |            |
  +------------+           *~~~~~~~~~*            +------------+

  Figure 3.1.3: Two hosts with asymmetric networks.

In Figure 3.1.3 consider the following host routing table:

   Endpoint A                                Endpoint B
   Destination     Gateway                   Destination      Gateway
   ------------------------                  -------------------------
   3.0             1.1                       1.0              3.1
                                             2.0              3.1

In this case the fault tolerance becomes limited by two seperate issues.
If the path between 3.1 and 3.2 breaks in both directions any associa-
tion will break between endpoint A and endpoint B. The second failure
will occur for the whole the association as well due to a breakage
between 1.2 and 1.1 in both directions, since no alternative route
exists to 3.2 and all traffic is being routed through one interface.

Now one of these issues can be remedied by the following modification
even when only one interface exists on endpoint B.

Coene, et al.                Informational                      [Page 6]

Draft                 SCTP applicability statement          January 2001

  +------------+           *~~~~~~~~~~*            +------------+
  | Endpoint A |          *   Cloud    *           | Endpoint B |
  |      1.2   +---------+ 1.1<---+     |          |            |
  |            |         |        +->3.1+----------+ 3.2 & 4.2  |
  |      2.2   +---------+ 2.1<---+     |          |            |
  |            |          *            *           |            |
  +------------+           *~~~~~~~~~~*            +------------+

  Figure 3.1.4: Two hosts with asymmetric networks, but symmetric

In Figure 3.1.4 consider the following host routing table:

   Endpoint A                                Endpoint B
   Destination     Gateway                   Destination      Gateway
   ------------------------                  -------------------------
   3.0             1.1                       1.0              3.1
   4.0             2.1                       2.0              3.1

Now with the duplicate IP addresses assigned to the same interface and
the above routing tables, even if the interface between 1.1 and 1.2
breaks, an association will still survive this failure.

As a practical matter, it is recommended that IP addresses in a mul-
tihomed endpoint be assigned IP endpoints from different TLV's to ensure
against network failure.

In IP implementations the outgoing interface of multihomed hosts is
ofter determined by the destination IP address. The mapping is done by a
lookup in a routing table maintained by the operating system. Therefore
the outgoing interface is not determined by SCTP.  Using such implemen-
tations, it should be noted that a multihomed host cannot make use of
the multiple local IP addresses if the peer is singlehomed. The mul-
tihomed host has only one path and will normally use only  one of its
interfaces to send the SCTP datagrams to the peer. If this physical path
fails, the IP routing table in the multihome host has to be changed.
Something which is out of scope of SCTP.

SCTP will always send its traffic to a certain transport address (= des-
tination address + port number combination) for as long as the transmis-
sion is uninterrupted (= primary). The other transport addresses (secon-
dary paths) will act as a backup in case the primary path goes out of
service. The changeover between primary and backup will occur without
packet loss and is completely transparent to the application.

The port number is the same for all transport addresses of that specific

Coene, et al.                Informational                      [Page 7]

Draft                 SCTP applicability statement          January 2001

Applications directly using SCTP may choose to control the multihoming
service themselves. The applications have then to supply the specific IP
address to SCTP for each outbound user message. This might be done for
reasons of load-sharing and load-balancing across the different paths.
This might not be advisable as the throughput of any of the paths is not
known in advance and constantly changes due to the actions of other
associations and transport protocols along that particular path, would
require very tight feedback of each of the paths to the loadsharing
functions of the user.

By sending a keep alive message on all the multiple paths that are not
used for active transmission of messages across the association, it is
possible for SCTP to detect whether one or more paths have failed. SCTP
will not use these failed paths when a changeover is required.

The transmission rate of sending keep alive message should be modifiable
and the possible loss of keep alive message could be used for the moni-
toring and measurements of the concerned paths.

3.2 Use of SCTP in Network Address Translators (NAT) Networks [RFC2663]

When a NAT is present between two endpoints, the endpoint that is behind
the NAT, i.e., one that does not have a publicly available network
address, shall take one of the following options:

(1)  When single homed sessions are to be used, no transport addresses
     should be sent in the INIT or INIT ACK chunk(Refer to section 3.3
     of RFC2960 for chunk definitions). This will force the endpoint
     that receives this initiation message to consider the sender as
     only having that one address. This method can be used for a NAT,
     but any multi-homing configuration at the endpoint that is behind
     the NAT will not be visible to its peer, and thus not be taken
     advantage of. See figure 3.2.1.

       +-------+  +---------+      *~~~~~~~~~~*           +------+
       |Host A |  |   NAT   |     *   Cloud    *          |Host B|
       | 10.2  +--|10.1|2.1 |----|--------------|---------+ 1.2  |
       |       |  |    |    |     *            *          |      |
       +-------+  +---------+      *~~~~~~~~~~*           +------+

     Fig 3.2.1: SCTP through NAT without multihoming

     For multihoming the NAT must have a public IP address for each
     represented internal IP address. The host can preconfigure IP
     address that the NAT can substitute. Or the NAT can have internal

Coene, et al.                Informational                      [Page 8]

Draft                 SCTP applicability statement          January 2001

     Application Layer Gateway (ALG) which will intelligently translate
     the IP addresses in the INIT and INIT ACK chunks. See Figure 3.2.2.

       +-------+   +----------+      *~~~~~~~~~~*           +------+
       |Host A |   |    NAT   |     *   Cloud    *          |Host B|
       | 10.2  +---+ 10.1|5.2 +-----+ 1.1<+->3.1--+---------+ 1.2  |
       | 11.2  +---+ 11.1|6.2 |     |     +->4.2--+---------+ 2.2  |
       |       |   |          |      *           *          |      |
       +-------+   +----------+       *~~~~~~~~~*           +------+

     Fig 3.2.2: SCTP through NAT with multihoming

(2)  Another alternative is to use the hostname feature and DNS to
     resolve the addresses. The hostname is included in the INIT of the
     association or in the INIT ACK. The hostname must be resolved by
     DNS before the association is completely set up. There are special
     issues regarding NAT and DNS, refer to RFC2694 for details.

4 Security considerations

SCTP only tries to increase the availability of a network. SCTP does not
contain any protocol mechanisms which are directly related to user mes-
sage authentication, integrity and confidentiality functions. For such
features, it depends on the IPSEC protocols and architecture and/or on
security features of its user protocols.

Mechanisms for reducing the risk of blind denial-of-service attacks and
masquerade attacks are built into SCTP protocol. See RFC2960, section 11
for detailed information.

Currently the IPSEC working group is investigating the support of mul-
tihoming by IPSEC protocols. At the present time to use IPSEC, one must
use 2 * N * M security associations if one endpoint uses N addresses and
the other M addresses.

5 References and related work

[RFC2960] Stewart, R. R., Xie, Q., Morneault, K., Sharp, C. , ,
     Schwarzbauer, H. J., Taylor, T., Rytina, I., Kalla, M., Zhang, L.
     and Paxson, V."Stream Control Transmission Protocol", RFC2960,
     October 2000.

Coene, et al.                Informational                      [Page 9]

Draft                 SCTP applicability statement          January 2001

[RFC2401] Kent, S., and Atkinson, R., "Security Architecture for the
     Internet Protocol", RFC 2401,  November 1998.

[RFC2663] Srisuresh, P. and Holdrege, M., "IP Network Address Translator
     (NAT) Terminology and Considerations", RFC2663, August 1999

[RFC2694] Srisuresh, P., Tsirtsis, G., Akkiraju, P. and Heffernan, A.,
     "DNS extensions to Network Address Translators (DNS_ALG)", RFC2694,
     September 1999

6 Acknowledgments

The authors wish to thank Renee Revis, I. Rytina, L. Ong, H.J.
Schwarzbauer, J.P. Martin-Flatin, T. Taylor, G. Sidebottom, K. Mor-
neault, T. George, M. Stillman and many others for their invaluable com-

7  Author's Address

Lode Coene                  Phone: +32-14-252081
Siemens Atea                EMail:
Atealaan 34
B-2200    Herentals

John Loughney               Phone: +358-9-43761
Nokia Research Center       EMail:
Itamerenkatu 11-13
FIN-00180    Helsinki

Michel Tuexen               Phone: +49-89-722-47210
Siemens AG                  EMail:
Hofmannstr. 51
81359 Munich

Randall R. Stewart          Phone: +1-815-477-2127
24 Burning Bush Trail.      EMail:
Crystal Lake, IL 60012

Coene, et al.                Informational                     [Page 10]

Draft                 SCTP applicability statement          January 2001

Qiaobing Xie                Phone: +1-847-632-3028
Motorola, Inc.              EMail:
1501 W. Shure Drive
Arlington Heights, IL 60004

Matt Holdrege               Phone: +1-408-830-3239
Ipverse                     Email:
223 Ximeno Avenue
Long Beach, CA 90803-1616

Maria-Carmen Belinchon      Phone: +34-91-339-3535
Ericsson Espana S. A.       EMail:
Network Communication Services
Retama 7, 5th floor
Madrid, 28045

Andreas Jungmayer           Phone: +49-201-1837636
University of Essen         EMail:
Institute for experimental Mathematics
Ellernstrasse 29
D-45326  Essen

Gery Verwimp                Phone: +32-14-253424
Siemens Atea                EMail:
Atealaan 34
B-2200    Herentals

Expires: July 31, 2001

Full Copyright Statement

Copyright (C) The Internet Society (2000).  All Rights Reserved.

This document and translations of it may be copied and furnished
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied, published

Coene, et al.                Informational                     [Page 11]

Draft                 SCTP applicability statement          January 2001

and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works.  However, this
document itself may not be modified in any way, such as by
removing the copyright notice or references to the Internet Society or
other Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than

The limited permissions granted above are perpetual and will not
Be revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on

Coene, et al.                Informational                     [Page 12]