您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>傳輸網(wǎng)/接入網(wǎng)/交換網(wǎng)>

流控制傳輸協(xié)議(SCTP),SCTP的結(jié)構(gòu)和內(nèi)容是什么?

2010年03月20日 15:08 ttokpm.com 作者:佚名 用戶評(píng)論(0
關(guān)鍵字:sc(30005)

流控制傳輸協(xié)議(SCTP),SCTP的結(jié)構(gòu)和內(nèi)容是什么?

隨著IP網(wǎng)向多業(yè)務(wù)網(wǎng)的發(fā)展,尤其是近年來(lái)VoIP的發(fā)展,在IP網(wǎng)中傳遞信令消息成為必然。而在IP網(wǎng)中不能提供類似MTP3和ATM這種高質(zhì)量的傳輸業(yè)務(wù),于是ITU-T提出了SSCOP的改進(jìn)版本—多鏈路和無(wú)連接環(huán)境中的SSCOP(SSCOPMCE),用于在基于IP的網(wǎng)絡(luò)中傳輸信令消息。但是,SSCOPMCE較之SSCOP只是附加定義了與IP和UDP的適配接口,并未針對(duì)IP網(wǎng)相對(duì)ATM網(wǎng)高得多的丟失率和時(shí)延等特性,在流量控制和差錯(cuò)控制機(jī)制方面做出什么改變。因而,SSCOPMCE實(shí)際上只能在有一定傳輸質(zhì)量保證的內(nèi)部或?qū)S肐P網(wǎng)上使用 其他一些研究機(jī)構(gòu)則提出了新的IP網(wǎng)絡(luò)上用于傳輸信令的協(xié)議,如可靠信令傳輸協(xié)議RSTP。


IETF的信令傳輸工作組(SIGTRAN)則正在定義和完善另一種傳輸信令消息的機(jī)制,這就是剛剛成為IETFRFC的流控制傳輸協(xié)議(SCTP)。該協(xié)議使得信令消息在一個(gè)基于IP的公共分組交換網(wǎng)上完成交換,流量控制和差錯(cuò)控制被端到端地執(zhí)行,有效性的提高則通過(guò)使用一簇“應(yīng)用服務(wù)器過(guò)程”(Application Processes)和“多宿節(jié)點(diǎn)”Multi-h(huán)omed nodes得以實(shí)現(xiàn)。這樣,利用SCTP,用戶平面和控制平面上的業(yè)務(wù)流都能在單一的IP網(wǎng)上傳輸。


一、流控制傳輸協(xié)議(SCTP)概述


目前IP網(wǎng)中的信令消息交換通常是使用UDP或TCP來(lái)完成。但這兩者都不能完全滿足電信網(wǎng)中信令承載的要求。


UDP是基于消息的,提供快速的無(wú)連接業(yè)務(wù)。這使其適合于傳輸時(shí)延敏感的信令消息。但是,UDP本身僅提供不可靠的數(shù)據(jù)報(bào)業(yè)務(wù)。而差錯(cuò)控制,包括消息順序、消息重復(fù)檢測(cè)和丟失消息重傳等,只能由上層應(yīng)用來(lái)完成。


TCP雖然提供了差錯(cuò)和流量控制,但對(duì)于傳輸信令消息來(lái)說(shuō),卻存在著諸多缺陷:


TCP是面向字節(jié)流的。這意味著消息的描述必需由應(yīng)用來(lái)完成,而且要在消息結(jié)束時(shí)顯式通知TCP以迫使其立即發(fā)送相應(yīng)的字節(jié)數(shù)據(jù);

許多應(yīng)用只需要信令消息的部分有序,例如屬于同一呼叫或同一會(huì)話的消息就是這樣。而TCP只提供嚴(yán)格的數(shù)據(jù)按序傳輸,這會(huì)導(dǎo)致不必要的隊(duì)頭阻塞并使消息的傳輸時(shí)延增大;

TCP連接直接由一對(duì)傳輸?shù)刂罚↖P地址和端口號(hào))識(shí)別,從而無(wú)法提供對(duì)多宿主機(jī)的透明支持;

