SCTP stands for Stream Control Transmission Protocol. It is a new reliable, messageoriented transport layer protocol. SCTP, however, is mostly designed for Internet applications that have recently been introduced. These new applications, such as IUA (ISDN over IP), M2UA and M3UA (telephony signaling), H.248 (media gateway control), H.323 (IP telephony), and SIP (IP telephony), etc.
SCTP combines the best features of UDP and TCP. SCTP is a reliable message-oriented protocol. It preserves the message boundaries, and at the same time, detects lost data, duplicate data, and out-of-order data. It also has congestion control and flows control mechanisms.
There are various features of SCTP, which are as follows −
The unit of data in TCP is a byte. Data transfer in TCP is controlled by numbering bytes by using a sequence number. On the other hand, the unit of data in SCTP is a DATA chunk that may or may not have a one-to-one relationship with the message coming from the process because of fragmentation.
In TCP, there is only one stream in each connection. In SCTP, there may be several streams in each association. Each stream in SCTP needs to be identified by using a stream identifier (SI). Each data chunk must carry the SI in its header so that when it arrives at the destination, it can be properly placed in its stream. The 51 is a 16-bit number starting from O.
When a data chunk arrives at the destination SCTP, it is delivered to the appropriate stream and in the proper order. This means that, in addition to an SI, SCTP defines each data chunk in each stream with a stream sequence number (SSN).
In TCP, a segment carries data and control information. Data is carried as a collection of bytes; control information is defined by six control flags in the header. The design of SCTP is totally different: data is carried as data chunks; control information is carried as control chunks.
Like TCP, SCTP implements flow control to avoid overwhelming the receiver.
Like TCP, SCTP implements error control to provide reliability. TSN numbers and acknowledgement numbers are used for error control.
Like TCP, SCTP implements congestion control to determine how many data chunks can be injected into the network.