Skip to content
Main menu
  • Main page
  • Discover
  • Unexpected connections
  • Topics
  • Random article
  • Search
Your library
  • Saved articles
  • Recent discoveries
  • Rabbit-hole trails
Topic areas
  • Computer Science
  • Mathematics
  • Physics
  • Engineering
  • Biology
  • Economics
  • Curiosities
WikiholeDeeper into Wikipedia
EnglishEN
  • Saved
  • History

  • Article text and media come live from Wikipedia via the official MediaWiki API and are available under the Creative Commons Attribution-ShareAlike 4.0 License; additional terms may apply. Each article links to its source and revision.
  • WikiHole is an independent project and is not affiliated with the Wikimedia Foundation.
  • How ranking works
  • All topics
  • Reading history
  • Random article
  • MediaWiki API

Stream Control Transmission Protocol

  • Article
  • Rabbit hole
  • Read
  • View history
Tools
Actions
  • Read
  • View history
General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
8 min
Topic
Computer Science
Quality
C-class
Introduced
2000
Views
1.4k in 14 days
Last edited
9 Aug 2026
Print/export
  • Printable version
In other projects
  • Wikidata item
From Wikipedia, the free encyclopedia
Rabbit hole:
  1. Stream Control Transmission Protocol
Stream Control Transmission Protocol
AbbreviationSCTP
Introduction2000
OSI layerTransport layer (4)
IP number132
RFC9260

The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the protocol provides the message-oriented feature of the User Datagram Protocol (UDP) while ensuring reliable, in-sequence transport of messages with congestion control like the Transmission Control Protocol (TCP). Unlike UDP and TCP, the protocol supports multihoming and redundant paths to increase resilience and reliability.

SCTP is standardized by the (IETF) in . The SCTP reference implementation was released as part of version 7 in 2008 and has since been widely ported to other platforms.

Internet Engineering Task Force
RFC
9260
FreeBSD

Loading the rest of the article…

Recent changes

Rabbit hole

Where Stream Control Transmission Protocol leads. Every connection below has a source: a link in this article, a shared Wikipedia category, or CirrusSearch text similarity. Articles already on your trail are left out.

Contents
  • (Top)
  • Formal oversight
  • Message-based multi-streaming
  • Features
  • Motivation and adoption
  • Multihoming
  • Packet structure
  • Security
  • Implementations
  • RFCs
  • See also
  • Notes
  • References
  • External links
  • Recent changes
  • Rabbit hole
Contents
Contents15 sections
  • (Top)
  • Formal oversight
  • Message-based multi-streaming
  • Features
  • Motivation and adoption
  • Multihoming
  • Packet structure
  • Security
  • Implementations
  • Tunneling over UDP
  • RFCs
  • See also
  • Notes
  • References
  • External links
  • Recent changes
  • Rabbit hole
Study aids for Stream Control Transmission Protocol

Terminology

SCTP
The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite.

Terms the article defines in bold, quoted in context.

Categories:
  • Computer-related introductions in 2000
  • Streaming
  • Internet Standards
  • Transport layer protocols
  • Multihoming

1,762 words · 27 references · revision 1368463329 · CC BY-SA 4.0

General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
8 min
Topic
Computer Science
Quality
C-class
Introduced
2000
Views
1.4k in 14 days
Last edited
9 Aug 2026

Key concepts

  • Signaling System 72
  • FreeBSD2
  • Computer networking1
  • Communications protocol1
  • Transport layer1
  • Internet protocol suite1
  • User Datagram Protocol1
  • TCP congestion control1
  • Transmission Control Protocol1
  • Multihoming1

The articles this one links to most, weighted towards the introduction.

Print/export
  • Printable version
In other projects
  • Wikidata item

Formal oversight

The IETF Signaling Transport (SIGTRAN) working group defined the protocol (number 1321) in October 2000,2 and the IETF Transport Area (TSVWG) working group maintains it. RFC 9260 defines the protocol. RFC 3286 provides an introduction.