典型的TCP實(shí)現(xiàn)不允許高層應(yīng)用設(shè)定協(xié)議控制參數(shù)。但是一些應(yīng)用可能會(huì)需要調(diào)節(jié)傳輸協(xié)議的屬性以滿足其特定要求,例如某些信令協(xié)議有較高的時(shí)延要求,而另一些信令協(xié)議則只要求較高的可靠性。 而SCTP和發(fā)展了UDP和TCP兩種協(xié)議的長(zhǎng)處。它一方面增強(qiáng)了UDP業(yè)務(wù)并提供數(shù)據(jù)報(bào)的可靠傳輸;另一方面,SCTP的協(xié)議行為類似于TCP并試圖克服TCP的某些局限。正如IETF RFC2960中定義的:SCTP是可靠數(shù)據(jù)報(bào)傳輸協(xié)議,它運(yùn)行于提供不可靠傳遞的分組網(wǎng)絡(luò)上,如IP網(wǎng)。它向用戶提供下列服務(wù):


用戶數(shù)據(jù)無(wú)錯(cuò)誤無(wú)重復(fù)的確認(rèn)傳輸;根據(jù)檢測(cè)到的MTU長(zhǎng)度進(jìn)行用戶數(shù)據(jù)分段處理,避免IP層的分段;在多個(gè)流(stream)間的用戶消息有序遞交,及單獨(dú)用戶消息按到達(dá)順序遞交的選項(xiàng);可選的多個(gè)用戶消息至SCTP數(shù)據(jù)報(bào)的復(fù)用;通過(guò)支持一個(gè)關(guān)聯(lián)的一方或雙方節(jié)點(diǎn)的多宿特性,實(shí)現(xiàn)網(wǎng)絡(luò)級(jí)容錯(cuò)。 SCTP的設(shè)計(jì)目標(biāo)包括恰當(dāng)?shù)膿砣苊馓匦砸约皩?duì)泛洪和偽裝攻擊的抵抗力。


流控制傳輸協(xié)議SCTP名稱中的“流”(stream)是指本協(xié)議能夠處理每個(gè)關(guān)聯(lián)中的若干個(gè)用戶數(shù)據(jù)報(bào)流,并且為每個(gè)流中的用戶數(shù)據(jù)報(bào)提供有序傳送。流子層的存在使得其他流中數(shù)據(jù)丟失造成的隊(duì)頭阻塞情況得以避免。


用戶數(shù)據(jù)無(wú)錯(cuò)誤無(wú)重復(fù)的確認(rèn)傳輸通過(guò)分組序列間隙報(bào)告和選擇性重發(fā)來(lái)實(shí)現(xiàn)。SCTP采用了與TCP基本類同的流量控制和擁塞控制算法,引用了慢啟動(dòng)機(jī)制。只是在數(shù)據(jù)分組的確認(rèn)和重傳機(jī)制上,明確將選擇性確認(rèn)作為標(biāo)準(zhǔn)的一部分,規(guī)范了選擇性重傳和快速恢復(fù)機(jī)制。


1.協(xié)議結(jié)構(gòu)


RFC2960將SCTP協(xié)議分解為功能性獨(dú)立的模塊,并模型化了與操作系統(tǒng)功能的接口(例如定時(shí)器)。這種分解對(duì)于協(xié)議實(shí)現(xiàn)時(shí)的結(jié)構(gòu)化程序開發(fā)很有好處。


一個(gè)SCTP系統(tǒng)實(shí)例包含下述模塊:

(1)消息驗(yàn)證和分發(fā),驗(yàn)證SCTP數(shù)據(jù)報(bào)并識(shí)別其相應(yīng)的關(guān)聯(lián)。

(2)路徑管理,監(jiān)視一個(gè)關(guān)聯(lián)對(duì)端的不同傳輸?shù)刂返目蛇_(dá)性。

(3)復(fù)用/解復(fù)用,復(fù)用/解復(fù)用一個(gè)關(guān)聯(lián)的若干個(gè)數(shù)據(jù)和控制數(shù)據(jù)塊到/從一個(gè)SCTP數(shù)據(jù)報(bào)中,該數(shù)據(jù)報(bào)是在一個(gè)IP分組中被傳輸?shù)摹?

