Share this page on
Article provided by Wikipedia
Main article: "SCTP packet structure
||Chunk 1 type
||Chunk 1 flags
||Chunk 1 length
||Chunk 1 data
||Chunk N type
||Chunk N flags
||Chunk N length
||Chunk N data
SCTP packets have a simpler basic structure than TCP packets. Each consists of two basic sections:
- The common header, which occupies the first 12 bytes and is highlighted in blue, and
- 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.
Each chunk starts with a one byte type identifier, with 15 chunk types currently defined by RFC 4960. 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).
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.
SCTP is sometimes a good "fingerprinting candidate. Some operating systems ship with SCTP support enabled, and, as it is not as well known as TCP or UDP, it is sometimes overlooked in firewall and intrusion detection configurations, thus often permitting probing traffic.
The SCTP reference implementation runs on FreeBSD, Mac OS X, Microsoft Windows, and Linux.
The following "operating systems implement SCTP:
- "AIX Version 5 and newer
- Generic "BSD with external patch at "KAME project
- "Cisco IOS 12
- "DragonFly BSD since version 1.4, however support is being deprecated in version 4.2 
- "FreeBSD, version 7 and above, contains the reference SCTP implementation
- "HP-UX, 11i v2 and above
- "Linux kernel-based 2.4 and newer
- "QNX Neutrino Realtime OS, 6.3.0 to 6.3.2 but not 6.4.0 and above
- Sun "Solaris 10 and above
- "VxWorks versions 6.2.x to 6.4.x, and 6.7 and newer
The following applications implement SCTP:
- 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 (updates RFC 4960)
- 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 6458 Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)
- RFC 6096 Stream Control Transmission Protocol (SCTP) Chunk Flags Registration (updates RFC 4960)
- 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
- 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
- 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)
- ^ Tuexen, Michael; Randall R. Stewart (May 2013). UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication. "IETF. RFC 6951. https://tools.ietf.org/html/rfc6951.
- ^ Bickhart, Ryan; Paul D. Amer; Randall R. Stewart (2007). "Transparent TCP-to-SCTP Translation Shim Layer" (PDF). Retrieved 2008-09-13.
- ^ "Protocol Numbers". iana.org. "IANA. Retrieved 2014-09-09.
- ^ Stream Control Transmission Protocol. "IETF. October 2000. RFC 2960. https://tools.ietf.org/html/rfc2960.
- ^ "Transport". Diameter Base Protocol. "IETF. sec. 2.1. RFC 3588. https://tools.ietf.org/html/rfc3588#section-2.1. Retrieved 2012-05-18.
- ^ "Example Scenario Using RSerPool Session Services". An Overview of Reliable Server Pooling Protocols. "IETF. p. 10. sec. 4.2. RFC 5351. https://tools.ietf.org/html/rfc5351#section-4.2.
- ^ Hogg, Scott. "What About Stream Control Transmission Protocol (SCTP)?". Network World. Retrieved 2016-12-11.
- ^ "Reference Implementation for SCTP - RFC4960". 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).
- ^ "DragonFly Removes SCTP". Lists.dragonflybsd.org. Retrieved 2016-04-28.
- ^ "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.
- ^ "Stream Control Transmission Protocol (SCTP)". Hewlett-Packard Development Company.
- ^ "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.
- ^ "Solaris 10 Operating System Networking — Extreme Network Performance". "Sun Microsystems. Retrieved 2008-09-13.
- ^ "SctpDrv: an SCTP driver for Microsoft Windows". Retrieved 2011-02-04.
- ^ "SCTP Network Kernel Extension for Mac OS X".
- ^ https://github.com/sctplab/usrsctp
- ^ "SCTP Download Page". 2006-05-29. Retrieved 2011-02-04.
- ^ "Windows SCTP library installer". Retrieved 2011-02-04.
- ^ Seggelmann, R.; Tuxen, M.; Rathgeb, E.P. (18–20 July 2012). "SSH over SCTP — Optimizing a multi-channel protocol by adapting it to SCTP". Communication Systems, Networks & Digital Signal Processing (CSNDSP), 2012 8th International Symposium on: 1–6. "doi:10.1109/CSNDSP.2012.6292659. "ISBN "978-1-4577-1473-3.