TCP與SCTP—CMT分析及在無(wú)線網(wǎng)絡(luò)的發(fā)展策略
當(dāng)前網(wǎng)絡(luò)中廣泛使用的傳輸層協(xié)議是TCP和UDP協(xié)議,TCP與UDP的顯著區(qū)別是TCP可以提供可靠的數(shù)據(jù)傳輸服務(wù),這使它在網(wǎng)絡(luò)應(yīng)用中有著杰出的貢獻(xiàn),然而隨著網(wǎng)絡(luò)技術(shù)的提高,TCP的局限性也越來(lái)越明顯。SCTP協(xié)議(流控制傳輸協(xié)議)是2000年提出的新一代傳輸層協(xié)議,它具有與傳統(tǒng)TCP和 UDP協(xié)議不同的多宿性和多流性,不僅可以提供可靠的數(shù)據(jù)傳輸服務(wù)還具有選擇性重傳、無(wú)序遞交等特性[1]。為充分利用每條路徑資源以提高網(wǎng)絡(luò)傳輸速率,Iyengar博士等人在SCTP基礎(chǔ)上提出了并行多路徑傳輸(Concurrent Multipath Transfer)機(jī)制,在近年來(lái)受到了更多的關(guān)注,并已逐漸成為研究的熱點(diǎn),該文對(duì)TCP及SCTP-CMT的基本特性進(jìn)行了介紹。隨著無(wú)線網(wǎng)絡(luò)的發(fā)展以及接入方式的多樣化,無(wú)線網(wǎng)絡(luò)通信受到了越來(lái)越多的關(guān)注,尤其是具有多種接入方式的無(wú)線網(wǎng)絡(luò)通信,而車載網(wǎng)絡(luò)屬于高速移動(dòng)的無(wú)線網(wǎng)絡(luò),且隨著汽車的日益普及,對(duì)車載網(wǎng)絡(luò)的研究具有一定的意義,基于以上幾點(diǎn),該文以車載網(wǎng)絡(luò)為例來(lái)研究TCP和SCTP-CMT在具有多種接入方式的無(wú)線網(wǎng)絡(luò)中的傳輸性能,并在NS2仿真平臺(tái)上對(duì)TCP與SCTP-CMT在車載網(wǎng)絡(luò)環(huán)境中的性能進(jìn)行了仿真分析比較。
1 TCP
TCP協(xié)議(傳輸控制協(xié)議)是面向連接的、可靠的、基于字節(jié)流的傳輸層協(xié)議,當(dāng)前網(wǎng)絡(luò)中大多數(shù)的應(yīng)用是使用TCP協(xié)議來(lái)進(jìn)行數(shù)據(jù)傳輸?shù)摹W鳛樵贗P網(wǎng)絡(luò)中可靠的數(shù)據(jù)傳輸協(xié)議,TCP協(xié)議有著杰出的表現(xiàn)。使用TCP協(xié)議進(jìn)行傳送的數(shù)據(jù)必須滿足無(wú)重復(fù)、無(wú)差錯(cuò)和按序到達(dá)特點(diǎn),正是因?yàn)門CP這些特性保證了數(shù)據(jù)傳送的可靠性和健壯性;TCP協(xié)議的擁塞控制算法包括慢啟動(dòng)、擁塞避免、快速恢復(fù)和快速重傳算法,在發(fā)生網(wǎng)絡(luò)擁塞時(shí)擁塞控制算法能顯著提高TCP的傳輸性能。使用TCP協(xié)議進(jìn)行通信的兩個(gè)端點(diǎn)在通信之前需通過(guò)三次握手來(lái)建立一條邏輯通信鏈路,在鏈路建立好后會(huì)進(jìn)入慢啟動(dòng)階段,進(jìn)而進(jìn)入擁塞避免階段和擁塞控制階段。
在剛開(kāi)始制定TCP協(xié)議時(shí),由于當(dāng)時(shí)的網(wǎng)絡(luò)傳輸速度還很慢,網(wǎng)絡(luò)性能也比較穩(wěn)定,因此在設(shè)計(jì)數(shù)據(jù)包格式時(shí)為減少開(kāi)銷,將頭部設(shè)計(jì)的非常緊湊,這使得 TCP協(xié)議的可擴(kuò)展性較差,幾乎不能擴(kuò)展。然而隨著網(wǎng)絡(luò)接入技術(shù)的提高和網(wǎng)絡(luò)帶寬資源的增加,TCP因受到可靠數(shù)據(jù)傳輸服務(wù)要求以及擁塞控制機(jī)制的限制,已經(jīng)不能充分利用現(xiàn)有的網(wǎng)絡(luò)帶寬資源,急需進(jìn)行擴(kuò)展,尤其是在以車載網(wǎng)絡(luò)環(huán)境為例的具有多種接入方式的無(wú)線網(wǎng)絡(luò)環(huán)境中。不同的鏈路在帶寬以及傳輸時(shí)延上都存在著較大的差異,當(dāng)TCP在不同鏈路之間進(jìn)行切換時(shí),性能會(huì)受到很大的影響。此外,TCP不能有效區(qū)別擁塞丟包與鏈路故障丟包,而是簡(jiǎn)單的將丟包均視為擁塞丟包,然而在無(wú)線網(wǎng)絡(luò)中丟包不僅僅是擁塞丟包造成的也可能是因無(wú)線信號(hào)差錯(cuò)造成的,簡(jiǎn)單的歸因于擁塞丟包會(huì)導(dǎo)致?lián)砣翱诘牟槐匾档,進(jìn)而降低傳輸效率?梢(jiàn),TCP在具有多種接入方式的無(wú)線網(wǎng)絡(luò)環(huán)境下應(yīng)用的局限性越來(lái)越明顯。
2 SCTP-CMT
SCTP協(xié)議是由SIGTRAN組織最初設(shè)計(jì)并用來(lái)在IP網(wǎng)絡(luò)上傳輸信令消息、面向數(shù)據(jù)流的端到端傳輸協(xié)議, SCTP可以提供可靠的數(shù)據(jù)傳輸服務(wù)并且可以保留數(shù)據(jù)消息邊界[5]。SCTP協(xié)議中引入了關(guān)聯(lián)的概念,關(guān)聯(lián)是指兩個(gè)終端經(jīng)過(guò)四次握手后建立的一種連接關(guān)系。除此之外,SCTP還具有許多新特性,如多宿性、多流性。多宿性是SCTP的重要特性之一,在具有多個(gè)網(wǎng)絡(luò)接口的主機(jī)上,可以通過(guò)多個(gè)IP地址來(lái)訪問(wèn)該主機(jī),假設(shè)需要通信的兩個(gè)主機(jī)分別有N個(gè)和M個(gè)接口,則該關(guān)聯(lián)中最多可以擁有N*M條路徑,使用多路徑的目的是獲得冗余,這可以避免因某條路徑的失效而導(dǎo)致整個(gè)關(guān)聯(lián)失敗的現(xiàn)象發(fā)生,提高了通信的可靠性。多流性(multi-stream)是指在使用SCTP進(jìn)行數(shù)據(jù)傳輸?shù)膬蓚(gè)端點(diǎn)可以同時(shí)擁有多個(gè)流,用戶除了可以選擇使用不同的路徑進(jìn)行數(shù)據(jù)傳輸外,還可通過(guò)不同的數(shù)據(jù)流來(lái)傳輸數(shù)據(jù),且不同的數(shù)據(jù)流之間相互獨(dú)立。
在實(shí)際應(yīng)用中,使用SCTP協(xié)議進(jìn)行通信的終端間雖然可以擁有多條路徑,但通常只使用主路徑進(jìn)行數(shù)據(jù)傳輸,當(dāng)主路徑失敗后才會(huì)選擇備用路徑來(lái)進(jìn)行數(shù)據(jù)傳輸,這極大的浪費(fèi)了網(wǎng)絡(luò)資源。隨著人們對(duì)帶寬的要求越來(lái)越高,為充分利用每一條路徑的鏈路資源、增加端到端之間的網(wǎng)絡(luò)利用率和網(wǎng)絡(luò)吞吐量、提高傳輸效率,Iyengar博士等人提出了并行多路徑傳輸(CMT)的概念,它不僅可以在多條路徑上同時(shí)進(jìn)行數(shù)據(jù)傳輸,而且當(dāng)某條路徑發(fā)生故障時(shí),可以及時(shí)的選擇其他路徑進(jìn)行數(shù)據(jù)傳輸,而新路徑不需像傳統(tǒng)SCTP一樣,需要從慢啟動(dòng)階段開(kāi)始,這大大的提高帶寬的利用率和吞吐量[7]。為使多路徑傳輸技術(shù)更加完美,Iyengar博士等人還針對(duì)CMT的不足之處分別提出了相應(yīng)的改進(jìn)算法。因每條路徑的傳輸性能不同,有些被判斷為需要重傳的封包可能是因?yàn)樵谝粋(gè)傳輸速率較慢的路徑上,針對(duì)因此導(dǎo)致的亂序現(xiàn)象提出了SFR算法,該算法在每條路徑上獨(dú)立的應(yīng)用快速重傳算法,并且在發(fā)送端設(shè)置了兩個(gè)參數(shù),分別是 highest_in_sack_for_dest和saw_newack以判斷數(shù)據(jù)是在傳輸中還是真的需要重傳;由于SACK是基于整個(gè)關(guān)聯(lián)而不是單個(gè)路徑,SCTP在收到GAP信息時(shí)不會(huì)更新cwnd,既而減少了cwnd更新的機(jī)會(huì),就此問(wèn)題提出了CUC算法,與SFR類似,CUC算法在每條路徑上獨(dú)立地應(yīng)用擁塞控制機(jī)制,以更加合理的更新?lián)砣翱?針對(duì)個(gè)別延遲到達(dá)的ACK導(dǎo)致緩存不斷增加的問(wèn)題,提出了DAC算法,該算法通過(guò)修改計(jì)算丟包次數(shù)方法,以觸發(fā)快速重傳。
使用多條路徑進(jìn)行并行傳輸時(shí),由于每條路徑的屬性不同,網(wǎng)絡(luò)的性能參數(shù)(如帶寬、時(shí)延)各異,很難保證數(shù)據(jù)包能夠同時(shí)到達(dá)接收端。同時(shí)丟包也可能會(huì)導(dǎo)致后發(fā)出的數(shù)據(jù)包先到達(dá),使亂序問(wèn)題變得更加嚴(yán)重,容易產(chǎn)生接收端緩存問(wèn)題。Iyengar等人就接收端緩存問(wèn)題提出了五種重傳策略,分別是同路徑重傳(RTX-SAME);隨機(jī)重傳(RTX-ASAP);最大窗口重傳(RTX-CWND);最大門限重傳(RTX-SSTHRESH);最小丟包率重傳(RTX-LOSSRATE)。此外,Preethi Natarajan等人也提出了CMT-PF(Potentially-failed)機(jī)制來(lái)緩解接收端緩存問(wèn)題。Shailendra也為 SCTP-CMT提出了改進(jìn)的MPSCTP機(jī)制。
3 仿真實(shí)驗(yàn)
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,無(wú)線網(wǎng)絡(luò)通信受到了越來(lái)越多的關(guān)注,當(dāng)前越來(lái)越多的終端可以擁有多種接入方式,因此具有多種接入方式的無(wú)線網(wǎng)絡(luò)通信成為時(shí)下熱點(diǎn)話題之一。車載網(wǎng)絡(luò)屬于高速移動(dòng)的無(wú)線網(wǎng)絡(luò),隨著車輛的日益普及,人們對(duì)車載網(wǎng)絡(luò)的要求也越來(lái)越高。為研究SCTP-CMT與TCP在具有多種接入方式的無(wú)線網(wǎng)絡(luò)環(huán)境中的傳輸性能,我們以車載網(wǎng)絡(luò)環(huán)境為例,針對(duì)SCTP-CMT和TCP分別建立了模擬車載網(wǎng)絡(luò)環(huán)境的拓?fù)浣Y(jié)構(gòu)圖,如圖1所示為SCTP-CMT的拓?fù)鋱D,其中,S為服務(wù)器端,在傳輸層采用SCTP-CMT協(xié)議,應(yīng)用層采用FTP協(xié)議。圖2為TCP的拓?fù)浣Y(jié)構(gòu)圖,其中,S1和S2為服務(wù)器端,傳輸層均采用TCP協(xié)議,應(yīng)用層采用FTP協(xié)議。R1,1與R1,2以及R2,1與R2,2這兩條瓶頸路徑帶寬均為2Mb,時(shí)延為20ms,其中MN為接收端,即移動(dòng)車輛,基站 BS1和BS2的距離設(shè)為500m,MN以60km/h的速度在其站BS1和BS2之間移動(dòng)。在版本為2.34的NS2網(wǎng)絡(luò)仿真平臺(tái)[12]上進(jìn)行了仿真實(shí)驗(yàn),以分析SCTP-CMT與TCP誰(shuí)更適合應(yīng)用于車載網(wǎng)絡(luò)環(huán)境。
圖3和圖4分別為SCTP-CMT和TCP的擁塞窗口變化和吞吐量變化的仿真結(jié)果圖,從圖中我們可以看到,無(wú)論是擁塞窗口變化還是吞吐量,SCTP- CMT的性能都高于TCP。尤其是在12.5秒時(shí),TCP因需要轉(zhuǎn)換路徑時(shí),擁塞窗口幾乎降為零,重新經(jīng)歷了一個(gè)慢啟動(dòng)過(guò)程。而SCTP-CMT因?yàn)樵谡麄(gè)仿真過(guò)程中都可以在兩條路徑上同時(shí)進(jìn)行傳輸,因此無(wú)論是在3.5s為有線鏈路擁塞造成丟包、在12.0s時(shí)發(fā)生無(wú)線鏈路信息造成的丟包,還是在 20.0s是無(wú)線鏈路信號(hào)造成超時(shí),其傳輸性能都一直優(yōu)于TCP。
雖然在仿真結(jié)果中SCTP-CMT性能始終高于TCP,但可以發(fā)現(xiàn)在12.0s和20.0s時(shí),并沒(méi)有將因無(wú)線信號(hào)錯(cuò)誤而造成的差錯(cuò)丟包與受帶寬限制而產(chǎn)生的擁塞丟包區(qū)分開(kāi)了,造成了擁塞窗口不必要的降低。這是因?yàn)镾CTP-CMT采用與傳統(tǒng)TCP協(xié)議相同的擁塞控制機(jī)制(CC),無(wú)法區(qū)分擁塞丟包與差錯(cuò)丟包。近期有許多學(xué)者為SCTP-CMT、MPTCP分別提出CMT/RP CC和MPTCP CC機(jī)制,以使擁塞控制機(jī)制更加適合應(yīng)用于多路徑數(shù)據(jù)傳輸環(huán)境,[13]但在無(wú)線網(wǎng)絡(luò)環(huán)境中還需做進(jìn)一步的研究。
4 結(jié)論
TCP是面向連接的可靠傳輸協(xié)議,SCTP在繼承了TCP的優(yōu)點(diǎn)上發(fā)展出了多宿、多流等特性,在SCTP基礎(chǔ)上提出的多路徑并行傳輸機(jī)制(SCTP- CMT)可以同時(shí)利用多條路徑進(jìn)行數(shù)據(jù)傳輸,提高了鏈路的利用率。該文介紹了TCP與SCTP-CMT的基本特性,分析了TCP的不足之處以及SCTP- CMT的優(yōu)點(diǎn)。為比較TCP與SCTP-CMT在具有多種接入方式的無(wú)線網(wǎng)絡(luò)環(huán)境中的傳輸性能,該文以車載網(wǎng)絡(luò)環(huán)境為例,在NS2上建立仿真拓?fù)浣Y(jié)構(gòu),以分析TCP與SCTP-CMT誰(shuí)更適合車載網(wǎng)絡(luò)環(huán)境,根據(jù)仿真實(shí)驗(yàn)結(jié)果,我們可以看到,SCTP-CMT在車載網(wǎng)絡(luò)環(huán)境中的傳輸性能明顯高于TCP的傳輸性能,尤其是在多個(gè)基站間切換時(shí),可以保證數(shù)據(jù)的高效傳輸,因此認(rèn)為SCTP-CMT比TCP更適合應(yīng)用于具有多種接入方式的無(wú)線網(wǎng)絡(luò)環(huán)境。但當(dāng)前 SCTP-CMT的發(fā)展還不夠成熟,尤其是在無(wú)線網(wǎng)絡(luò)擁塞控制算法上仍須做進(jìn)一步的改進(jìn)。
參考文獻(xiàn):
[1] RFC4960,Stream Control Transmission Protocol[S].
[2] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò) [M]. 6版.北京:電子工業(yè)出版社,2013.
[3] L. Ka-Cheong and V. O. K. Li, Transmission control protocol (TCP) in wireless networks: issues, approaches, and challenges[J]. IEEE Communications Surveys & Tutorials, 2006, 8(4):64-79.
[4] T. Gopinath, A.S.R. Kumar, R. Sharma. Performance Evaluation of TCP and UDP over Wireless Ad-hoc Networks with Varying Traffic Loads[C].Gwalior: International Conference on Communication Systems and Network Technologies (CSNT),2013,281-285.
[5] T. Dreibholz, E.P. Rathgeb, I. Runggeler, R. Seggelmann, M. Tuxen, R. Steeartm. Stream Control Transmission Protocol: Past, Current, and Future Standardization Activities[J].IEEE Communications Magazine,2011,49(4):82-88.
【TCP與SCTP—CMT分析及在無(wú)線網(wǎng)絡(luò)的發(fā)展策略】相關(guān)文章:
工商管理信息化發(fā)展策略分析11-16
綠色會(huì)展的發(fā)展模式及發(fā)展策略03-30
中醫(yī)藥在非洲的發(fā)展現(xiàn)狀及傳播策略研究分析06-05
當(dāng)前酒店管理如何以服務(wù)為核心發(fā)展趨向的策略分析12-09
指導(dǎo)朗讀的有效策略分析12-11
服務(wù)營(yíng)銷策略分析論文02-25
線段圖教學(xué)的策略分析11-23
TCP/IP協(xié)議網(wǎng)絡(luò)安全問(wèn)題分析論文05-06
- 相關(guān)推薦