流控制傳輸協議

串流控制傳輸協議 （ 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 。