Message-based multi-streaming

SCTP applications submit data for transmission in messages (groups of bytes) to the SCTP transport layer. SCTP places messages and control information into separate chunks (data chunks and control chunks), each identified by a chunk header. The protocol can fragment a message into multiple data chunks, but each data chunk contains data from only one user message. SCTP bundles the chunks into SCTP packets. The SCTP packet, which is submitted to the Internet Protocol, consists of a packet header, SCTP control chunks (when necessary), followed by SCTP data chunks (when available).

SCTP may be characterized as message-oriented, meaning it transports a sequence of messages (each being a group of bytes), rather than transporting an unbroken stream of bytes as in TCP. As in UDP, in SCTP a sender sends a message in one operation, and that exact message is passed to the receiving application process in one operation. In contrast, TCP is a stream-oriented protocol, transporting streams of bytes reliably and in order. However TCP does not allow the receiver to know how many times the sender application called on the TCP transport passing it groups of bytes to be sent out. At the sender, TCP simply appends more bytes to a queue of bytes waiting to go out over the network, rather than having to keep a queue of individual separate outbound messages which must be preserved as such.

The term multi-streaming refers to the capability of SCTP to transmit several independent streams of chunks in parallel, for example transmitting web page images simultaneously with the web page text. In essence, it involves bundling several connections into a single SCTP association, operating on messages (or chunks) rather than bytes.

TCP preserves byte order in the stream by including a byte sequence number with each segment. SCTP, on the other hand, assigns a sequence number or a message-idnote 1 to each message sent in a stream. This allows independent ordering of messages in different streams. However, message ordering is optional in SCTP; a receiving application may choose to process messages in the order of receipt instead of in the order of sending.

Features

Features of SCTP include:

  • Reliable transmission of both ordered and unordered data streams
  • Multihoming support in which one or both endpoints of a connection can consist of more than one IP address, enabling transparent fail-over between redundant network paths
  • Delivery of chunks within independent streams eliminates unnecessary head-of-line blocking, as opposed to TCP byte-stream delivery.
  • Explicit partial reliability
  • Path selection and monitoring to select a primary data transmission path and test the connectivity of the transmission path
  • Validation and acknowledgment mechanisms protect against flooding attacks and provide notification of duplicated or missing data chunks.
  • Improved error detection suitable for Ethernet jumbo frames

The designers of SCTP originally intended it for the transport of telephony (i.e. Signaling System 7) over Internet Protocol, with the goal of duplicating some of the reliability attributes of the SS7 signaling network in IP. This IETF effort is known as SIGTRAN. In the meantime, other uses have been proposed, for example, the Diameter protocol3 and Reliable Server Pooling (RSerPool).4

Motivation and adoption

