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.