TCP與SCTP—CMT分析及在無線網絡的發展策略
當前網絡中廣泛使用的傳輸層協議是TCP和UDP協議,TCP與UDP的顯著區別是TCP可以提供可靠的數據傳輸服務,這使它在網絡應用中有著杰出的貢獻,然而隨著網絡技術的提高,TCP的局限性也越來越明顯。SCTP協議(流控制傳輸協議)是2000年提出的新一代傳輸層協議,它具有與傳統TCP和 UDP協議不同的多宿性和多流性,不僅可以提供可靠的數據傳輸服務還具有選擇性重傳、無序遞交等特性[1]。為充分利用每條路徑資源以提高網絡傳輸速率,Iyengar博士等人在SCTP基礎上提出了并行多路徑傳輸(Concurrent Multipath Transfer)機制,在近年來受到了更多的關注,并已逐漸成為研究的熱點,該文對TCP及SCTP-CMT的基本特性進行了介紹。隨著無線網絡的發展以及接入方式的多樣化,無線網絡通信受到了越來越多的關注,尤其是具有多種接入方式的無線網絡通信,而車載網絡屬于高速移動的無線網絡,且隨著汽車的日益普及,對車載網絡的研究具有一定的意義,基于以上幾點,該文以車載網絡為例來研究TCP和SCTP-CMT在具有多種接入方式的無線網絡中的傳輸性能,并在NS2仿真平臺上對TCP與SCTP-CMT在車載網絡環境中的性能進行了仿真分析比較。
1 TCP
TCP協議(傳輸控制協議)是面向連接的、可靠的、基于字節流的傳輸層協議,當前網絡中大多數的應用是使用TCP協議來進行數據傳輸的。作為在IP網絡中可靠的數據傳輸協議,TCP協議有著杰出的表現。使用TCP協議進行傳送的數據必須滿足無重復、無差錯和按序到達特點,正是因為TCP這些特性保證了數據傳送的可靠性和健壯性;TCP協議的擁塞控制算法包括慢啟動、擁塞避免、快速恢復和快速重傳算法,在發生網絡擁塞時擁塞控制算法能顯著提高TCP的傳輸性能。使用TCP協議進行通信的兩個端點在通信之前需通過三次握手來建立一條邏輯通信鏈路,在鏈路建立好后會進入慢啟動階段,進而進入擁塞避免階段和擁塞控制階段。
在剛開始制定TCP協議時,由于當時的網絡傳輸速度還很慢,網絡性能也比較穩定,因此在設計數據包格式時為減少開銷,將頭部設計的非常緊湊,這使得 TCP協議的可擴展性較差,幾乎不能擴展。然而隨著網絡接入技術的提高和網絡帶寬資源的增加,TCP因受到可靠數據傳輸服務要求以及擁塞控制機制的限制,已經不能充分利用現有的網絡帶寬資源,急需進行擴展,尤其是在以車載網絡環境為例的具有多種接入方式的無線網絡環境中。不同的鏈路在帶寬以及傳輸時延上都存在著較大的差異,當TCP在不同鏈路之間進行切換時,性能會受到很大的影響。此外,TCP不能有效區別擁塞丟包與鏈路故障丟包,而是簡單的將丟包均視為擁塞丟包,然而在無線網絡中丟包不僅僅是擁塞丟包造成的也可能是因無線信號差錯造成的,簡單的歸因于擁塞丟包會導致擁塞窗口的不必要降低,進而降低傳輸效率?梢,TCP在具有多種接入方式的無線網絡環境下應用的局限性越來越明顯。
2 SCTP-CMT
SCTP協議是由SIGTRAN組織最初設計并用來在IP網絡上傳輸信令消息、面向數據流的端到端傳輸協議, SCTP可以提供可靠的數據傳輸服務并且可以保留數據消息邊界[5]。SCTP協議中引入了關聯的概念,關聯是指兩個終端經過四次握手后建立的一種連接關系。除此之外,SCTP還具有許多新特性,如多宿性、多流性。多宿性是SCTP的重要特性之一,在具有多個網絡接口的主機上,可以通過多個IP地址來訪問該主機,假設需要通信的兩個主機分別有N個和M個接口,則該關聯中最多可以擁有N*M條路徑,使用多路徑的目的是獲得冗余,這可以避免因某條路徑的失效而導致整個關聯失敗的現象發生,提高了通信的可靠性。多流性(multi-stream)是指在使用SCTP進行數據傳輸的兩個端點可以同時擁有多個流,用戶除了可以選擇使用不同的路徑進行數據傳輸外,還可通過不同的數據流來傳輸數據,且不同的數據流之間相互獨立。
在實際應用中,使用SCTP協議進行通信的終端間雖然可以擁有多條路徑,但通常只使用主路徑進行數據傳輸,當主路徑失敗后才會選擇備用路徑來進行數據傳輸,這極大的浪費了網絡資源。隨著人們對帶寬的要求越來越高,為充分利用每一條路徑的鏈路資源、增加端到端之間的網絡利用率和網絡吞吐量、提高傳輸效率,Iyengar博士等人提出了并行多路徑傳輸(CMT)的概念,它不僅可以在多條路徑上同時進行數據傳輸,而且當某條路徑發生故障時,可以及時的選擇其他路徑進行數據傳輸,而新路徑不需像傳統SCTP一樣,需要從慢啟動階段開始,這大大的提高帶寬的利用率和吞吐量[7]。為使多路徑傳輸技術更加完美,Iyengar博士等人還針對CMT的不足之處分別提出了相應的改進算法。因每條路徑的傳輸性能不同,有些被判斷為需要重傳的封包可能是因為在一個傳輸速率較慢的路徑上,針對因此導致的亂序現象提出了SFR算法,該算法在每條路徑上獨立的應用快速重傳算法,并且在發送端設置了兩個參數,分別是 highest_in_sack_for_dest和saw_newack以判斷數據是在傳輸中還是真的需要重傳;由于SACK是基于整個關聯而不是單個路徑,SCTP在收到GAP信息時不會更新cwnd,既而減少了cwnd更新的機會,就此問題提出了CUC算法,與SFR類似,CUC算法在每條路徑上獨立地應用擁塞控制機制,以更加合理的更新擁塞窗口;針對個別延遲到達的ACK導致緩存不斷增加的問題,提出了DAC算法,該算法通過修改計算丟包次數方法,以觸發快速重傳。
使用多條路徑進行并行傳輸時,由于每條路徑的屬性不同,網絡的性能參數(如帶寬、時延)各異,很難保證數據包能夠同時到達接收端。同時丟包也可能會導致后發出的數據包先到達,使亂序問題變得更加嚴重,容易產生接收端緩存問題。Iyengar等人就接收端緩存問題提出了五種重傳策略,分別是同路徑重傳(RTX-SAME);隨機重傳(RTX-ASAP);最大窗口重傳(RTX-CWND);最大門限重傳(RTX-SSTHRESH);最小丟包率重傳(RTX-LOSSRATE)。此外,Preethi Natarajan等人也提出了CMT-PF(Potentially-failed)機制來緩解接收端緩存問題。Shailendra也為 SCTP-CMT提出了改進的MPSCTP機制。
3 仿真實驗
隨著網絡技術的不斷發展,無線網絡通信受到了越來越多的關注,當前越來越多的終端可以擁有多種接入方式,因此具有多種接入方式的無線網絡通信成為時下熱點話題之一。車載網絡屬于高速移動的無線網絡,隨著車輛的日益普及,人們對車載網絡的要求也越來越高。為研究SCTP-CMT與TCP在具有多種接入方式的無線網絡環境中的傳輸性能,我們以車載網絡環境為例,針對SCTP-CMT和TCP分別建立了模擬車載網絡環境的拓撲結構圖,如圖1所示為SCTP-CMT的拓撲圖,其中,S為服務器端,在傳輸層采用SCTP-CMT協議,應用層采用FTP協議。圖2為TCP的拓撲結構圖,其中,S1和S2為服務器端,傳輸層均采用TCP協議,應用層采用FTP協議。R1,1與R1,2以及R2,1與R2,2這兩條瓶頸路徑帶寬均為2Mb,時延為20ms,其中MN為接收端,即移動車輛,基站 BS1和BS2的距離設為500m,MN以60km/h的速度在其站BS1和BS2之間移動。在版本為2.34的NS2網絡仿真平臺[12]上進行了仿真實驗,以分析SCTP-CMT與TCP誰更適合應用于車載網絡環境。
圖3和圖4分別為SCTP-CMT和TCP的擁塞窗口變化和吞吐量變化的仿真結果圖,從圖中我們可以看到,無論是擁塞窗口變化還是吞吐量,SCTP- CMT的性能都高于TCP。尤其是在12.5秒時,TCP因需要轉換路徑時,擁塞窗口幾乎降為零,重新經歷了一個慢啟動過程。而SCTP-CMT因為在整個仿真過程中都可以在兩條路徑上同時進行傳輸,因此無論是在3.5s為有線鏈路擁塞造成丟包、在12.0s時發生無線鏈路信息造成的丟包,還是在 20.0s是無線鏈路信號造成超時,其傳輸性能都一直優于TCP。
雖然在仿真結果中SCTP-CMT性能始終高于TCP,但可以發現在12.0s和20.0s時,并沒有將因無線信號錯誤而造成的差錯丟包與受帶寬限制而產生的擁塞丟包區分開了,造成了擁塞窗口不必要的降低。這是因為SCTP-CMT采用與傳統TCP協議相同的擁塞控制機制(CC),無法區分擁塞丟包與差錯丟包。近期有許多學者為SCTP-CMT、MPTCP分別提出CMT/RP CC和MPTCP CC機制,以使擁塞控制機制更加適合應用于多路徑數據傳輸環境,[13]但在無線網絡環境中還需做進一步的研究。
4 結論
TCP是面向連接的可靠傳輸協議,SCTP在繼承了TCP的優點上發展出了多宿、多流等特性,在SCTP基礎上提出的多路徑并行傳輸機制(SCTP- CMT)可以同時利用多條路徑進行數據傳輸,提高了鏈路的利用率。該文介紹了TCP與SCTP-CMT的基本特性,分析了TCP的不足之處以及SCTP- CMT的優點。為比較TCP與SCTP-CMT在具有多種接入方式的無線網絡環境中的傳輸性能,該文以車載網絡環境為例,在NS2上建立仿真拓撲結構,以分析TCP與SCTP-CMT誰更適合車載網絡環境,根據仿真實驗結果,我們可以看到,SCTP-CMT在車載網絡環境中的傳輸性能明顯高于TCP的傳輸性能,尤其是在多個基站間切換時,可以保證數據的高效傳輸,因此認為SCTP-CMT比TCP更適合應用于具有多種接入方式的無線網絡環境。但當前 SCTP-CMT的發展還不夠成熟,尤其是在無線網絡擁塞控制算法上仍須做進一步的改進。
參考文獻:
[1] RFC4960,Stream Control Transmission Protocol[S].
[2] 謝希仁.計算機網絡 [M]. 6版.北京:電子工業出版社,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分析及在無線網絡的發展策略】相關文章:
工商管理信息化發展策略分析11-16
綠色會展的發展模式及發展策略03-30
中醫藥在非洲的發展現狀及傳播策略研究分析06-05
指導朗讀的有效策略分析12-11
服務營銷策略分析論文02-25
線段圖教學的策略分析11-23
TCP/IP協議網絡安全問題分析論文05-06
煤礦企業營銷策略分析論文02-21
- 相關推薦