TCP has provided the primary means to transfer data reliably across the Internet. However, TCP has imposed limitations on several applications. From RFC 4960:

  • TCP provides both reliable data transfer and strict order-of-transmission delivery of data. Some applications need reliable transfer without sequence maintenance, while others would be satisfied with partial ordering of the data. In both of these cases, the head-of-line blocking property of TCP causes unnecessary delay.
  • For applications exchanging distinct records or messages, the stream-oriented nature of TCP requires the addition of explicit markers or other encoding to delineate the individual records.
  • In order to avoid sending many small IP packets where one single larger packet would have sufficed, the TCP implementation may delay transmitting data while waiting for possibly more data being queued by the application (Nagle's algorithm). Although many TCP implementations allow the disabling of Nagle's algorithm, this is not required by the specification. SCTP, on the other hand, allows undelayed transmission to be configured as a default for an association, eliminating any undesired delays, but at the cost of higher transfer overhead.5
  • The limited scope of TCP sockets complicates the task of providing highly-available data transfer capability using multihomed hosts.
  • TCP is relatively vulnerable to denial-of-service attacks, such as SYN attacks.

Adoption of SCTP has been slowed by lack of awareness, lack of implementations (particularly in Microsoft Windows), lack of application support and lack of network support.6

SCTP has seen adoption in the mobile telephony space as the transport protocol for several core network interfaces.

Multihoming

SCTP multihoming
Asymmetric multihoming: local multihoming to remote single homing
Asymmetric multihoming: local single homing to remote multihoming

SCTP provides redundant paths to increase reliability.

Each SCTP end point needs to check reachability of the primary and redundant addresses of the remote end point using a heartbeat. Each SCTP end point needs to acknowledge the heartbeats it receives from the remote end point.

When SCTP sends a message to a remote address, the source interface will only be decided by the routing table of the host (and not by SCTP).

In asymmetric multihoming, one of the two endpoints does not support multihoming.

In local multihoming and remote single homing, if the remote primary address is not reachable, the SCTP association fails even if an alternate path is possible.

Packet structure

Main article: SCTP packet structure

An SCTP packet consists of two basic sections:

  1. The common header, which occupies the first 12 bytes and is highlighted in blue.
  2. The data chunks, which occupy the remaining portion of the packet. The first chunk is highlighted in green, and the last of N chunks (Chunk N) is highlighted in red.
Bits0–78–1516–2324–31
+0Source portDestination port
32Verification tag
64Checksum
96Chunk 1 typeChunk 1 flagsChunk 1 length
128Chunk 1 data
……
…Chunk N typeChunk N flagsChunk N length
…Chunk N data

Each chunk starts with a one-byte type identifier, with 15 chunk types defined by RFC 9260, and at least 5 more defined by additional RFCs.note 2 Eight flag bits, a two-byte length field, and the data compose the remainder of the chunk. If the chunk does not form a multiple of 4 bytes (i.e., the length is not a multiple of 4), then it is padded with zeros, which are not included in the chunk length. The two-byte length field limits each chunk to a 65,535-byte length (including the type, flags and length fields).

Security

Although encryption was not part of the original SCTP design, SCTP was designed with features for improved security, such as 4-way handshake (compared to TCP 3-way handshake) to protect against SYN flooding attacks, and large "cookies" for association verification and authenticity.

Reliability was also a key part of the security design of SCTP. Multihoming enables an association to stay open even when some routes and interfaces are down. This is of particular importance for SIGTRAN as it carries SS7 over an IP network using SCTP, and requires strong resilience during link outages to maintain telecommunication service even when enduring network anomalies.

Implementations

The SCTP reference implementation runs on FreeBSD, Mac OS X, Microsoft Windows, and Linux.8

The following operating systems implement SCTP:

  • AIX Version 5 and newer
  • NetBSD9 since 8.010
  • Cisco IOS 12 and above
  • DragonFly BSD since version 1.4, however support is being deprecated in version 4.2 11
  • FreeBSD, version 7 and above, contains the reference SCTP implementation12
  • HP-UX, 11i v2 and above13
  • illumos
  • Linux kernel 2.4 and above
  • QNX Neutrino Realtime OS,14 6.3.0 to 6.3.2, deprecated since 6.4.015
  • Tru64 with the Compaq SCTP add-on package
  • Sun Solaris 10 and above16

RFCs

  • RFC 9260 Stream Control Transmission Protocol
  • RFC 8540 Stream Control Transmission Protocol: Errata and Issues in RFC 4960 (obsoleted by RFC 9260)
  • RFC 7829 SCTP-PF: A Quick Failover Algorithm for the Stream Control Transmission Protocol
  • RFC 7765 TCP and Stream Control Transmission Protocol (SCTP) RTO Restart
  • RFC 7496 Additional Policies for the Partially Reliable Stream Control Transmission Protocol Extension
  • RFC 7053 SACK-IMMEDIATELY Extension for the Stream Control Transmission Protocol (obsoleted by RFC 9260)
  • RFC 6951 UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication
  • RFC 6525 Stream Control Transmission Protocol (SCTP) Stream Reconfiguration
  • RFC Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)

