• What is SCTP?
• Why not TCP?
• SCTP Services
FOUR Way Hand Shake
Flow Control Mechanism in SCTP
Congestion Control Mechanism in SCTP
Stream Control Transmission Protocol (SCTP) is a new
reliable, message-oriented transport-layer protocol. It
combines the best features of UDP and TCP.
• Why TCP can’t be used as a common Protocol?
TCP provides reliable data transfer and strict order-of-transmission delivery.
_ The problem of this approach is that a loss at any point in the stream
blocks the delivery of the rest of the data.
– some applications(real time data such as audio or video ) need reliable transfer
but not sequence maintenance. They suffer head-of-line (HOL) blocking.
• TCP was never designed to be multi-homed
– A multi-homed host is one that has several network cards, and can make use of
a number of IP addresses at the same time.
• TCP is relatively vulnerable to denial of service attacks.
– This kind of attacks try to make unavailable one service, by exhausting the
resources it uses. One of such well-known attacks is the so-called SYN attack.
SCTP allows multistream service in each connection
,which is called association in SCTP terminology. If one
of the streams is blocked, the other streams can still
• SCTP is a message-oriented,
deliver their data. The idea is similar to multiple lanes
reliable lane can be used for a different type
on a highway, eachprotocol that combines the
• best features of UDP and TCP.
The following figure depicts a typical multi-homed host
• A multi-homed host is one that has several network cards, and
can make use of a number of IP addresses at the same time.
• A TCP connection involves one source and one
destination IP address i.e. even if the sender or
receiver is a multihomed ,only one of these IP
addresses per end can be utilized during the
• An SCTP association on the other hand support
multihoming service. The sender and receiver can
define multiple IP addresses in each end for an
• In this fault-tolerant approach ,when one path
fails, another interface can be used for data delivery
SCTP Endpoint : An SCTP endpoint can be represented as a
list of SCTP transport addresses with the same port:
endpoint = [10.1.4.2, 10.1.5.3 : 80]
[126.96.36.199 : 2223]
SCTP Endpoint (contd)
• Application-1 has bound one IP address of the host
with the port 2223.
• If a new application is started Application-2, it may
legally bind [188.8.131.52 : 2223] or [10.1.61.11 :
2223] or even [184.108.40.206, 10.1.61.11 : 2223]
• The new application will NOT be able to bind the
existing SCTP Transport address that Application-1
has bound i.e.: [220.127.116.11 : 2223]
• Client and server are connected to two networks with two IP
addresses each .They can make an association ,using four
different pairs of IP address.
• However in current implementations only one pair of IP
addresses can be chosen for normal communication ;the
alternative is used if the main fails.
i.e. At present, SCTP does not allow load sharing between different
Currently, it is only for fault-tolerance.
• Full-Duplex Communication: data can flow
in both the directions.
• Connection-Oriented Service: two SCTP’s
establish an association between each other.
• Reliable Service: uses acknowledgement
mechanism to check the safe and sound arrival
Transmission Sequence Number (TSN)
Stream Identifier (SI)
Stream Sequence Number (SSN)
The unit of data in SCTP is called data
chunk. In SCTP, a data chunk is numbered
using a TSN.
• To distinguish between different streams,
SCTP uses an SI.
To distinguish between different data
chunks belonging to the same stream,
SCTP uses SSNs.
• Data chunks are identified by three
identifiers: TSN, SI, and SSN.
• TSN is a cumulative number identifying
Suppose that process A needs to send 11 messages to
process B in three streams, the first four in first stream,
the second three in second stream, and last four in third
• An SCTP packet has a mandatory general
header and a set of blocks called chunks.
There are two types of chunks: control
chunks and data chunks.
FOUR- WAY HANDSHAKE
• The client sends the first packet which contain an INIT
• The server sends the second packet which contains an
INIT ACK chunk.
• The client sends the third packet which includes a
COOKIE ECHO chunk, this is a simple chunk that echoes
without any change to the cookie sent by the server.
• The server sends the fourth packet, which includes the
COOKIE ACK CHUNK that acknowledges the receipt of
the COOKIE ECHO chunk.
• It prevents Denial Of Service Attack .
Problem in 3 way handshake :SYN
Flooding Attack in TCP
Unavailable, reserved resources
• There is no ACK in response to the SYN-ACK, hence connection
• Other genuine clients cannot open connections to the victim
• The victim is unable to provide service
• Framing : preserve message boundaries
• Flow Control
– SCTP uses an end-to-end window based flow and congestion
control mechanism similar to the one that is used in TCP
• Flow Control for Multi-homed Endpoints
– By default, all transmission is done to a previously selected
address from the set of destination addresses, which is called
the Primary Address.
– Retransmissions should be done on different paths, so that if
one path is overloaded, retransmissions do not affect this
• Congestion Control
– The congestion control mechanisms for SCTP have been
derived from TCP Congestion Control), and been adapted
• Slow Start and Congestion Avoidance is used with
different parameters for different paths.
• Data Communication and Networking by
Behrouz A. Forouzan (4th edition)