What is SCTP?
“In computer networking, the Stream Control Transmission Protocol (SCTP) is a Transport Layer protocol, serving in a similar role as the popular protocols Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). It provides some of the same service features of both, ensuring reliable, in-sequence transport of messages with congestion control.
The protocol was defined by the IETF Signaling Transport (SIGTRAN) working group in 2000, and is maintained by the IETF Transport Area (TSVWG) working group. RFC 4960 defines the protocol. RFC 3286 provides an introduction.”
Why should I care?
It’s record oriented, has separate message and control channels, but mostly importantly it allows each end of a “stream” to be multi-homed, something which is very important in the larger IPv6 and/or mobile worlds.
It was an outgrowth of the work on SS7. It’s also a sort of hybrid of UDP and TCP, which is similar to how we ended up growing our own reliable UDP.
In theory, it looks ideal for the next generation of CygNet. In the real world, of course, things can look very different. I’m not suggesting that we do anything other than look closely at it for possible exploitation, and or lessons.
Definitely read the article.
Some Other Articles
- Implementations: http://www.sctp.org/implementations.html
- Windows driver: http://www.bluestop.org/SctpDrv/
- Why is SCTP needed given TCP and UDP are widely available? - http://www.isoc.org/briefings/017/
- Some really fascinating numbers about performance and reliability: http://www.docstoc.com/docs/2392995/Analysis-of-SCTP-as-a-Online-Game-Transport-Protocol