There
is an increasing need for internetworking between telephone and
computer networks. Applications such as Voice over IP (VoIP) and the
deployment of the 3rd Generation mobile telephony networks, make this
integration a necessity. The Signaling Transport (SIGTRAN) working
group of the Internet Engineering Task Force (IETF) is the one in
charge of the design of the standards needed to make this
internetworking possible. The primary purpose of this working group is
addressing the transport of packet-based Public Switched Telephone
Networks (PSTN) signaling over IP networks, taking into account
functional and performance requirements of the PSTN signaling.
Among the multiple standards that have been defined by SIGTRAN there is
one new reliable transport protocol, the Stream Control Transmission
Protocol (SCTP). SCTP is the evolution of a previous transport
protocol, called the Multi-Network Datagram Transmission Protocol
(MDTP), highly based on TCP.
SCTP has several new features that make it more suitable for PSTN
signaling transport than TCP. SCTP can take advantage of a multihomed
host using all the IP addresses the host owns. SCTP avoids a very
simple attack that affects TCP, the so called SYN attack. This new
protocol also provides a mechanism to prevent an application using SCTP
from the so-called Head-Of-Line (HOL) blocking by using streams.
Moreover, many features that are optional in TCP have been including in
the basic specifications of SCTP, such as the Selective
Acknowledgements, the ability to tell about the receipt of Duplicate
Datagrams or the support for Explicit Congestion Notification (ECN).
On the whole, SCTP has many advantages over TCP and very few drawbacks,
and we can expect that, apart from being used for signaling transport,
SCTP will replace TCP in the Internet in the future. However, that will
not happen overnight. Moreover, SCTP and TCP implementations share
resources equally (as they have the same congestion avoidance
algorithms). This behavior is highly desired to facilitate a gradual
conversion of applications to use SCTP instead of TCP, making easier
the co-existence of both protocols.