See also

  • Transport layer § Comparison of transport layer protocols
  • Session Initiation Protocol (SIP) – which may initiate multiple streams over SCTP, TCP, or UDP
  • Multipath TCP – which allows a TCP connection to use multiple paths to maximize resource usage and increase redundancy
  • Happy Eyeballs – originally designed for efficient selection of IPv4 or IPv6 for a connection;24 could also be adapted to select from different transport protocols such as TCP and SCTP25

Notes

  1. note 1The DATA chunk uses a sequence number for ordered messages, the I-DATA chunk, which solves some problems with the original DATA chunk, uses a message-id for all messages
  2. note 2See SCTP packet structure for more details.

References

  1. 1"Protocol Numbers". iana.org. IANA. Retrieved 2014-09-09.
  2. 2Stream Control Transmission Protocol. IETF. October 2000. doi:10.17487/RFC2960. RFC 2960.
  3. 3"Transport". Diameter Base Protocol. IETF. sec. 2.1. doi:10.17487/RFC3588. RFC 3588. Retrieved 2012-05-18.
  4. 4"Example Scenario Using RSerPool Session Services". An Overview of Reliable Server Pooling Protocols. . p. 10. sec. 4.2. :. .

External links

  • sigtran (archived)
  • "Signaling Transport (sigtran) Working Group".
  • "Transport Area Working Group (tsvwg)".
  • "OpenSS7 Project".
  • SCTP workgroup for Linux
  • "Michael Tüxen's SCTP Page".
  • "Lode Coene's SCTP Page".
  • "Thomas Dreibholz's SCTP Project Page".
