流控制傳輸協議SCTP的分析與研究

學識都 人氣:9.27K
流控制傳輸協議SCTP的分析與研究 一、引言

SS7(Signaling System No.7)網絡和Internet網絡是兩個獨立的網絡,SS7用於傳輸電話信令,而Internet是基於分組交換的,用來傳輸數據業務。隨着IP網絡和SS7信令網各自業務的擴展,信令在IP網上的傳輸已經成爲了關鍵問題,而信令傳輸具有高可靠性低時延的要求。在IP網絡中,大部分的業務都是通過UDP或TCP來傳送的。UDP是無連接的傳輸協議,它能滿足低延遲的要求,但是它卻無法保證可靠傳輸。TCP能保證數據可靠傳輸,但是它也不能完全符合信令傳輸的要求;TCP套接字不支持多宿性;TCP是面向比特流的,將數據傳輸當作是沒有結構的字節序列。
因此,爲了滿足信令傳輸的要求,IETF的SIGTRAN(Signaling Transport Group)組提出了一種新的傳輸層協議─SCTP(Stream Control Transport Protoco1)。

二、SCTP基本概念

1.多宿性
多宿是指一個SCTP 端點可以通過多個IP地址到達,這樣兩個SCTP端點在建立了偶聯後,數據可以通過不同的物理通路進行傳送。
ATM 交換機偶聯的兩個端點A和B各自綁定兩塊不同的IP地址的接口卡,通過衛星電路和ATM兩種方式連接。其中一個地址被置爲首選,另一個則作爲可選,當首選通路出現錯誤時可以通過可選通路繼續進行數據傳輸而不會導致傳輸中斷,直到首選通路恢復。上層應用可以顯式聲明使用可選通路,丟包重傳也可以在可選通路上進行。
2.多流性
SCTP通過數據傳輸和數據遞交相互獨立來實現多流特性。每個DATA數據塊在協議中使用兩套順序號:傳送順序號TSN和流順序號SSN。當一個用戶消息被分段後,必須在該消息的每個分段中帶有相同的SSN,這樣才能從一個流中分辨出不同的消息。當用戶消息被分段到各個DATA塊中,接收方就要使用TSN對消息進行消息重組,即被分段的用戶消息的各段必須使用連續的TSN。SCTP允許數據接收端確定TSN是否出現間隔,以及在間隔後收到的消息是否屬於同一個被影響的流中。如果TSN出現間隔,SSN也出現相應的`間隔,則收到的消息就在被影響的流中,否則SSN不會出現相應間隔。接收方可以繼續在未受影響的流中傳送消息,僅緩衝被影響的流直到被重傳,各流相互獨立,解決了在TCP單流中容易出現的隊頭阻塞現象。
3.阻塞控制機制
SCTP阻塞控制同樣是基於速率自適應窗口的機制,通過重傳的方式提供可靠的數據傳輸。SCTP和TCP的阻塞控制機制有幾點不同:
(1)SCTP採用與TCP相似的基於SACK間隔報告的快速重傳機制,但SCTP沒有一個顯式快速恢復階段,藉助SACK塊SCTP自動進入快速恢復。
(2)SCTP強制使用SACK,在TCP中SACK的使用是可選的。在遇到單個數據窗口發生連續丟包時,SCTP更爲健壯,避免了耗時的慢啓動階段,節省了帶寬,同時提高了吞吐量。
(3)SCTP在慢啓動或阻塞避免時,阻塞窗口大小隨着確認字節增加,而TCP中則是隨着接收到的確認字段增加。SCTP改善了在長傳輸延遲的環境下(如衛星鏈路)的傳輸性能。
(4)SCTP在阻塞避免時,阻塞窗口只有在整個窗口被充分利用才增加其大小。此外,如果SCTP端點保持一個低的發送速率,而沒有充分利用阻塞窗口,這時網絡不會產生丟包指示,阻塞窗口不斷增大,此時發送端突然發送一個超過阻塞窗口的突發數據流,結果會造成網絡更加阻塞。

流控制傳輸協議SCTP的分析與研究

下一頁