/  7
 
A Survey of the Stream ControlTransmission Protocol
Sivadon Chaisiri
Parallel and Distributed Computing Centre (PDCC)School of Computer EngineeringNanyang Technological University, SingaporeEmail: siva0020@ntu.edu.sg Matriculation Number: G0703431D
 Abstract
—This paper represents a survey of the Stream Con-trol Transmission Protocol (SCTP) which has more advantagesthan the Transmission Control Protocol (TCP) in the TCP/IPtransport layer. Due to the original limitation of TCP, SCTPis designed for the improvement. Currently, IETF offers SCTPas a general-purpose protocol for Internet applications. Thissurvey shows main features of SCTP such as multistreamingand multihoming which can be applied for many applicationsto avoid head-of-line blocking , to increase high throughputof data transfer, and to offer high-availability communications.Furthermore, some examples of applications using SCTP areintroduced. Moreover, the analysis studies of SCTP performanceare also included. Finally, some comments on SCTP are suggestedfor further improvement.
I. B
ACKGROUND
K
NOWLEDGE
The TCP/IP model is introduced for using in the Internetand other similar networks. It provides the layered architecturewhich has less complexity than the standard OSI model. TheTCP/IP model composes of link layer, Internet layer, transportlayer, and application layer [17]. The link and the Internetlayers provide only hop-to-hop protocols, while the upper onesprovide end-to-end protocols. This survey mainly focuses onthe transport layer that provides services for communicationsbetween two or more end-point application. Main servicefunctions provided by the transport layer are flow control,error detection / recovery, congestion avoidance, and reliabledelivery. Originally, the model introduced two core protocols,Transmission Control Protocol (TCP) and User DatagramProtocol (UDP), for handling two different types of commu-nications, connection-oriented communication respectively.UDP [18] does not add anything to the underlying layersexcept to offer end-to-end communications. Although UDPis connectionless, unreliable protocol; it produces a minimumoverhead and can be greatly applied for some applicationswhich do not concern much reliability.UDP is useful; however, it is not suitable for many ap-plications running on the Internet. The link and the Internetlayers might not offer reliable communications; so TCP [19]is designed as a connection-oriented, reliable protocol. TCPprovides services that guarantee the reliable delivery such asflow control, error control, and congestion control.II. I
NTRODUCTION TO
SCTPThe Stream Control Transmission Protocol (SCTP) [20] isthe latest TCP/IP transport protocol offering a connection-oriented, reliable end-to-end communication like TCP. Whiletoday TCP supports functions required by most popular ap-plications on the Internet, it has some disadvantages. Later,SCTP was introduced.Initially, SCTP was standardized by the Signaling Trans-port (SIGTRAN) working group of the Internet EngineeringTask Force (IETF) for supporting Signaling System 7 (SS7)messages, a set of telephony protocols, over IP networks [1],[2]. The SS7 transport requires reliable and timely delivery.Absolutely, TCP was also evaluated for the transport; however,it has several limitations presented later.Basically, SCTP was derived many functions from TCP, butSCTP enhances more improvements. Currently, SCTP is of-fered by IETF as a common transport layer protocol like TCPand UDP. Two major features of SCTP are multistreaming andmultihoming as discussed next.
 A. Multihoming
SCTP is designed to enable fault resilience during network failures. In SCTP terminology, a term
association
is compa-rable to a TCP connection. One endpoint of association canbind to one or more IP address. For example, an endpointregisters two IP addresses over two different links/paths (oneaddress per one link independently), wired link and wirelesslink. When setting up an association, the endpoint chooses thewired link as the primary path. If the wired link is down, it cantransparently reroute to the available wireless link and continueits ongoing activity over the same opening association. Themultihoming feature allows high availability communicationsby reusing redundant links. The multihoming mechanism isnot supported in TCP.Fig. 1 illustrates an association consisting of two redundantlinks in which endpoint has two network interfaces (i.e.,eth0 and eth1), the former is for the 802.3x wired Ethernetnetwork and the latter one is for 802.11x wireless network.The sender selects the eth0 as the primary interface to transferdata to the receiver, illustrated in Fig. 1(a). At some pointof time, the receiver’s line is down. Then the multihomingmechanism transparently switches to the wireless network (shifting to the sender’s and the receiver’s eth1 interfaces) tocontinue the holding communication without reestablishing anew association, shown in Fig. 1(b).
 
Fig. 1. An association consisting of two redundant links/paths: the sender is choosing the wired network (a) the wired network is down (b).Fig. 2. An example of head-of-line blocking occurred when B2 is lost.
 B. Multistreaming
