Protocol notes for this page (click to expand)

SCTP (Stream Control Transmission Protocol)

What it is for

★★★ It supplies two things neither TCP nor UDP gives:

· multi-streaming: several independently ordered streams in one association, so a loss stalls only its own;
· multi-homing: one association bound to several addresses, surviving the loss of a path.

★★ QUIC eventually did the first (a decade later); not even QUIC does the second.

★★★ Multi-homing is not QUIC's connection migration

★★★★ The difference is holding several paths at once:

· QUIC *moves* address -- one path at a time, carried over when the network changes;
· SCTP binds several addresses *simultaneously*, heartbeats them continuously and fails over immediately, with nothing to renegotiate.

★★ Which is why telecom signalling uses it: there, a link failure must be invisible to the service.

★ Common misconceptions

★★★ "SCTP failed" -- it is the standard choice in carrier signalling (Diameter, S1AP/NGAP) and runs there every day. It simply never entered the public internet.

★★★★ "It lost on technical merit" -- no, it could not get through: NAT and firewalls know TCP and UDP, and a new protocol number is mostly dropped.

★★ "Streams are just several connections" -- no: one handshake, one congestion controller, and extra streams cost nothing.