一、概述
流量控制傳輸協(xié)議(SCTP,Stream Control Transmission Protocol)主要用于在IP網(wǎng)中傳送公用交換電話網(wǎng)(PSTN)的信令消息和IP網(wǎng)內(nèi)的信令消息。是互聯(lián)網(wǎng)(Internet)上一個非常重要的傳輸協(xié)議。
1、SCTP協(xié)議的由來
我們知道,在互聯(lián)網(wǎng)的傳輸協(xié)議中,最早使用的是傳輸控制協(xié)議(TCP,Transmission Control Protocol),稱之為TCP/IP協(xié)議。TCP (最早于1980年1月由IETF發(fā)布的RFC 761規(guī)定)作為IP網(wǎng)絡(luò)中可靠數(shù)據(jù)傳輸?shù)闹匾侄危呀?jīng)完成了大量的服務(wù)。然而,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的應(yīng)用發(fā)現(xiàn)TCP限制太大(可參見下表1-1-1的描述),并在UDP(RFC 768)之上合并了自己的可靠數(shù)據(jù)傳輸協(xié)議。 因此需要開發(fā)一種新的傳輸協(xié)議來繞過這些限制,這就導(dǎo)致了流量控制傳輸協(xié)議(SCTP)的出現(xiàn)。在SCTP成為標(biāo)準(zhǔn)之后,IETF致力于把它作為一種通用的協(xié)議推廣。
表 1-1-1:TCP的限制因素
欲具體了解TCP協(xié)議介紹的請進(jìn)入。
在IP網(wǎng)絡(luò)上傳輸PSTN信令是TCP所有這些限制都相關(guān)的應(yīng)用。雖然這個應(yīng)用直接推動了SCTP的開發(fā),但其他應(yīng)用可能會發(fā)現(xiàn)SCTP很好地滿足了它們的需求。
由此,在互聯(lián)網(wǎng)傳輸協(xié)議中,SCTP、TCP、UDP是IP網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)娜N傳輸協(xié)議。它們處于同一層次,使用下層網(wǎng)絡(luò)層的無連接包轉(zhuǎn)發(fā)服務(wù),并向上層應(yīng)用層提供端到端的傳輸服務(wù)。傳輸控制協(xié)議(TCP,Transmission Control Protocol)用于對數(shù)據(jù)的可靠傳輸,但是其局限問題限制了數(shù)據(jù)的遞交;用戶數(shù)據(jù)報協(xié)議(UDP,User Datagram Protocol)提供非可靠數(shù)據(jù)傳輸,對TCP不友好,容易造成網(wǎng)絡(luò)擁塞;流量控制傳輸協(xié)議(SCTP,Stream Control Transmission Protocol)的功能特點規(guī)定了它的適用性:適于無序和有序消息的可靠傳輸,同時通過對多穴主機的支持實現(xiàn)網(wǎng)絡(luò)級的容錯。下表1-1-2給出了SCTP、TCP、UDP這3種傳輸協(xié)議的特點比較;下表1-1-3進(jìn)一步給出了SCTP與TCP間的特性簡單對比。
表1-1-2:SCTP、TCP、UDP這3種協(xié)議的特點比較
表 1-1-3:SCTP與TCP間的特性對比
2、SCTP協(xié)議的版本情況
于是,互聯(lián)網(wǎng)工程任務(wù)組(IETF)在2000年10月發(fā)布了RFC 2960《Stream Control Transmission Protocol》標(biāo)準(zhǔn),設(shè)計用于在IP網(wǎng)絡(luò)傳輸PSTN信令消息,但也能夠有更廣泛地應(yīng)用,例如Web RTC。目前,RFC 2960在2002年9月被RFC 3309進(jìn)行了部分更新;RFC 2960在2007年9月被RFC 4960進(jìn)行了替代更新;而后RFC 4960在2022年6月又被RFC 9260進(jìn)行了第二次替代更新。RFC 9260取代了RFC 4960. 并結(jié)合了RFC 6096中塊標(biāo)志注冊表的規(guī)范和RFC 7053中I比特DATA塊的規(guī)范。上述SCTP各版本的內(nèi)容變化情況匯總于下表1-2中。
表 1-2:SCTP協(xié)議版本的內(nèi)容變化情況
欲更多了解IETF的RFC文檔情況介紹的請進(jìn)入。
二、SCTP協(xié)議
1、簡述
SCTP最先用于傳送信令,其多流特性對電話信令的傳輸尤其適合,因為不是所有的信令消息都需要嚴(yán)格有序。只有那些與相同資源相關(guān)的信令(如同一呼叫,同一信道)才需要有序,而且由于其網(wǎng)絡(luò)級容錯特點(類似于提供迂回路由),可以保證信令傳輸?shù)母呖煽啃浴R驗?/span>SCTP能實現(xiàn)TCP及其各種主流改進(jìn)版本的所有功能,并且彌補了TCP、UDP的一些不足,同時還具備一些更適宜數(shù)據(jù)健壯傳輸?shù)男绿攸c,所以獲得了泛的應(yīng)用。同時,SCTP協(xié)議本身也在不斷完善和擴充,其作為一種通用傳輸協(xié)議的優(yōu)點正在越來越多地顯現(xiàn)出來。
和TCP類似,SCTP是面向連接、端到端、全雙工、帶有流量和擁塞控制的可靠傳輸協(xié)議。SCTP的連接稱為關(guān)聯(lián)。SCTP的關(guān)聯(lián)通過4次握手建立。相對于TCP的3次握手建立連接,SCTP的關(guān)聯(lián)能夠抵御拒絕服務(wù)(DoS)攻擊,從而提高了安全性。數(shù)據(jù)只有在關(guān)聯(lián)建立之后與關(guān)聯(lián)關(guān)閉之前才可發(fā)送。SCTP的關(guān)聯(lián)通過3次握手關(guān)閉,不支持類似TCP的半關(guān)閉連接。也就是在任何一方關(guān)閉關(guān)聯(lián)后,對方即不再發(fā)送數(shù)據(jù)。
SCTP是一種面向消息的傳輸協(xié)議,從上層應(yīng)用傳遞下來的數(shù)據(jù)以消息的形式傳輸。SCTP提供消息的定界功能。在接收端,數(shù)據(jù)以消息的形式遞交。為便于傳輸,SCTP提供消息的拆分和組裝,以及消息的捆綁傳輸功能。SCTP的一個主要特點是支持多穴主機。SCTP關(guān)聯(lián)的每個端點都可以擁有多個網(wǎng)絡(luò)層地址。SCTP的另一主要特點是多流。SCTP消息在不同的流內(nèi)發(fā)送,這也是流傳輸控制協(xié)議名稱的由來。從發(fā)送端到接收端可以有多個流,在同一流內(nèi)發(fā)送的消息有序,而不同流之間的消息無序,因此不同流之間的消息傳輸是相對獨立的。在某一個流內(nèi)由于數(shù)據(jù)傳輸失敗而引起的阻塞不會影響其他流的消息遞交。SCTP仍然采用類似TCP的流量控制和擁塞控制機制,但又有所增強。整個傳輸分為慢啟動階段和擁塞避免階段。
2、關(guān)于SCTP的偶聯(lián)機制
偶聯(lián)機制是SCTP的一大突出功能。SCTP 偶聯(lián)實際上是在兩個 SCTP 端點間的一個對應(yīng)關(guān)系,它包括了兩個 SCTP 端點、以及包括驗證標(biāo)簽和傳送順序號碼等信息在內(nèi)的協(xié)議狀態(tài)信息,一個偶聯(lián)可以由使用該偶聯(lián)的 SCTP 端點用傳送地址來惟一識別,在任何時候兩個 SCTP 端點間都不會有多于一個的偶聯(lián)。利用 SCTP偶聯(lián)的機制(在偶聯(lián)的一端或兩端提供多歸屬的機制)來提供網(wǎng)絡(luò)級的保證。
SCTP 實際上是一個面向連接的協(xié)議,但 SCTP 偶聯(lián)的概念要比 TCP 的連接具有更廣的概念,SCTP 協(xié)議提供了在兩個 SCTP 端點間的一組傳送地址之間建立偶聯(lián)的方法,通過這些建立好的偶聯(lián),SCTP 端點可以發(fā)送 SCTP 分組。一個 SCTP偶聯(lián)可以包含用多個可能的起源/目的地地址的組合,這些組合包含在每個端點的傳送地址列表中。下圖 2-2 給出了 SCTP 偶聯(lián)在 IP 網(wǎng)絡(luò)協(xié)議中的示意。
圖 2-2:SCTP 偶聯(lián)在 IP 網(wǎng)絡(luò)協(xié)議中的示意
3、SCTP協(xié)議內(nèi)容
SCTP的一些主要功能詳見下表2-3。若要詳細(xì)了解RFC 9260標(biāo)準(zhǔn)具體內(nèi)容的請查詢下附件2。
表 2-3:SCTP的主要功能
附件 2:RFC 9260(06/2022)《Stream Control Transmission Protocol》
三、SCTP協(xié)議的國內(nèi)轉(zhuǎn)化情況
我國在2002年6月參照RFC 2960標(biāo)準(zhǔn)轉(zhuǎn)化為國內(nèi)的標(biāo)準(zhǔn),即YD/T 1194-2002《流控制傳送協(xié)議(SCTP)》,它規(guī)定了流控制傳送協(xié)議(SCTP)所使用的消息格式、編碼和程序。該協(xié)議主要用于在IP網(wǎng)中傳送PSTN的信令消息和IP網(wǎng)內(nèi)的信令消息;主要適用于完成No.7信令與IP網(wǎng)互通的信令網(wǎng)關(guān)(SG)設(shè)備,以及IP網(wǎng)用于呼叫控制的軟交換(Soft-Switch)交換機等設(shè)備的開發(fā)、生產(chǎn)、引進(jìn)和購買。YD/T 1194-2002目前沒有進(jìn)一步的更新,但仍然有效。若要詳細(xì)了解該通信行業(yè)標(biāo)準(zhǔn)具體內(nèi)容的可查詢下附件3。
附件 4:YD/T 1194-2002《流控制傳送協(xié)議(SCTP)》
欲進(jìn)一步了解因特網(wǎng)協(xié)議介紹的請進(jìn)入。