(4)窗口和流量控制,實(shí)現(xiàn)類似TCP的流控和擁塞避免機(jī)制。

(5)SCTP控制,用于控制關(guān)聯(lián)的狀態(tài)

(6)可靠傳輸,緩沖存儲(chǔ)發(fā)出的消息直到其被關(guān)聯(lián)對(duì)端確認(rèn)接受,并在必要時(shí)發(fā)起重傳。

(7)接收控制,監(jiān)視所有的到達(dá)消息,生成所需的確認(rèn)控制數(shù)據(jù)塊。

(8)流引擎,實(shí)現(xiàn)各個(gè)流的用戶數(shù)據(jù)報(bào)順序提交,并在必要時(shí)完成對(duì)過(guò)長(zhǎng)用戶數(shù)據(jù)報(bào)的分段和重裝。


2.SCTP關(guān)聯(lián)


與TCP類似,SCTP也是面向連接的。但是,SCTP中的關(guān)聯(lián)概念要比TCP中的連接概念含義更廣。一個(gè)關(guān)聯(lián)的兩個(gè)SCTP端點(diǎn)都向?qū)Ψ教峁┮粋€(gè)SCTP端口號(hào)和一個(gè)I[地址列表,這樣每個(gè)關(guān)聯(lián)都由兩個(gè)SCTP端口號(hào)和兩個(gè)IP地址列表來(lái)識(shí)別。在一個(gè)關(guān)聯(lián)內(nèi)的擁塞控制機(jī)制與TCP的擁塞控制機(jī)制類似。


一個(gè)“關(guān)聯(lián)”Association是由多個(gè)單向的“流”(Stream)組成的。各個(gè)流之間相對(duì)獨(dú)立,可以單獨(dú)發(fā)送數(shù)據(jù)而不受其它流的影響,也可以共同實(shí)現(xiàn)用戶數(shù)據(jù)的有序遞交。流的建立和拆除過(guò)程相對(duì)獨(dú)立、簡(jiǎn)單。而關(guān)聯(lián)的建立過(guò)程相對(duì)而言就比較復(fù)雜,是個(gè)“四次握手”過(guò)程,而且其中要用到cookie的概念。所謂cookie實(shí)際就是一個(gè)含有端點(diǎn)初始信息和加密信息的數(shù)據(jù)塊,在關(guān)聯(lián)建立時(shí)被涉及的雙方處理并交換。引入這種機(jī)制的目的在于增強(qiáng)協(xié)議的安全性,防止拒絕服務(wù)(Denial of Service)和偽裝等潛在的攻擊。


3.故障管理


SCTP提供了較TCP強(qiáng)大得多的路徑狀態(tài)監(jiān)控功能。其引入的“多宿主機(jī)”概念,使得一個(gè)連接可以在多個(gè)傳輸路徑間選擇和切換,提高了網(wǎng)絡(luò)級(jí)容錯(cuò)的能力。SCTP定義了Heartbeat消息。當(dāng)某路徑空閑時(shí),就會(huì)有相應(yīng)的Heartbeat消息生成并發(fā)送到對(duì)端,而對(duì)端必須立即發(fā)回相應(yīng)的確認(rèn)消息。這種機(jī)制被用來(lái)精確測(cè)量回路時(shí)延RTT,而且可以隨時(shí)監(jiān)視鏈路的可用情況并保持鏈路的激活狀態(tài)。Heartbeat消息的發(fā)送間隔可以根據(jù)用戶的需求而靈活改變。


此外,數(shù)據(jù)報(bào)重發(fā)的數(shù)目在兩個(gè)級(jí)別上被進(jìn)行統(tǒng)計(jì)。路徑級(jí),或者說(shuō)流級(jí)的重發(fā)次數(shù)統(tǒng)計(jì)用于確定此路徑是否處于非激活狀態(tài)。而關(guān)聯(lián)級(jí)的統(tǒng)計(jì)用于判定某個(gè)遠(yuǎn)端端點(diǎn)的可達(dá)性。


SCTP的應(yīng)用


1.IP網(wǎng)上七號(hào)信令傳輸?shù)目傮w框架


