流控制传输协议(英语:Stream Control Transmission Protocol,缩写:SCTP)是在2000年由IETF的SIGTRAN工作组定义的一个传输层协议。RFC 4960详细地定义了SCTP,介绍性的文档是RFC 3286。
作为一个传输层协议,SCTP可以理解为和TCP及UDP相类似的。它提供的服务有点像TCP,又同时将UDP的一些优点相结合。是一种提供了可靠、高效、有序的数据传输协议。相比之下TCP是面向字节的,而SCTP是针对成帧的消息。
SCTP主要的贡献是对多重联外线路的支持,一个端点可以由多于一个 IP地址 组成,使得传输可在主机间或网卡间做到透明的网络容错备援。
SCTP最初是被设计用于在IP上传输电话协议(SS7),把 SS7 信令网络的一些可靠特性引入IP。IETF 的这方面的工作称为信令传输 SIGTRAN。
SCTP将数据传给应用层的方式,是将数据视为message(bytes的集合),SCTP的特征是message-oriented,意思就是说它发送的是一串message(每一个message是byte为单位的集合),相对于TCP是以byte为单位,发送的是破碎的流。在SCTP发送端用一个动作提交消息,接收端也是用一个动作取出消息传给对应的应用程序。相较于TCP,是一个流导向的协议,可靠地且有顺序地发送以bytes为单位的流。然而TCP并不允许接收端知道发送端的应用程序调用提交bytes集合的次数。在发送端TCP只是简单的附加更多bytes在queue里等待着送到网络上,而SCTP是将要提交的outband message都保有自己独立的queue。