Stream Control Transmission Protocol
SCTP (Stream Control Transmission Protocol) | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Family: | Internet protocol family | ||||||||||||||||||||||||
Operation area: | Reliable, connection-oriented transport protocol | ||||||||||||||||||||||||
|
|||||||||||||||||||||||||
Standards: |
The Stream Control Transmission Protocol ( SCTP ) is a reliable , connection-oriented network protocol . It belongs to the transport layer and is based on a potentially unreliable, connectionless parcel service .
Features and functions
It was proposed by the Internet Engineering Task Force (IETF) as a new transport protocol and published in October 2000 in the standard document RFC 2960 and replaced by RFC 4960 in September 2007 . An introduction can be found in RFC 3286 . The responsible body at the IETF is the Signaling Transport working group , or SIGTRAN for short .
As a transport protocol, SCTP is on the same level of the TCP / IP reference model as TCP and UDP ( layer 4 of the OSI model ).
SCTP implements the concept of an association : Here a connection is established in which several message data streams are transported in sequence preserving (among themselves, but potentially not in sequence). In addition, individual, for example urgent, datagrams can be sent separately and out of sequence, which may "overtake" the in-order data streams.
SCTP also knows multistreaming and multihoming (one host with several valid IP addresses ). There are Heartbeats used to actively Test Connection demolition.
In contrast to TCP, SCTP is resistant to SYN flooding , a denial-of-service attack in which half-open connections use up the server's resources. To do this, it uses what is known as a four-way handshake . In this case, the server does not save any status information in the event of a connection request (INIT packet), but sends it to the client in the form of a cookie (INIT-ACK packet). The client must insert this cookie in its response (COOKIE-ECHO package) and is recognized by the server as authorized to establish a connection, which the server confirms (COOKIE-ACK package). A similar procedure is also possible with TCP, see SYN cookies .
Originally, SCTP was defined as a transport protocol in order to be able to transmit signaling messages ( SS7 ) from telephone networks over IP networks. The reliability of the protocol was particularly important during development. SCTP is also suitable for other applications, as it combines the advantages of TCP and UDP. An important application based on SCTP is Reliable Server Pooling (RSerPool).
SCTP uses algorithms similar to TCP for flow and congestion control , so it behaves neutrally in a mixed network (SCTP and TCP).
The Java programming language has been offering its own programming interface (API) for SCTP since version 7 .
Specifications
- RFC 2960 Stream Control Transmission Protocol (2000)
- RFC 4960 Stream Control Transmission Protocol (2007)
- RFC 6951 UDP Encapsulation of Stream Control Transmission Protocol (2013)
Web links
- Michael Tüxen's SCTP Page
- Lode Coene's SCTP Page
- Thomas Dreibholz's SCTP Project Page
- OpenSS7
- Concluded Workgroup Signaling Transport (sigtran)
- Better networking with SCTP
Individual evidence
- ↑ http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf ( Memento from March 21, 2003 in the Internet Archive ) , PDF
- ↑ http://www.oracle.com/technetwork/java/javamail/index-139946.html