SCTP(Stream Control Transmission Protocol,流控制傳輸協議),是提供基於不可靠傳輸業務的協議之上的可靠的數據報傳輸協議。SCTP是一個面向連接的流傳輸協議,它可以在兩個端點之間提供穩定、有序的數據傳遞服務。SCTP可以看做是TCP協議的改進,它繼承了TCP較爲完善的擁塞控制並改進TCP的一些不足之處。
從可靠性,安全性,複雜度三個方面,這裏對TCP/UDP/SCTP做一個比較,
1. 可靠程度:
UDP:不可靠(因爲沒有確認機制)
TCP:可靠(有三次握手確認機制)
SCTP:非常可靠(四次確認機制)
2. 安全性:
UDP:不安全(沒有什麼保護措施)
TCP:一般安全
SCTP:很安全(特意針對TCP的安全缺陷和不足作了改進)
3.複雜度:
UDP:很方便,因爲步驟少,沒有什麼要等的;
TCP:一般方便:三次握手確認,安全保護等;
SCTP:很不方便,處理步驟流程複雜,因此,一般用於系統內部模塊或者網元之間通訊。
S1接口控制面使用SCTP的原因主要是由控制面的特點決定的,由於通信系統中,信令都是要求傳輸的可靠性需要有高度保證,而UDP的問題在於沒有可靠性保證自然首先被信令面淘汰,TCP儘管是面向連接,而且有確認機制,但是TCP在擁塞控制,實時性,以及防止攻擊方面做的比較差,而SCTP的設計包括適當的擁塞控制、防止氾濫和僞裝攻擊、更優的實時性能,綜合比較這些傳輸協議,EPC的信令面設計的時候,選取了更爲可靠的SCTP作爲傳輸協議。
而S1接口用戶面使用UDP,因爲數據面的傳輸數據相比信令數據,可靠性的要求相對比較低,而數據處理的實時性則要求比較高,這樣導致,傳輸協議需要實現簡單,以便快速進行數據的處理轉發,這樣纔可能滿足LTE設計之處的時延要求。綜合比較UDP/SCTP/TCP協議,自然UDP是比較符合數據面的設計需求的。