SCTP (Stream Control Transmission Protocol)
干什么用的
★★★ 它补上了 TCP 和 UDP 都没给的两样东西:
· 多流 —— 一条连接里几条各自有序的流,丢包只堵自己那条;
· 多宿主 —— 一条连接绑多个 IP,一条路断了换另一条,连接不断。
★★ 第一样 QUIC 后来也做了(晚了十几年),第二样连 QUIC 都没有。
★★★ 多宿主和 QUIC 的连接迁移不是一回事
★★★★ 差别在同时持有几条路:
· QUIC 是换地址 —— 一次走一条,换网时把连接搬过去;
· SCTP 是同时绑好几个地址,靠心跳一直探着,主路径一断立刻切,不用重新协商。
★★ 所以电信信令面用它:那里要的是「链路故障对业务不可见」。
★ 常见误解
★★★ 「SCTP 是失败的协议」 —— 它在运营商信令面(Diameter、S1AP / NGAP)是标准选择,一直在跑。它只是没进公网。
★★★★ 「没流行是因为技术不够好」 —— 不是,是过不去:NAT 和防火墙只认 TCP/UDP,新协议号在公网上八成被丢。
★★ 「多流就是多条连接」 —— 不是,一次握手、一套拥塞控制,开几条流不要额外代价。