datatracker.ietf.org
Sign in
Version 5.7.1.p2, 2014-10-29
Report a bug

Stream Control Transmission Protocol
RFC 4960

Network Working Group                                    R. Stewart, Ed.
Request for Comments: 4960                                September 2007
Obsoletes: 2960, 3309
Category: Standards Track

                  Stream Control Transmission Protocol

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Abstract

   This document obsoletes RFC 2960 and RFC 3309.  It describes the
   Stream Control Transmission Protocol (SCTP).  SCTP is designed to
   transport Public Switched Telephone Network (PSTN) signaling messages
   over IP networks, but is capable of broader applications.

   SCTP is a reliable transport protocol operating on top of a
   connectionless packet network such as IP.  It offers the following
   services to its users:

   --  acknowledged error-free non-duplicated transfer of user data,

   --  data fragmentation to conform to discovered path MTU size,

   --  sequenced delivery of user messages within multiple streams, with
       an option for order-of-arrival delivery of individual user
       messages,

   --  optional bundling of multiple user messages into a single SCTP
       packet, and

   --  network-level fault tolerance through supporting of multi-homing
       at either or both ends of an association.

   The design of SCTP includes appropriate congestion avoidance behavior
   and resistance to flooding and masquerade attacks.

Stewart                     Standards Track                     [Page 1]
RFC 4960          Stream Control Transmission Protocol    September 2007

Table of Contents

   1. Introduction ....................................................5
      1.1. Motivation .................................................5
      1.2. Architectural View of SCTP .................................6
      1.3. Key Terms ..................................................6
      1.4. Abbreviations .............................................10
      1.5. Functional View of SCTP ...................................10
           1.5.1. Association Startup and Takedown ...................11
           1.5.2. Sequenced Delivery within Streams ..................12
           1.5.3. User Data Fragmentation ............................12
           1.5.4. Acknowledgement and Congestion Avoidance ...........12
           1.5.5. Chunk Bundling .....................................13
           1.5.6. Packet Validation ..................................13
           1.5.7. Path Management ....................................13
      1.6. Serial Number Arithmetic ..................................14
      1.7. Changes from RFC 2960 .....................................15
   2. Conventions ....................................................15
   3. SCTP Packet Format .............................................15
      3.1. SCTP Common Header Field Descriptions .....................16
      3.2. Chunk Field Descriptions ..................................17
           3.2.1. Optional/Variable-Length Parameter Format ..........19
           3.2.2. Reporting of Unrecognized Parameters ...............21
      3.3. SCTP Chunk Definitions ....................................21
           3.3.1. Payload Data (DATA) (0) ............................22
           3.3.2. Initiation (INIT) (1) ..............................24
                  3.3.2.1. Optional/Variable-Length
                           Parameters in INIT ........................27
           3.3.3. Initiation Acknowledgement (INIT ACK) (2) ..........30
                  3.3.3.1. Optional or Variable-Length Parameters ....33
           3.3.4. Selective Acknowledgement (SACK) (3) ...............34
           3.3.5. Heartbeat Request (HEARTBEAT) (4) ..................38
           3.3.6. Heartbeat Acknowledgement (HEARTBEAT ACK) (5) ......39
           3.3.7. Abort Association (ABORT) (6) ......................40
           3.3.8. Shutdown Association (SHUTDOWN) (7) ................41
           3.3.9. Shutdown Acknowledgement (SHUTDOWN ACK) (8) ........41
           3.3.10. Operation Error (ERROR) (9) .......................42
                  3.3.10.1. Invalid Stream Identifier (1) ............44
                  3.3.10.2. Missing Mandatory Parameter (2) ..........44
                  3.3.10.3. Stale Cookie Error (3) ...................45
                  3.3.10.4. Out of Resource (4) ......................45
                  3.3.10.5. Unresolvable Address (5) .................46
                  3.3.10.6. Unrecognized Chunk Type (6) ..............46
                  3.3.10.7. Invalid Mandatory Parameter (7) ..........47

[include full document text]