IETF提出的IP網(wǎng)上傳輸七號(hào)信令的總體框架在RFC2719中進(jìn)行了描述。SCTP在信令傳輸方面的主要應(yīng)用是在信令網(wǎng)關(guān)(SG)和媒體網(wǎng)關(guān)控制器(MGC)之間傳輸ISUP消息。SG是位于SS7網(wǎng)絡(luò)和IP網(wǎng)絡(luò)之間的網(wǎng)關(guān),它處理所有的MTP相關(guān)的任務(wù),但不包括SS7用戶部分。這個(gè)用戶部分(典型的是ISUP)位于MGC內(nèi)部,MGC和SG通信并通過(guò)IP網(wǎng)來(lái)控制媒體網(wǎng)關(guān)(MG)。一個(gè)MGC可以與多個(gè)SG關(guān)聯(lián)在一起,已達(dá)到冗余和可能的負(fù)載分擔(dān)的目的。在這種框架之下,從基于MTP的網(wǎng)絡(luò)來(lái)看,SG可以被看作是信令傳輸點(diǎn)(STP),而MGC可以被看作是信令端點(diǎn)(SEP)。通過(guò)使用SG,MGC可以與MTP網(wǎng)絡(luò)中的SEP互相透明地進(jìn)行通信。利用基于IP的信令傳輸,使得建立無(wú)MTP協(xié)議棧的業(yè)務(wù)控制點(diǎn)(SCP)成為可能。這樣,ISUP消息就可以在SG和SCP之間傳輸。


2.應(yīng)用服務(wù)器簇


雖然SCTP是試圖克服TCP的某些局限并作為通用傳輸協(xié)議來(lái)設(shè)計(jì)的,但用于IP網(wǎng)上的信令消息傳輸是SIGTRAN工作組內(nèi)開發(fā)SCTP的一個(gè)主要?jiǎng)恿?。僅利用多宿節(jié)點(diǎn)主機(jī)和SCTP的相應(yīng)特性,還不足以滿足SS7網(wǎng)絡(luò)苛刻的可靠性要求,因?yàn)樗仨毐苊鈫喂?jié)點(diǎn)失效。因而SIGTRAN組中討論的上層協(xié)議(ULP)要使用“應(yīng)用服務(wù)器過(guò)程(ASP)”簇的概念。這個(gè)簇被稱為“應(yīng)用服務(wù)器(AS)”,ULP提供功能實(shí)體來(lái)管理這些簇,也就是說(shuō),有控制消息可以使得某個(gè)ASP中止或者激活等。值得指出的是,有可能在不同的主機(jī)上運(yùn)行一個(gè)AS的多個(gè)ASP。此外,還可能實(shí)現(xiàn)一個(gè)AS的多個(gè)ASP之間的負(fù)載分擔(dān)。在上面提到的互通結(jié)構(gòu)中,一個(gè)AS對(duì)應(yīng)于一個(gè)MGC。通過(guò)在不同主機(jī)上的運(yùn)行這個(gè)AS的多個(gè)ASP,就可以得到一個(gè)分布式的MGC。


3.SCTP的上層協(xié)議適配層


適配層的定義使得可利用基于IP的信令傳輸協(xié)議而不影響上層接口。例如,要將ISUP消息在IP網(wǎng)絡(luò)上傳輸,ISUP本身不必作任何改動(dòng)。為了傳輸SCCP和ISUP消息,MTP第三層(MTP3)和SS7用戶部分之間的原語(yǔ)必須被傳輸。除M3UA之外,用于MTP2的適配層M2UA、ISUP的適配層IUA和SCCP的適配層SUA也已被定義。M2UA提供MTP2和MTP3之間原語(yǔ)的傳輸,IUA和SUA分別使ISUP和SCCP用戶消息能夠直接被SCTP承載傳輸。

?

非常好我支持^.^

(127) 41.1%

不好我反對(duì)

(182) 58.9%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?