楊 森,吳 彥, 戰(zhàn)文杰
星座衛(wèi)星通信是今后衛(wèi)星通信的主要發(fā)展方向之一,能夠支持多業(yè)務、多速率、多頻段、多體制、多軌道類型,能夠有效解決目前中國衛(wèi)星通信空間段資源不足、軌道類型單一、覆蓋范圍小、體系不完善、建設規(guī)模小、抗攻擊能力差、無星間鏈路、網(wǎng)絡化水平低、信息綜合能力弱等方面的問題[1]。而且因其寬覆蓋范圍、優(yōu)良的傳播能力和不受各種地域條件限制等優(yōu)點成為無線因特網(wǎng)接入的重要途徑。但是就中國實際國情,目前還難以建成一個能夠覆蓋全球的星座衛(wèi)星通信系統(tǒng),而首先建立一個區(qū)域覆蓋的星座系統(tǒng),然后向全球覆蓋過渡,不但可行而且需要,這里研究的對象就是能夠覆蓋中國領土的24/3/1區(qū)域覆蓋Walker星座。
目前,24星Walker星座還處于理論研究和驗證階段,對于該系統(tǒng)的網(wǎng)絡性能,特別是對于TCP協(xié)議在該網(wǎng)絡中的性能,沒有現(xiàn)成的資料和數(shù)據(jù)可供參考。信道速率、分組長度、發(fā)送窗口的大小和誤碼率等條件的不同組合都會對TCP協(xié)議性能產(chǎn)生不同的影響[2],首先在NS2中建立了24星的星座網(wǎng)絡模型[3],然后在該模型下通過仿真給出TCP協(xié)議在各種情況下性能表現(xiàn),為下一步的工作提供理論參考。
TCP協(xié)議是一種端到端的協(xié)議,為了進行流量控制和擁塞控制,該協(xié)議采用了慢啟動、擁塞避免和滑動窗等機制,在地面網(wǎng)絡中運行非常成功。雖然與靜止衛(wèi)星通信相比,低軌星座衛(wèi)星通信的通信時延小很多,TCP協(xié)議中慢啟動算法帶來的問題并不明顯[4]。但是,低軌星座衛(wèi)星網(wǎng)絡具有變化幅度很大的分組往返時延(RTT,Round-Trip Time)、頻繁的切換、較高的信道誤碼率及信號衰落等特點,這些特點使得TCP協(xié)議在衛(wèi)星移動信道中的效率受到較大影響。
①衛(wèi)星移動引起信道的頻繁切換和網(wǎng)絡拓撲的不斷變化,使得分組的傳輸時延大幅變化,而且在某些時刻信道的分組丟失率極高;②雨衰、多徑衰落、陰影效應和切換等都會造成信道的誤碼率急劇增加,造成數(shù)據(jù)分組在衛(wèi)星信道上的丟失,而TCP協(xié)議無法區(qū)分由于擁塞和鏈路惡化造成的分組丟失,卻統(tǒng)一認為是由于擁塞而引起的,這就會降低網(wǎng)絡的吞吐量,而且當確認符(ACK,ACKnowledge Character)分組丟失時,吞吐量會進一步惡化[5]。
現(xiàn)采用比較流行的網(wǎng)絡仿真軟件NS2進行建模和仿真[3],在該軟件下建立了一個24星的區(qū)域覆蓋的星座網(wǎng)絡模型,基于該模型對星座通信網(wǎng)絡的性能進行仿真。
在NS2中建立一種區(qū)域覆蓋的24/3/1Walker星座網(wǎng)絡模型,該星座提供帶狀覆蓋區(qū),可以覆蓋中國全部領土。星座中共有3個軌道面,每個軌道面的8顆衛(wèi)星建有持續(xù)的星際鏈路,軌道面之間依次通過不同的衛(wèi)星建立“接力型”星際鏈路,其中異軌衛(wèi)星間的“建鏈”情況如表1所示。
在NS2中除了設置星座系統(tǒng)的基本參數(shù)外,對星座網(wǎng)絡仿真場景的設置如表2所示。
表2 星座網(wǎng)絡仿真場景
首先為了給出該網(wǎng)絡的傳輸時延,在位于北京和廣州的兩個終端之間建立用戶數(shù)據(jù)報協(xié)議(UDP,User Datagram Protocol)連接,承載固定碼率(CBR,Constants Bit Rate)業(yè)務,假設上下行鏈路帶寬均為256 kb/s,分別給出網(wǎng)絡在一個回歸周期內(nèi)和一個軌道周期內(nèi)的時延特性如圖1和圖2所示。
圖1 一個回歸周期內(nèi)的網(wǎng)絡延時
圖2 一個軌道周期內(nèi)的網(wǎng)絡延時
在星座網(wǎng)絡中,隨著星際鏈路的切換,網(wǎng)絡傳輸延時發(fā)生巨大變化,但由于星座運行的規(guī)律性,網(wǎng)絡傳輸延時也呈現(xiàn)出規(guī)律性。圖1給出了一個軌道回歸周期的時延,也就是說該網(wǎng)絡的時延以回歸周期為周期重復。為了清楚的看到星座拓撲變化給傳輸延時帶來的影響,圖2給出了一個軌道周期內(nèi)的時延變化情況,可以看到隨著經(jīng)過的衛(wèi)星跳數(shù)變化,時延急劇變化。
同時,TCP協(xié)議的性能受到很多因素的影響,比如信道速率、分組長度、窗口大小、時延以及鏈路丟包率等,下面給出星座網(wǎng)絡中各種條件下的TCP性能,主要用平均吞吐量和平均分組傳輸時延衡量。由于在NS當中窗口大小是以分組數(shù)為單位的,因此,窗口大小和分組長度共同構成TCP中窗口,而且NS中的單向TCP協(xié)議的接收窗口通過初始設置為固定值。
當接收窗口為40個分組時,在各種信道速率下,吞吐量和分組傳輸時延與信道速率和分組長度之間的關系如圖3和圖4所示。
固定NS中的窗口,不斷調整分組長度等效于調整窗口的效果,從圖3可以看出,不管信道速率大小,增加分組長度對吞吐量的提升并不是很明顯,當分組長度從200增加到1 000字節(jié)時,吞吐量大約增加20%。但對分組傳輸時延的影響卻較大,當分組長度從200增加到1 000字節(jié)時,分組傳輸時延增加3倍。
圖3 吞吐量、信道速率和分組長度的關系
圖4 分組傳輸時延、信道速率和分組長度的關系
目前,針對各種特殊的信道條件已經(jīng)提出了多種TCP的改進版本。主要有:
①Tahoe:傳統(tǒng)的 TCP,基于丟包的擁塞避免和快速重傳,慢啟動。
②Reno:Tahoe對丟包非常敏感,1%的丟包率會導致吞吐率降低50%~75%。Reno在Tahoe基礎上增加了快速恢復,可以一定程度上緩解這一問題。
③Newreno:Reno的快速恢復算法在“快速恢復”了第一個丟失的segment,即收到一個非重復、有效的ACK之后就退出了快速恢復。這樣當同一個窗口中有多個segment丟失時,該算法只能對第一個丟失的包進行快速恢復,導致性能降低。Newreno的快速恢復算法做了小小的改進:在收到非重復、有效的ACK之后,只有這個ACK對發(fā)生丟包的窗口內(nèi)的所有數(shù)據(jù)做了確認,才退出快速恢復算法。
④Vegas對傳統(tǒng)TCP做了相當大的改進,具體如下:a. 更快速的重傳:為了避免對操作系統(tǒng)粗粒度時鐘的依賴,Vegas在每次重復的ACK到來時,都檢查對應的segment是否已經(jīng)可以超時重傳,另外,發(fā)生重傳時,如果重傳的segment是在上一個大小的擁塞窗口下發(fā)送的,則不對擁塞窗口做減半操作,這么做可以避免擁塞窗口被過分減小導致傳輸性能下降;b. 擁塞預測:利用吞吐率的變化調整擁塞窗口,而不是利用丟包來檢測擁塞。每收到一個有效的ACK,計算如下三個值:Expected=WindowSize/BaseRTT;Actual=SentData-ActualRTT;Diff=ExpectedActual,其中,BaseRTT是該連接上觀測到的最小的 RTT值;ActualRTT是被確認segment被發(fā)送到收到 ACK的時間間隔;SentData是ActualRTT內(nèi)發(fā)送的數(shù)據(jù)量。Vegas定義兩個常量a,b(a<b),當Diff<a時,則線性增加擁塞窗口;當Diff>b時,線性減少擁塞窗口。這種擁塞控制方式是在擁塞將要發(fā)生時控制,而不是在擁塞發(fā)生后控制;c. 慢啟動的改進:與擁塞預測的改進機制類似,通過監(jiān)視吞吐率的變化來決定是否離開慢啟動模式。TCP Vegas的最大優(yōu)點在于擁塞機制的觸發(fā)只與RTT的改變有關,而與包的具體傳輸時延無關。由于 TCP Vegas不是利用丟包來判斷網(wǎng)絡可用帶寬,而是以RTT的變化來判斷,因此能更精確地預測網(wǎng)絡的可利用帶寬,其公平性、效率都較好。
現(xiàn)在信道速率為256 kb/s、接收窗口為30、分組長度為800 Byte時,對各種版本的TCP協(xié)議在不同丟包率的情況下進行了仿真,平均吞吐量和平均時延分別如圖5和圖6所示。
圖5 各種TCP版本的平均吞吐量比較
圖6 各種TCP版本的平均延時比較
從圖5可以看出,在窄帶星座衛(wèi)星系統(tǒng)中,F(xiàn)ack的吞吐量始終最小,而NewReno的吞吐量最大,其他幾個版本的吞吐量都相差不多,而且丟包率不同時,有不同的性能。吞吐量對丟包率敏感,隨著丟包率的增加,吞吐量急劇惡化。在圖6中,當丟包率小于0.05時Vegas的時延明顯小于其他各個版本的,而且?guī)缀醪皇軄G包率的影響,表現(xiàn)出良好的性能,而其他版本的則相差不多。由于取的是時延的平均值,因此當丟包率稍微增加時,時延反而會變小,但當丟包率進一步增大時,時延則會迅速惡化。
低軌星座系統(tǒng)由于具有良好的覆蓋性能和較小的分組傳輸時延,具有很好的應用前景,但高的誤碼率和變化的分組時延給網(wǎng)絡性能帶來較大影響,因此,如何利用該系統(tǒng)作為地面網(wǎng)絡的補充進行因特網(wǎng)接入是一個值得探討的問題。這里對平均吞吐量、平均傳輸時延與信道速率、窗口大小以及丟包率的關系進行了研究,并在不同丟包率的情況下,比較了TCP各個該進版本的性能,得到了一些有益的結論,為進一步的工作提供參考。
[1]張更新,張杭.衛(wèi)星移動通信系統(tǒng)[M].北京:人民郵電出版社,2001:700-734.
[2]PARTRIDGE C, SHEPARD T. TCP-IP Performance over Satellite Links[J]. IEEE Transactions on Networking, 1997,11(05):44-49.
[3]徐雷鳴,龐博,趙耀.NS與網(wǎng)絡模擬[M]. 北京:人民郵電出版社,2003.
[4]BRAKMO L, MALLEY S, PETERSON L. TCP Vegas: New Techniques for Congestion Detection and Avoidance[C].USA:ACM, 1994:24-35.
[5]葉斌,胡谷雨,倪桂強. DSR路由信息存儲的無線 TCP性能改進方法[J].應用科學學報,2007, 25(03):34-38.