This book describes, from the two primary designers' view, the design and operation of the Stream Control Transmission Protocol (SCTP)--a new general-purpose IP transport protocol recently standardized by the Internet Engineering Task Force (IETF).
For those who are familiar with TCP/IP networking, SCTP can be simply viewed as a "super-TCP," that is, a TCP-like, general-purpose reliable data transport protocol with an enhanced set of capabilities.
SCTP is a key piece of the puzzle for making IP a truly viable technology choice in building the next-generation commercial grade infrastructure for telecommunications and e-commerce. For instance, SCTP has been required by the 3rd Generation Partnership Project (3GPP) to carry call signaling traffic in the third-generation cellular systems, and recommended by the IETF to carry the mission-critical Authentication, Authorization, and Accounting (AAA) messages in any future IP service networks.
Telecommunications Magazine selected SCTP as one of the "10 Hottest Technologies of Year 2001" in a cover story in its May 2001 issue.
Why Do We Need SCTP?
The basic design of TCP/IP has worked remarkably well and remained largely unchanged. All the while the Internet has gone through its exponential growth, from a network of only a few nodes connecting a few university campuses, to a truly global Internet with tens of millions of hosts.
The Internet's explosive growth, witnessed by the nineties, continues into the new millennium. At the same time, IP technology has been steadily transforming itself into a cornerstone of the new information-era economy. One of the most visible results of this transformation is that IP technology is beginning to see more and more commercial uses. This is in sharp contrast to the seventies and eighties, when almost the only mention of TCP/IP was heard in academic and research communities.
It is inevitable that this commercialization process has brought with it new requirements to the technology. The original design of TCP, which was conceived and incubated in a mostly academic and research environment, has started to show its limitations in meeting some of these new commercial requirements.
It is this commercialization challenge on IP technology that has brought on the birth of SCTP.
When we first brought the original idea of SCTP (then called MDTP) to the IETF, we were trying to create a protocol to solve a very particular and practical problem; that is, how to transport telephony signaling messages using IP technology in commercial-grade systems. But, at the end of the process, the success of SCTP has grown far beyond our widest expectations.
Readers
This book is written with two different groups of readers in mind. The first group consists of those who want to understand SCTP. These readers may include programmers who need to work with SCTP, managers who want to make informed decisions about SCTP, students who want to learn the basics of SCTP, etcetera. For them, this book can serve as an easy-to-read alternative to the IETF standards specification.
In this book they will find not only detailed explanations of all the basic parts and operations of the protocol, often accompanied by a good deal of examples and diagrams, but also a thorough item-by-item comparison between functions of SCTP and TCP/UDP. Some of the chapters also give this group of readers guidance on which parts of the chapter they can safely skip without hindering their understanding of the general protocol operation.
The second group of readers we have in mind consists of the implementers of SCTP. For them, this book can be used as an annotation to the IETF standards specification. It is our hope that they will find some helpful clarifications of certain complex internal mechanisms of the protocol through the examples and illustrations we put in the book. Moreover, the recounts we have in the book on many important IETF debates and consensus-building processes may give them some insight into the protocol design. This in turn may improve their understanding over the rationale behind those same key design decisions.
Prerequisites
We assume that the readers have preliminary knowledge about TCP/IP and IP networking. (An excellent book for this is W. Richard Stevens' and Gary R. Wright's The TCP/IP Illustrated, Volume 1: The Protocols, published by Addison-Wesley.) Moreover, some experience with C programming and Unix systems will be very helpful, though it is not an absolute requirement.
For those who would like to refresh their knowledge of IP networking, we have a short review of the IP networking basics at the beginning of Chapter 1.
Coverage
This book covers all aspects of SCTP standards as defined in the IETF's Request for Comments 2960 (RFC2960) (Stewart et al. 2000). We also include a preview of the proposed SCTP sockets API (application programming interface) extension, which is a work in progress in the IETF.
A CD-ROM containing the open-source user-space SCTP reference implementation is included in this book. Readers who want to read the reference implementation code can find a chapter at the end of the book explaining the overall design and internal structures of the code. This code has been compiled and tested with FreeBSD 4.2, Linux 2.2.17 and 2.4.1, and Solaris 2.8.1 operating systems. Updates and new releases of this open-source SCTP reference implementation can be found at http://www.sctp.org.
For those interested in doing experiments with the SCTP reference implementation, a good tool to use to capture and analyze SCTP traffic is the Ethereal Network Analyzer, which is freely downloadable from http://www.ethereal.com.
0201721864P10152001