7
  • VxWorks versions 6.2.x to 6.4.x, and 6.7 and newer
  • Third-party drivers:

    • Microsoft Windows:
      • The SctpDrv kernel driver is a port of the BSD SCTP stack to Windows (Abandoned after 2012)17
    • MacOS:
      • SCTP Network Kernel Extension for Mac OS X18

    Userspace library:

    • Portable SCTP userland stack19
    • The SCTP library20
      • Windows XP port21
    • Oracle Java SE 7
    • Erlang/OTP

    The following applications implement SCTP:

    • WebRTC
    • NetFlow

    Tunneling over UDP

    In the absence of native SCTP support in operating systems, it is possible to tunnel SCTP over UDP,22 as well as to map TCP API calls to SCTP calls so existing applications can use SCTP without modification.23

    6458
  • RFC 6096 Stream Control Transmission Protocol (SCTP) Chunk Flags Registration (obsoleted by RFC 9260)
  • RFC 5062 Security Attacks Found Against the Stream Control Transmission Protocol (SCTP) and Current Countermeasures
  • RFC 5061 Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration
  • RFC 5043 Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation
  • RFC 4960 Stream Control Transmission Protocol (obsoleted by RFC 9260)
  • RFC 4895 Authenticated Chunks for the Stream Control Transmission Protocol (SCTP)
  • RFC 4820 Padding Chunk and Parameter for the Stream Control Transmission Protocol (SCTP)
  • RFC 4460 Stream Control Transmission Protocol (SCTP) Specification Errata and Issues (obsoleted by RFC 9260)
  • RFC 3873 Stream Control Transmission Protocol (SCTP) Management Information Base (MIB)
  • RFC 3758 Stream Control Transmission Protocol (SCTP) Partial Reliability Extension
  • RFC 3554 On the Use of Stream Control Transmission Protocol (SCTP) with IPsec
  • RFC 3436 Transport Layer Security over Stream Control Transmission Protocol
  • RFC 3309 Stream Control Transmission Protocol (SCTP) Checksum Change (obsoleted by RFC 4960)
  • RFC 3286 An Introduction to the Stream Control Transmission Protocol
  • RFC 3257 Stream Control Transmission Protocol Applicability Statement
  • RFC 2960 Stream Control Transmission Protocol (updated by RFC 3309 and obsoleted by RFC 4960)
  • IETF
    doi
    10.17487/RFC5351
    RFC
    5351
  • 5RFC 9260, section 1.5.5
  • 6Hogg, Scott. "What About Stream Control Transmission Protocol (SCTP)?". Network World. Archived from the original on August 30, 2014. Retrieved 2017-10-04.
  • 7Olsson, Magnus; Mulligan, Catherine; Sultana, Shabnam; Rommer, Stefan; Frid, Lars (2013). EPC and 4G packet networks: driving the mobile broadband revolution (2nd ed.). Amsterdam Boston: Elsevier/AP, Academic Press is an imprint of Elsevier. p. 491. ISBN 978-0-12-394595-2.
  • 8"Reference Implementation for SCTP - RFC4960". GitHub. Retrieved 2013-10-14. “This is the reference implementation for SCTP. It is portable and runs on FreeBSD/MAC-OS/Windows and in User Space (including linux).”
  • 9"sys/netinet/sctp.h". BSD Cross Reference. NetBSD. 2017-06-27. Retrieved 2019-01-21.
  • 10"man4/sctp.4". BSD Cross Reference. NetBSD. 2018-07-31. Retrieved 2019-01-21.
  • 11"DragonFly Removes SCTP". Lists.dragonflybsd.org. 7 January 2015. Retrieved 2016-04-28.
  • 12"About FreeBSD's Technological Advances". The FreeBSD Project. 2008-03-09. Retrieved 2008-09-13. “SCTP: FreeBSD 7.0 is the reference implementation for the new IETF Stream Control Transmission Protocol (SCTP) protocol, intended to support VoIP, telecommunications, and other applications with strong reliability and variable quality transmission through features such as multi-path delivery, fail-over, and multi-streaming.”
  • 13"Stream Control Transmission Protocol (SCTP)". Hewlett-Packard Development Company.{{cite web}}: CS1 maint: deprecated archival service (link)
  • 14"TCP/IP Networking". QNX Developer Support. QNX Software Systems. Retrieved 2008-09-13."What's New in this Reference". QNX Library Reference. QNX Software Systems. Retrieved 2012-12-18.
  • 15"QNX Software Development Platform 6.4.0".
  • 16"Solaris 10 Operating System Networking — Extreme Network Performance". Sun Microsystems. Retrieved 2008-09-13.
  • 17"SctpDrv: an SCTP driver for Microsoft Windows". Archived from the original on 2017-10-08. Retrieved 2022-01-04.
  • 18"SCTP Network Kernel Extension for Mac OS X". GitHub. 23 September 2021.
  • 19"sctplab/usrsctp". Github. Retrieved 21 September 2021.
  • 20"sctplib and socketapi: The User-Space SCTP Library (sctplib) and Socket API Library (socketapi)". 2025-07-09. Retrieved 2025-07-09.
  • 21"Windows SCTP library installer". Retrieved 2011-02-04.
  • 22Tuexen, Michael; Stewart, Randall R. (May 2013). UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication. IETF. doi:10.17487/RFC6951. RFC 6951.
  • 23Bickhart, Ryan; Paul D. Amer; Randall R. Stewart (2007). "Transparent TCP-to-SCTP Translation Shim Layer" (PDF). Retrieved 2008-09-13.
  • 24D. Wing; A. Yourtchenko (April 2012). "Happy Eyeballs: Success with Dual-Stack Hosts". tools.ietf.org. IETF.
  • 25Khademi, Naeem; Brunstrom, Anna; Hurtig, Per; Grinnemo, Karl-Johan (July 21, 2016). "Happy Eyeballs for Transport Selection". tools.ietf.org. IETF. Retrieved 2017-01-09.
  • Created
    16 Dec 2003
    History
    681 edits
    374 contributors
    No edits in the last 30 days
    Last edited
    9 Aug 2026

    681 revisions in total · 374 contributors

    1. 9 Aug 2026, 05:08 UTCTemporary accountAdd year+8diff
    2. 24 May 2026, 00:47 UTCExplicitmRemoving link(s) because Expired PROD, concern was: Not suitable for an encyclopedia. Largely a synthesis of various standards and a collection of external links, with no attempt to establish notability. (XFDcloser)−4diff
    3. 11 Jan 2026, 19:42 UTCKvngmunpiped links using script−226diff
    4. 14 Dec 2025, 08:47 UTCArtoria2e5| ipproto = 132+16diff
    5. 5 Nov 2025, 20:49 UTCJjamison§ Motivation and adoption Clarification of second paragraph in light of TCP paragraph+8diff
    6. 26 Aug 2025, 05:22 UTCStephan Leeds§ Motivation and adoption readability+2diff
    7. 26 Aug 2025, 05:20 UTCStephan Leeds§ top readability−1diff
    8. 26 Aug 2025, 05:19 UTCStephan Leeds§ top spurious comma−1diff

    View full revision history

    Created
    16 Dec 2003
    History
    681 edits
    374 contributors
    No edits in the last 30 days
    Last edited
    9 Aug 2026

    Go deeper: linked from this article

    • Linked from the introduction

      FreeBSD

      Free and open-source Unix-like operating system

      FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD).

      41 min readGo deeper
    • Linked from the introduction

      TCP congestion control

      Techniques to improve network performance

      Transmission Control Protocol (TCP) uses one of several congestion control algorithms that include various aspects of an additive increase/multiplicative decrease (AIMD) scheme, along with other…

      19 min readGo deeper
    • Linked from the introduction

      Transmission Control Protocol

      Principal protocol used to stream data across an IP network

      The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite, providing reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network.

      42 min readGo deeper
    • Linked from the introduction

      Internet Engineering Task Force

      Open internet standards organization

      The Internet Engineering Task Force (IETF) is a standards organization for the Internet responsible for the technical standards of the Internet protocol suite (TCP/IP).

      13 min readGo deeper
    • Linked from the introduction

      Internet protocol suite

      Framework for communication protocols used in IP networking

      The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria.

      23 min readGo deeper
    • Linked from the introduction

      Communication protocol

      System for exchanging messages between computing systems

      A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information.

      24 min readGo deeper
    • Listed under See also

      Transport layer

      Layer for end-to-end network communication

      In computer networking, the transport layer is an abstraction layer in a network protocol stack that provides communication services between applications.

      7 min readGo deeper
    • Linked from the introduction

      Computer network

      Network that allows computers to share resources and communicate with each other

      In computer science, computer engineering, and telecommunications, a network is a group of communicating computers and peripherals called hosts, which communicate data to other hosts via communication protocols, as facilitated by networking hardware.

      37 min readGo deeper
    • Linked from the introduction

      User Datagram Protocol

      Principal protocol used for transmission of datagrams across an IP network

      In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network.

      8 min readGo deeper
    • Listed under See also

      Session Initiation Protocol

      Voice-over-IP communications protocol

      The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, modifying, and terminating communication sessions that involve multimedia elements such as voice, video, and messaging.

      11 min readGo deeper
    • Linked from the introduction

      Signalling System No. 7

      Set of telephony signaling protocols

      Signalling System No.

      12 min readGo deeper

    Adjacent: shared categories and similar text

    • Linked in “Motivation and adoption”

      Mobile telephony

      Wireless telephone services for mobile phones

      Mobile telephony is the provision of Wireless telephone services to mobile phones, distinguishing it from fixed-location telephony provided via landline phones.

      24 min readGo deeper
    • Linked in “Message-based multi-streaming”

      Web page

      Content provided by a website

      A web page, or webpage, sometimes contextually shortened to just page, is a document, typically published on the Web, and normally viewed using a web browser, which consists of hypertext and often additional components such as scripts and graphics.

      4 min readGo deeper
    • Linked in “Features”

      SYN flood

      Denial-of-service attack

      SYN flooding (or TCP SYN flood) is a form of denial-of-service attack against systems that provide services over the Transmission Control Protocol (TCP).

      2 min readGo deeper