流控制傳輸協議(SCTP),SCTP的結構和內容是什么?
流控制傳輸協議(SCTP),SCTP的結構和內容是什么?
隨著IP網向多業務網的發展,尤其是近年來VoIP的發展,在IP網中傳遞信令消息成為必然。而在IP網中不能提供類似MTP3和ATM這種高質量的傳輸業務,于是ITU-T提出了SSCOP的改進版本—多鏈路和無連接環境中的SSCOP(SSCOPMCE),用于在基于IP的網絡中傳輸信令消息。但是,SSCOPMCE較之SSCOP只是附加定義了與IP和UDP的適配接口,并未針對IP網相對ATM網高得多的丟失率和時延等特性,在流量控制和差錯控制機制方面做出什么改變。因而,SSCOPMCE實際上只能在有一定傳輸質量保證的內部或專用IP網上使用 其他一些研究機構則提出了新的IP網絡上用于傳輸信令的協議,如可靠信令傳輸協議RSTP。
IETF的信令傳輸工作組(SIGTRAN)則正在定義和完善另一種傳輸信令消息的機制,這就是剛剛成為IETFRFC的流控制傳輸協議(SCTP)。該協議使得信令消息在一個基于IP的公共分組交換網上完成交換,流量控制和差錯控制被端到端地執行,有效性的提高則通過使用一簇“應用服務器過程”(Application Processes)和“多宿節點”Multi-homed nodes得以實現。這樣,利用SCTP,用戶平面和控制平面上的業務流都能在單一的IP網上傳輸。
一、流控制傳輸協議(SCTP)概述
目前IP網中的信令消息交換通常是使用UDP或TCP來完成。但這兩者都不能完全滿足電信網中信令承載的要求。
UDP是基于消息的,提供快速的無連接業務。這使其適合于傳輸時延敏感的信令消息。但是,UDP本身僅提供不可靠的數據報業務。而差錯控制,包括消息順序、消息重復檢測和丟失消息重傳等,只能由上層應用來完成。
TCP雖然提供了差錯和流量控制,但對于傳輸信令消息來說,卻存在著諸多缺陷:
TCP是面向字節流的。這意味著消息的描述必需由應用來完成,而且要在消息結束時顯式通知TCP以迫使其立即發送相應的字節數據;
許多應用只需要信令消息的部分有序,例如屬于同一呼叫或同一會話的消息就是這樣。而TCP只提供嚴格的數據按序傳輸,這會導致不必要的隊頭阻塞并使消息的傳輸時延增大;
TCP連接直接由一對傳輸地址(IP地址和端口號)識別,從而無法提供對多宿主機的透明支持;
典型的TCP實現不允許高層應用設定協議控制參數。但是一些應用可能會需要調節傳輸協議的屬性以滿足其特定要求,例如某些信令協議有較高的時延要求,而另一些信令協議則只要求較高的可靠性。 而SCTP和發展了UDP和TCP兩種協議的長處。它一方面增強了UDP業務并提供數據報的可靠傳輸;另一方面,SCTP的協議行為類似于TCP并試圖克服TCP的某些局限。正如IETF RFC2960中定義的:SCTP是可靠數據報傳輸協議,它運行于提供不可靠傳遞的分組網絡上,如IP網。它向用戶提供下列服務:
用戶數據無錯誤無重復的確認傳輸;根據檢測到的MTU長度進行用戶數據分段處理,避免IP層的分段;在多個流(stream)間的用戶消息有序遞交,及單獨用戶消息按到達順序遞交的選項;可選的多個用戶消息至SCTP數據報的復用;通過支持一個關聯的一方或雙方節點的多宿特性,實現網絡級容錯。 SCTP的設計目標包括恰當的擁塞避免特性以及對泛洪和偽裝攻擊的抵抗力。
流控制傳輸協議SCTP名稱中的“流”(stream)是指本協議能夠處理每個關聯中的若干個用戶數據報流,并且為每個流中的用戶數據報提供有序傳送。流子層的存在使得其他流中數據丟失造成的隊頭阻塞情況得以避免。
用戶數據無錯誤無重復的確認傳輸通過分組序列間隙報告和選擇性重發來實現。SCTP采用了與TCP基本類同的流量控制和擁塞控制算法,引用了慢啟動機制。只是在數據分組的確認和重傳機制上,明確將選擇性確認作為標準的一部分,規范了選擇性重傳和快速恢復機制。
1.協議結構
RFC2960將SCTP協議分解為功能性獨立的模塊,并模型化了與操作系統功能的接口(例如定時器)。這種分解對于協議實現時的結構化程序開發很有好處。
一個SCTP系統實例包含下述模塊:
(1)消息驗證和分發,驗證SCTP數據報并識別其相應的關聯。
(2)路徑管理,監視一個關聯對端的不同傳輸地址的可達性。
(3)復用/解復用,復用/解復用一個關聯的若干個數據和控制數據塊到/從一個SCTP數據報中,該數據報是在一個IP分組中被傳輸的。
(4)窗口和流量控制,實現類似TCP的流控和擁塞避免機制。
(5)SCTP控制,用于控制關聯的狀態
(6)可靠傳輸,緩沖存儲發出的消息直到其被關聯對端確認接受,并在必要時發起重傳。
(7)接收控制,監視所有的到達消息,生成所需的確認控制數據塊。
(8)流引擎,實現各個流的用戶數據報順序提交,并在必要時完成對過長用戶數據報的分段和重裝。
2.SCTP關聯
與TCP類似,SCTP也是面向連接的。但是,SCTP中的關聯概念要比TCP中的連接概念含義更廣。一個關聯的兩個SCTP端點都向對方提供一個SCTP端口號和一個I[地址列表,這樣每個關聯都由兩個SCTP端口號和兩個IP地址列表來識別。在一個關聯內的擁塞控制機制與TCP的擁塞控制機制類似。
一個“關聯”Association是由多個單向的“流”(Stream)組成的。各個流之間相對獨立,可以單獨發送數據而不受其它流的影響,也可以共同實現用戶數據的有序遞交。流的建立和拆除過程相對獨立、簡單。而關聯的建立過程相對而言就比較復雜,是個“四次握手”過程,而且其中要用到cookie的概念。所謂cookie實際就是一個含有端點初始信息和加密信息的數據塊,在關聯建立時被涉及的雙方處理并交換。引入這種機制的目的在于增強協議的安全性,防止拒絕服務(Denial of Service)和偽裝等潛在的攻擊。
3.故障管理
SCTP提供了較TCP強大得多的路徑狀態監控功能。其引入的“多宿主機”概念,使得一個連接可以在多個傳輸路徑間選擇和切換,提高了網絡級容錯的能力。SCTP定義了Heartbeat消息。當某路徑空閑時,就會有相應的Heartbeat消息生成并發送到對端,而對端必須立即發回相應的確認消息。這種機制被用來精確測量回路時延RTT,而且可以隨時監視鏈路的可用情況并保持鏈路的激活狀態。Heartbeat消息的發送間隔可以根據用戶的需求而靈活改變。
此外,數據報重發的數目在兩個級別上被進行統計。路徑級,或者說流級的重發次數統計用于確定此路徑是否處于非激活狀態。而關聯級的統計用于判定某個遠端端點的可達性。
SCTP的應用
1.IP網上七號信令傳輸的總體框架
IETF提出的IP網上傳輸七號信令的總體框架在RFC2719中進行了描述。SCTP在信令傳輸方面的主要應用是在信令網關(SG)和媒體網關控制器(MGC)之間傳輸ISUP消息。SG是位于SS7網絡和IP網絡之間的網關,它處理所有的MTP相關的任務,但不包括SS7用戶部分。這個用戶部分(典型的是ISUP)位于MGC內部,MGC和SG通信并通過IP網來控制媒體網關(MG)。一個MGC可以與多個SG關聯在一起,已達到冗余和可能的負載分擔的目的。在這種框架之下,從基于MTP的網絡來看,SG可以被看作是信令傳輸點(STP),而MGC可以被看作是信令端點(SEP)。通過使用SG,MGC可以與MTP網絡中的SEP互相透明地進行通信。利用基于IP的信令傳輸,使得建立無MTP協議棧的業務控制點(SCP)成為可能。這樣,ISUP消息就可以在SG和SCP之間傳輸。
2.應用服務器簇
雖然SCTP是試圖克服TCP的某些局限并作為通用傳輸協議來設計的,但用于IP網上的信令消息傳輸是SIGTRAN工作組內開發SCTP的一個主要動力。僅利用多宿節點主機和SCTP的相應特性,還不足以滿足SS7網絡苛刻的可靠性要求,因為它必須避免單節點失效。因而SIGTRAN組中討論的上層協議(ULP)要使用“應用服務器過程(ASP)”簇的概念。這個簇被稱為“應用服務器(AS)”,ULP提供功能實體來管理這些簇,也就是說,有控制消息可以使得某個ASP中止或者激活等。值得指出的是,有可能在不同的主機上運行一個AS的多個ASP。此外,還可能實現一個AS的多個ASP之間的負載分擔。在上面提到的互通結構中,一個AS對應于一個MGC。通過在不同主機上的運行這個AS的多個ASP,就可以得到一個分布式的MGC。
3.SCTP的上層協議適配層
適配層的定義使得可利用基于IP的信令傳輸協議而不影響上層接口。例如,要將ISUP消息在IP網絡上傳輸,ISUP本身不必作任何改動。為了傳輸SCCP和ISUP消息,MTP第三層(MTP3)和SS7用戶部分之間的原語必須被傳輸。除M3UA之外,用于MTP2的適配層M2UA、ISUP的適配層IUA和SCCP的適配層SUA也已被定義。M2UA提供MTP2和MTP3之間原語的傳輸,IUA和SUA分別使ISUP和SCCP用戶消息能夠直接被SCTP承載傳輸。
非常好我支持^.^
(127) 41.1%
不好我反對
(182) 58.9%
相關閱讀:
- [處理器/DSP] Codasip發布適用于定制計算的新一代RISC-V處理器系列產品 2023-10-24
- [電子說] 環旭電子推出Pisces企業級無線路由器助力企業應對高密度數據挑戰 2023-10-24
- [電子說] 思爾芯原型驗證助力香山RISC-V處理器迭代加速 2023-10-24
- [電子說] iTR機器人iScrubbot系列清潔機器人實現數字化管理 2023-10-24
- [電源/新能源] PicoScope OEM應用分享—電源時序測試 2023-10-24
- [處理器/DSP] 國內外龍頭RISC-V布局情況分析 2023-10-24
- [電子說] 多路徑和iSCSI SAN存儲技術介紹 2023-10-24
- [電子說] RISC-V要顛覆GPU嗎? 2023-10-24
( 發表人:admin )