The Stream Control Transmission Protocol (SCTP) is a new transport protocol at the same layer as TCP and UDP. It provides functions for association management, sequence delivery, message chunk building, packet validation, and path management. SCTP is a new reliable, message-oriented transport layer protocol. It is mostly designed for Internet applications that have recently been introduced.
These new applications such as IUA (ISDN over IP), M2UA and M3UA (Telephony Signalling), H.248 (Media Gateway Control), H.323 (IP telephony), and SIP (IP Telephony), need a more sophisticated service than TCP can provide.
It is a transport layer protocol and is used for end-to-end communications. SCTP is a unicast connection oriented protocol. It provides reliable transport, in-sequence packet delivery and rate-adaptive congestion control. SCTP has a 32 bit CRC.
It is message oriented and has connection detection. It can detect dropped and duplicated packets and can also provide the best of both TCP and UDP capabilities.
It can handle multiple simultaneous streams. SCTP is more resistant to Man-In -The Middle and Denial of Service attacks. It uses a cookie mechanism.
It does not allow for half-open connections so it is more resilient to flooding, masquerade attacks.
The features of SCTP are as follows −
It is suitable for Ethernet jumbo frames because of improved error detection.
It provides validation and acknowledgement mechanisms which protect against flooding attacks.
It provides notification of duplicated or missing data chunks.
It eliminates unnecessary head-of-line blocking by delivering chunks within independent data.
It provides path selection and monitors it.
It selects a primary data transmission path and tests its connectivity.
The services provided by the SCTP are as follows −
Process-to-Process Communication − SCTP uses all ports in the TCP space.
Multiple Streams − SCTP allows multi stream service in every connection, which is called association in SCTP terminology. If any one of the streams is blocked, then the other streams can deliver their data.
Multihoming − The sending and receiving host can define multiple IP addresses in each end for an association. In this approach when one path fails, another interface is ready to deliver without interruption. This fault-tolerant is used when we are sending and receiving real-time payload like Internet telephony.
Full-duplex Communication − Data can flow in both directions at the same time.