Multistreaming can multiplex data from the applicationlayer onto a single association. A data segment (or
chunk 
[2],[13]) is transferred in a stream. One association can carryone or more stream. Each stream independently transportseach different set of segments. If a segment of one streamis lost, segments belonging to other streams are not affectedand continuing their transfer.TCP is conformed to strongly strict ordered delivery, soit causes a head-of-line (HOL) blocking in some cases formaking sure that the data will be arrived at the destinationas the accurate orders. If a packet is lost, sequencing packetsare queued up in the receiver buffer for reordering until thelost packet is resent from the sender. This blocking increasesa packet transfer delay.In Fig. 2. illustrates an instance when the sender has 2data,
A
and
B
, sending to the receiver. Each data consistsof 3 segments equally. The sender is transmitting both dataover a single TCP connection. At some point of time, thereceiver’s buffer kept four data segments including
A2
,
B1
,
A1
,and
A3
for later correcting their order before delivering to itsapplication. When
B2
is lost during transmission, it causes theHOL blocking to wait for retransmission of 
B2
. Although theentire data
A
is arrived, it cannot be sequenced and deliveredto the application.SCTP avoids the HOL blocking, where each stream carriesonly its segment concurrently and independently [9]. The HOLblocking can be found within the scope of individual streams
Fig. 3. An SCTP association consisting of five streams.
without affecting to the entire association. In Fig. 3, if 
Stream3
is in the HOL blocking state, other four streams have noeffects to this
Stream 3
.
C. Comparison of TCP and STCP
A comparison of TCP and SCTP based on [1] is illustratedin Table I. The first row shows that SCTP supports themultihoming capability, while TCP cannot support this feature.The second row in Table I shows the multistreaming capability.A multistreaming-like function can be implemented on TCPby establishing multiple connections, but it can waste manyresources and much overhead for maintaining these connec-tions. SCTP supports the real multistreaming on a single oneassociation with less overhead.The next comparison in the third row shows how differentbetween TCP and SCTP is, when setting up new connections / associations. When setting up a new connection, TCP uses athree-way handshake, as shown in Fig. 4(a). A new connectionon the server is established, when receiving an INIT messagefrom the client. In this way, TCP is vulnerable to a denial of service (DoS) attack called SYN flooding attack; an attackercontinuously sends many bogus SYN messages to the server.After receiving a SYN message, the server allocates somememory space for a new connection. Finally, at some pointof time the server’s free memory will be exhausted to offernon-attacker clients.SCTP avoids the SYN flooding attack by following a four-way handshake, as shown in Fig. 4(b). A new association is
 
TABLE IC
OMPARISON OF
TCP
AND
SCTP
TCP SCTP
Multihoming support Not Supported SupportedMultistreaming per stream By multiple TCP connnections By a single one associationSetup connections/associations Three-way handshake Four-way handshakeShutdown connections/associations Four-way handshake Three-way handshakeHalf-open support Supported Not supportedOrdered delivery Strict ordered Ordered within a streamUnordered delivery Not supported SupportedMessage boundary Stream-oriented Message-orientedSelective Acknowledgement Option MandatoryKeep alive heartbeat Not support SupportedFig. 4. Setup connections/assoications: TCP three-way handshake (a), andSCTP four-way handshake (b).
established after the client got the servers INIT ACK andthen returned the COOKIE ECHO back to the server. TheINIT ACK message includes the cookie information (e.g.,IP addresses of endpoints, stream number, etc.), which theclient must return the COOKIE ECHO back to the server.So the server does not maintain an association state, althoughreceiving the client’s INIT, which can avoid the attack.The fourth row in Table I relates to a shutdown mechiansm.When an endpoint engages a shutdown process, it can keepthe connection alive, also called the
half-open
, for receivingfurther incoming data from another side. TCP supports thishalf-open connection via a four-way handshake shutdown;while SCTP does not support the half-open by using a three-way handshake shutdown, as compared in the fifth row.Both TCP and SCTP supports reliable ordered deliverymode, as presented in the sixth row. TCP only supports strictordered, while SCTP supports ordering delivery per a stream.Moreover, SCTP offers unreliable, unordered delivery modelike UDP; while TCP does not support this mode, as notedin the seventh row. Furthermore, SCTP also provides partiallyordered mode or partial reliability communication, which oneassociation consists of both ordered delivery and unordereddelivery modes; either of them is assigned for a stream. Thepartial reliability mode is useful for applications requiring bothmodes at the same time. For example, an association carriesthree distinct contents including image, text, and video; whichboth image and text require ordered delivery, while the videois compromised to transfer with the unordered mode.The next row presents the fact that TCP is a stream- (orbyte-) oriented protocol in which data represent as a series of bytes, implied that the data has no boundary. So applicationdevelopers have to specify scopes of such sequenced bytesas boundary messages. In comparison, SCTP is a message-oriented protocol. The SCTP transport layer treats data re-ceived from the above application layer as messages. As longas there is a sufficient buffer at the receiver, a whole individualmessage can be delivered to the receiver without combiningitself to another message.The ninth row in Table I relates to a selective acknowledge-ment (SACK) mechanism. This mechanism is used for a fastretransmission that speeds up loss detection and also increasesbandwidth utilization. SACK is supported in TCP as an option[21], while SACK is mandatory in SCTP. An old mechanismusing in TCP is a cumulative acknowledgement scheme, thisinduces a sender either to learn about lost packets in eachroundtrip time, or to retransmit segments which just have been

Share & Embed

More from this user

Add a Comment

Characters: ...