Information about Stream Control Transmission Protocol
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 2002. 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.)
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.
All these limitations affect the performance of IP over public switched telephone networks.
Userspace library:
SCTP packets have a simpler basic structure than TCP or UDP packets. Each consists of two basic sections:
Each chunk has a type identifier that is one byte long yielding, at most, 255 different chunk types. RFC 2960 defines a list of chunk types and there are currently 15 types defined. The remainder of the chunk is a two byte length (maximum size of 65,535 bytes) and the data. If the chunk does not form a multiple of 4 bytes (i.e., the length is a multiple of 4) then it is implicitly padded with zeros which are not included in the chunk length.
..... Click the link for more information.
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:- Multihoming support, where one (or both) endpoints of a connection can consist of more than one IP address, enabling transparent fail-over between redundant network paths.
- Delivery of data in chunks within independent streams - this eliminates unnecessary head-of-line blocking, as opposed to TCP byte-stream delivery.
- Path Selection and Monitoring - Selects a "primary" data transmission path and tests the connectivity of the transmission path.
- Validation and Acknowledgment mechanisms - Protects against flooding attacks and provides notification of duplicated or missing data chunks.
- Improved error detection suitable for jumbo Ethernet frames.
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:
- TCP provides both reliable data transfer and strict order-of-transmission delivery of data. Some applications need reliable transfer without sequence maintenance, while others would be satisfied with partial ordering of the data. In both of these cases the head-of-line blocking offered by TCP causes unnecessary delay.
- The stream-oriented nature of TCP is often an inconvenience. Applications must add their own record marking to delineate their messages, and must make explicit use of the push facility (PSH) to ensure that a complete message is transferred in a reasonable time.
- The limited scope of TCP sockets complicates the task of providing highly-available data transfer capability using multi-homed hosts.
- TCP is relatively vulnerable to denial of service attacks, such as SYN attacks.
All these limitations affect the performance of IP over public switched telephone networks.
Comparison between transport layers
| Feature Name | TCP | UDP | SCTP |
|---|---|---|---|
| Connection Oriented | Yes | No | Yes |
| Reliable Transport | Yes | No | Yes |
| Preserve Message boundary | No | Yes | Yes |
| Ordered Delivery | Yes | No | Yes |
| Unordered Delivery | No | Yes | Yes |
| Data Checksum | Yes | Yes | Yes |
| Path MTU | Yes | No | Yes |
| Congestion Control | Yes | No | Yes |
| Multiple streams | No | No | Yes |
| Multi-homing support | No | No | Yes |
| Bundling | No | No | Yes |
Implementations
The following operating systems implement SCTP:- AIX Version 5
- BSD with external patch at KAME project
- Cisco IOS 12
- DragonFly BSD since version 1.4
- FreeBSD version 7
- Linux 2.4/2.6
- QNX Neutrino Realtime OS
- Sun Solaris 10
Userspace library:
- The SCTP library (sctplib), with Windows XP port
Packet structure
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SCTP packets have a simpler basic structure than TCP or UDP packets. Each consists of two basic sections:
- The common header, which occupies the first 12 bytes and is highlighted in blue, and
- The data chunks, which occupy the remaining portion of the packet. The first chunk is highlighted in green, and the last of N chunks (Chunk N) is highlighted in red.
Each chunk has a type identifier that is one byte long yielding, at most, 255 different chunk types. RFC 2960 defines a list of chunk types and there are currently 15 types defined. The remainder of the chunk is a two byte length (maximum size of 65,535 bytes) and the data. If the chunk does not form a multiple of 4 bytes (i.e., the length is a multiple of 4) then it is implicitly padded with zeros which are not included in the chunk length.
See also
- Transport protocol comparison table
External links
- SS7 and Sigtran discussion forums
- http://www.sigtran.org
- http://www.ietf.org/html.charters/sigtran-charter.html
- http://www.openss7.org
- http://www.sctp.de
- SCTP for QualNet network simulator from DEGAS networking group
- The Linux Kernel Stream Control Transmission Protocol (lksctp) project
- http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/sctp_fb/
- SCTP Sequence Diagram - Setup, IP Address Reconfiguration and Release (PDF)
- Tunneling of SCTP over Single UDP Port
- Open Source / GPL Seagull test tool - with SCTP support
- Parallel computing using the Message-passing Interface (MPI) over SCTP
- SCTPscan: SCTP port scanner and network scanner, GPL
- Better Networking with SCTP An IBM developerWorks article by M. Tim Jones
- SCTP for beginners
RFCs
- RFC 5061 Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration
- RFC 4960 Stream Control Transmission Protocol
- RFC 4460 Stream Control Transmission Protocol (SCTP) Specification Errata and Issues
- RFC 3873 Stream Control Transmission Protocol (SCTP) Management Information Base (MIB)
- RFC 3758 Stream Control Transmission Protocol (SCTP) Partial Reliability Extension
- RFC 3554 On the Use of Stream Control Transmission Protocol (SCTP) with IPsec
- RFC 3436 Transport Layer Security over Stream Control Transmission Protocol
- RFC 3309 Stream Control Transmission Protocol (SCTP) Checksum Change (Obsoleted by RFC 4960)
- RFC 3286 An Introduction to the Stream Control Transmission Protocol
- RFC 3257 Stream Control Transmission Protocol Applicability Statement
- RFC 2960 Stream Control Transmission Protocol (Updated by RFC 3309 and obsoleted by RFC 4960)
Computer networking is the engineering discipline concerned with communication between computer systems or devices. Networking, routers, routing protocols, and networking over the public Internet have their specifications defined in documents called RFCs.
..... Click the link for more information.
..... Click the link for more information.
SIGTRAN is the name given to an IETF working group that produced specifications for a family of protocols that provide reliable datagram service and user layer adaptations for SS7 and ISDN communications protocols.
..... Click the link for more information.
..... Click the link for more information.
transport layer is the second highest layer in the four and five layer TCP/IP reference models, where it responds to service requests from the application layer and issues service requests to the Internet layer.
..... Click the link for more information.
..... Click the link for more information.
computing protocols, see Protocol (computing). For protocols on two-way voice communications, see Voice procedure. For other meanings of the word protocol, see Protocol.
..... Click the link for more information.
..... Click the link for more information.
The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite. TCP provides reliable, in-order delivery of a stream of bytes, making it suitable for applications like file transfer and e-mail.
..... Click the link for more information.
..... Click the link for more information.
User Datagram Protocol (UDP) is one of the core protocols of the Internet protocol suite. Using UDP, programs on networked computers can send short messages sometimes known as datagrams (using Datagram Sockets) to one another.
..... Click the link for more information.
..... Click the link for more information.
In computer science, a byte stream is a bit stream, in which data bits are grouped into units, called bytes.
In computer networking the term octet stream is sometimes used to refer to the same thing; it emphasizes the use of bytes having the length of 8 bits, known as
..... Click the link for more information.
In computer networking the term octet stream is sometimes used to refer to the same thing; it emphasizes the use of bytes having the length of 8 bits, known as
..... Click the link for more information.
The public switched telephone network (PSTN) is the network of the world's public circuit-switched telephone networks, in much the same way that the Internet is the network of the world's public IP-based packet-switched networks.
..... Click the link for more information.
..... Click the link for more information.
Multihoming is a technique to increase the reliability of the Internet connection for an IP network. As an adjective, it is typically used to describe a customer, rather than an Internet service provider (ISP) network.
..... Click the link for more information.
..... Click the link for more information.
Head-of-line blocking (HOL) is a phenomenon that appears in buffered telecommunication network switches. A switch is usually made of buffered input ports, a switch fabric and buffered output ports.
..... Click the link for more information.
..... Click the link for more information.
Internet protocol may refer to:
..... Click the link for more information.
- The Internet Protocol, a data-oriented protocol used for communicating data across a packet-switched internetwork
- The Internet protocol suite, a set of communications protocols that implement the protocol stack on which the Internet runs
..... Click the link for more information.
SIGTRAN is the name given to an IETF working group that produced specifications for a family of protocols that provide reliable datagram service and user layer adaptations for SS7 and ISDN communications protocols.
..... Click the link for more information.
..... Click the link for more information.
diameter (Greek words diairo = divide and metro = measure) of a circle is any straight line segment that passes through the center of the circle and whose endpoints are on the circle. The diameters are the longest chords of the circle.
..... Click the link for more information.
..... Click the link for more information.
Reliable Server Pooling (RSerPool) is a computer protocol framework for server pool management and access. RSerPool is currently under standardization by the IETF RSerPool Working Group.
..... Click the link for more information.
..... Click the link for more information.
The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite. TCP provides reliable, in-order delivery of a stream of bytes, making it suitable for applications like file transfer and e-mail.
..... Click the link for more information.
..... Click the link for more information.
SYN flood is a form of denial-of-service attack in which an attacker sends a succession of
When a client attempts to start a TCP connection to a server, the client and server exchange a series of messages which normally runs
..... Click the link for more information.
SYN requests to a target's system.When a client attempts to start a TCP connection to a server, the client and server exchange a series of messages which normally runs
..... Click the link for more information.
The public switched telephone network (PSTN) is the network of the world's public circuit-switched telephone networks, in much the same way that the Internet is the network of the world's public IP-based packet-switched networks.
..... Click the link for more information.
..... Click the link for more information.
An operating system (OS) is the software that manages the sharing of the resources of a computer. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the
..... Click the link for more information.
..... Click the link for more information.
'
AIX (Advanced Interactive eXecutive) is the name given to a series of proprietary operating systems sold by IBM for several of its computer system platforms, based on UNIX System V while containing BSD extensions ("r" commands such as rlogin, rcp, rexec, etc.).
..... Click the link for more information.
AIX (Advanced Interactive eXecutive) is the name given to a series of proprietary operating systems sold by IBM for several of its computer system platforms, based on UNIX System V while containing BSD extensions ("r" commands such as rlogin, rcp, rexec, etc.).
..... Click the link for more information.
Berkeley Software Distribution (BSD, sometimes called Berkeley Unix) is the UNIX derivative distributed by the University of California, Berkeley, starting in the 1970s.
..... Click the link for more information.
..... Click the link for more information.
- For other uses, see Kame (disambiguation).
..... Click the link for more information.
Cisco IOS (originally Internetwork Operating System) is the software used on the vast majority of Cisco Systems routers and all current Cisco network switches. IOS is a package of routing, switching, internetworking and telecommunications functions tightly integrated with a
..... Click the link for more information.
..... Click the link for more information.
DragonFly BSD is a free Unix-like operating system created as a fork of FreeBSD 4.8. Matt Dillon, a FreeBSD and Amiga developer since 1994, began work on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on July 16, 2003.
..... Click the link for more information.
..... Click the link for more information.
FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4.4BSD operating systems.
..... Click the link for more information.
..... Click the link for more information.
Linux (pronunciation: IPA: /ˈlɪnʊks/, lin-uks) is a Unix-like computer operating system. Linux is one of the most prominent examples of free software and open source development; its underlying source code can be
..... Click the link for more information.
..... Click the link for more information.
QNX (pronounced either Q-N-X or Q-nix) is a commercial POSIX-compliant Unix-like real-time operating system, aimed primarily at the embedded systems market. As of the 12th of September 2007, the source of the QNX kernel has been released for non-commercial use.
..... Click the link for more information.
..... Click the link for more information.
The Solaris Operating System, usually known simply as Solaris, is a computer operating system developed by Sun Microsystems. It is certified against the Single Unix Specification as a version of Unix, and although historically a closed-source product, a majority of
..... Click the link for more information.
..... Click the link for more information.
The Stream Control Transmission Protocol packet structure has a simpler basic structure than TCP or UDP packets. Each consists of two basic sections:
..... Click the link for more information.
- The common header, which occupies the first 12 bytes and is highlighted in blue, and
- The
..... Click the link for more information.
Portable Document Format (PDF)
Adobe Reader displaying a PDF in Microsoft Windows Vista
File extension:
MIME type:
Type code: 'PDF ' (including a single space)
..... Click the link for more information.
Adobe Reader displaying a PDF in Microsoft Windows Vista
File extension:
.pdfMIME type:
application/pdfType code: 'PDF ' (including a single space)
..... Click the link for more information.
A management information base (MIB) stems from the OSI/ISO Network management model and is a type of database used to manage the devices in a communications network. It comprises a collection of objects in a (virtual) database used to manage entities (such as routers and switches)
..... Click the link for more information.
..... Click the link for more information.
This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus