| Stream Control Transmission Protocol |
Article Index for Stream |
Shopping Protocol |
Website Links For Stream |
Information AboutStream Control Transmission Protocol |
| CATEGORIES ABOUT STREAM CONTROL TRANSMISSION PROTOCOL | |
| streaming | |
| internet protocols | |
| internet standards | |
| transport layer protocols | |
|
In the field of Computer Networking , the IETF Signaling Transport ( SIGTRAN ) working group defined the Stream Control Transmission Protocol (SCTP) as a Transport Layer Protocol in 2000. RFC 2960 defines the protocol, with RFC 3286 providing an introductory text. As a transport protocol, SCTP operates analogously to TCP or UDP . Indeed it provides some similar services as TCP—ensuring reliable, in-sequence transport of messages with congestion control. (In the absence of native SCTP support, it may sometimes be desirable to Tunnel SCTP over UDP .) MESSAGE-BASED MULTI-STREAMING Whereas TCP transports a Byte-stream , SCTP can transport multiple message-streams. All bytes sent in a TCP connection must be delivered in that order, which requires that a byte transmitted first must safely arrive at the destination before a second byte can be processed even if the second byte manages to arrive first. If an arbitrary number of bytes are sent in one step and later some more bytes are sent, these bytes will be received in order, but the receiver can not distinguish which bytes were sent in which step. SCTP in contrast, conserves message boundaries by operating on whole messages instead of single bytes. That means if one message of several related bytes of information is sent in one step, exactly that message is received in one step. The term "multi-streaming" refers to the capability of SCTP to transmit several independent streams of messages in parallel. For example, transmitting two images in a HTTP application in parallel over the same SCTP association. You might think of multi-streaming as bundling several TCP-connections in one SCTP-association operating with messages instead of bytes. TCP ensures the correct order of bytes in the stream by conceptually assigning a sequence number to each byte sent and ordering these bytes based on that sequence number when they arrive. SCTP, on the other hand, assigns different sequence numbers to messages sent in a stream. This allows independent ordering of messages in different streams. However, message ordering is optional in SCTP. If the user application so desires, messages will be processed in the order they are received instead of the order they were sent, should these differ. Signaling in Public Switched Telephone Networks PSTN requires message-based delivery. Multi-Streaming also provides an advantage when used to transport PSTN services. If an SCTP connection is set up to carry, say, ten phone calls with one call per stream, then if a single message is lost in only one phone call, the other nine calls will not be affected. To handle ten phone calls in TCP, some form of multiplexing would be required to put all ten phone calls into a single byte-stream. If a single packet for phone call #3 is lost then all packets after that could not be processed until the missing bytes are retransmitted, thus causing unnecessary delays in the other calls. BENEFITS Benefits of SCTP include:
The designers of SCTP originally intended it for the transport of telephony ( SS7 ) protocols over IP , with the goal of duplicating some of the reliability attributes of the SS7 signaling network in IP. This IETF effort is known as SIGTRAN . In the meantime, other uses have been proposed, for example the DIAMETER protocol and Reliable Server Pooling ("RSerPool"). MOTIVATIONS Transmission Control Protocol (TCP) has provided the primary means to transfer data across the Internet in a reliable way. However, TCP has imposed limitations on several applications. From RFC 2960:
All these limitations affect the performance of IP over Public Switched Telephone Network s. COMPARISON BETWEEN TRANSPORT LAYERS IMPLEMENTATIONS The following Operating System s implement SCTP:
Various third-party implementations implement SCTP for other operating systems. Userspace library:
PACKET STRUCTURE
|