摘 要:衛星信道與地面有線信道具有不同的特點,當TCP協議直接應用于衛星鏈路上時,其吞吐量等性能會受到影響。針對衛星鏈路的特點,分析了現有的衛星鏈路進行TCP傳輸的幾種解決方案,使用NS 2仿真軟件,建立了仿真模型,并在給定的仿真環境下得出了一些衛星鏈路下TCP傳輸性能和衛星spoofing技術的仿真結論。衛星鏈路具有時延大、誤碼率高等特點,仿真結果說明衛星spoofing技術和PS技術相結合的方案對衛星鏈路TCP傳輸性能改善是十分有益的。
關鍵詞:衛星通信; TCP協議; spoofing技術; PS技術
中圖分類號:TN927 文獻標識碼:A
文章編號:1004-373X(2010)11-0051-04
Improvement and Simulation of TCP Transmission Performance in Satellite Link
YE Qing-di
(Jinling Institute of Technology, Nanjing 211169, China)
Abstract: Because satellite channel and terrestrial cable channel has different characteristics, when the TCP is used in a satellite link directly, the performance such as its throughput will be affected. According to the satellite link characteristics, the several main solutions of the TCP transmission in the available satellite links are analyzed, the simulation models are established with the simulation software of NS2, and simulation conclusions about the TCP transmission performance in satellite links and satellite-spoofing technology are obtained in the given environment. The simulation results show that a program combining the satellite-spoofing technology with PS technology can improve the transmission performance of TCP satellite links.
Keywords: satellite link; TCP protocol; spoofing; PS technique
0 引 言
隨著通信事業的發展,衛星通信系統承載了大量的網絡應用,其中基于TCP的應用大約占了應用總量的85%以上。但目前Internet上的數據流廣泛使用的TCP(Transport Control Protocol)協議最初設計時,主要考慮的是在地面有線信道上的傳輸,而衛星信道的特點與地面有線信道不同,當TCP協議直接應用于衛星鏈路上時,其吞吐量等性能會受到影響。
本文針對衛星鏈路的特點,比較現有的TCP協議在衛星鏈路中傳輸的主要解決辦法,建立衛星鏈路TCP傳輸模型,對衛星鏈路中TCP傳輸性能進行改進和仿真分析。
1 衛星鏈路中進行TCP傳輸
1.1 存在的主要問題
與地面有線信道相比,衛星信道具有時延大、上下行信道帶寬不對稱等特點,衛星環境中TCP/IP的傳輸性能將會明顯下降。主要體現在數據傳輸的速率很難接近信道標定速率,帶寬的利用率比較低,以至于數據傳輸的實時性就較差。
具體來講,主要有這樣幾個方面\\:噪聲的影響會造成網絡擁塞,使信道的傳輸速率受限,從而造成整個網絡吞吐量的降低;大時延對回傳確認信息和傳輸策略有直接影響,從而造成TCP協議擁塞控制和流量恢復策略的性能降低;衛星信道不對稱帶寬對本質上是對稱的TCP通信有直接的影響。
1.2 目前的主要解決方法
針對衛星鏈路的特點,目前主要采用以下幾種方法來改善衛星鏈路TCP傳輸性能:
第一種是在不改變標準TCP協議的前提下,調整優化TCP的一些運行參數,如RFC2581中重新設計初始窗口大小、RFC2582中選擇確認SACK機制等\\。
第二種是對TCP協議的控制機制進行修改。如針對無線網絡的的某些方面,通過資源緩存技術、修改TCP的快速重傳算法等機制來增強其在無線條件下的性能\\。
第三種是地面段仍然采用標準的TCP協議,衛星段采用專門針對衛星環境設計的傳輸協議,包括SKyX、STP(Satellite Transport Protocol)、XSTP(Extended Satellite Transport Protocol)、SCPS-TP(TCP for Space Communications)等,其中SkyX Gateway網絡結構示意圖如圖1所示。STP和XSTP的主要改進是通過引入鏈路衰減探測機制來區分誤碼和擁塞產生的報文丟失,TCP發送端對于傳輸出錯情況只是采取重傳,而不發生擁塞控制行為,從而提高了TCP性能。
圖1 SkyX Gateway 網絡結構示意圖
第四種是利用 “分割連接”技術\\,如spoofing技術,它繞開對TCP進行“端修改”所帶來的問題,將原先的TCP端到端連接分為衛星傳輸部分和非衛星傳輸部分:非衛星傳輸部分主要是指發送端到上行代理的通信鏈路和下行代理到接收端的通信鏈路,它采用標準的TCP協議;而衛星傳輸部分是由上、下行代理和衛星節點組成的衛星網絡,它采用針對衛星網絡進行了優化的TCP協議,如圖2所示。當上行代理收到TCP源發來的報文后迅速回傳應答消息,然后由它代表TCP源與接收方通信。
圖2 采用spoofing技術的衛星TCP傳輸
2 仿真方案分析
2.1 性能仿真流程
首先對衛星鏈路TCP傳輸性能進行仿真,主要分析衛星鏈路長時延、高誤碼率對TCP傳輸性能的影響;然后在衛星網關處進行參數修改,引入一種新的TCP代理,能適時地給發送端發送假的確認ACK信號,模擬 spoofing(協議欺騙)功能,再分析衛星鏈路上TCP傳輸的性能\\。
2.2 性能仿真環境設計
2.2.1 衛星鏈路TCP傳輸性能仿真環境設計
在該性能仿真中,本文使用時延為270 ms,帶寬為2.048 Mb/s的鏈路來模擬衛星鏈路,使用NS 2中“bent-pipe”類型的GEO衛星\\。為了模擬衛星鏈路高誤碼率的特性,在鏈路中加入了一個錯誤模型,使得數據包在模擬衛星鏈路上可以按要求的方式丟失。為了盡量逼近真實的網絡環境,在模擬網絡中應有競爭流量,于是本文在實際模擬中使用6個結點,衛星鏈路上不只傳輸一個連接的數據流。在模擬中使用了FTP數據流,因為它屬于大數據量的傳輸,統計結果帶有普遍性。在模擬中使用的TCP協議帶有快速重傳、快速恢復功能\\。模擬方案拓撲示意圖如圖3所示。
圖3 模擬方案拓撲結構示意圖
2.2.2 衛星spoofing性能仿真環境設計
從前面的內容可知,spoofing技術在衛星網關處引入一個中間代理,對TCP連接進行分割,同時適時地給發送端發送假的確認ACK信號,從而可以解決衛星鏈路長時延的問題。但spoofing技術和代理緩存器不同的是,它對發送端和接收端都是透明的。這樣,中間代理,或稱為“spoofer”,就具有了通信雙方的特性。
“spoofer”的職責就是對接收到的,來自發送端的數據進行攔截、緩存,同時給發送端發送確認信號ACK,然后再將數據轉發給接收端。Spoofing技術雖然在一定程度上影響了原有的TCP端到端語義,但它在TCP連接建立過程中仍保持端到端的關系,提高了衛星鏈路中TCP的傳輸性能\\。
衛星spoofing仿真模型如圖4所示,拓撲結構和圖3相比保持不變,但在衛星鏈路的邊緣路由器r1處,采用了spoofing技術,一旦攔截到發送端傳送過來的數據,就進行緩存,并適時地給發送端發送確認信號ACK。同時,對接收端發送過來的真正的確認ACK信號進行緩存抑制。
在仿真中,性能指標主要從吞吐量、丟包率等幾方面考慮。其中,吞吐量即單位時間內傳輸的數據量,主要通過發送端和接收端兩個方面來考慮。對發送端吞吐量的衡量,主要是看發送端接收到的確認ACK信號數;而對接收端吞吐量的衡量,主要看接收端發送的確認ACK信號數。在仿真模型中,仍假設所有衛星段連接都是TCP連接,仍使用FTP流產生數據,數據包大小仍為1.5 KB。
圖4 衛星spoofing仿真模型
3 spoofing技術的性能仿真
3.1 性能仿真模型
衛星鏈路TCP傳輸性能仿真,模擬出來的nam拓撲結構如圖5 所示。
圖5 nam中拓撲圖
在這個模型中,s1,s2是發送端用戶;k1,k2是接收端用戶;r1,r2是衛星網關(或邊緣路由器)。用戶到衛星網關設置為帶寬8 Mb/s,時延5 ms的信道,衛星鏈路段如上所說設為帶寬2.048 Mb/s,時延270 ms的信道。在邊緣路由器處沒有使用spoofing技術,而保持原有的地面段TCP連接,在r1處出現丟包(即模擬衛星鏈路誤碼率高的特性)。假設所有衛星段連接都是TCP連接,使用FTP流產生數據,數據包大小為1.5 KB。
衛星spoofing仿真模型和圖5 相比保持不變,只是在衛星網關處進行參數修改,引入一種新的TCP代理,能適時地給發送端發送假的確認ACK信號,模擬 spoofing(協議欺騙)功能。
3.2 性能仿真結果及其分析
由于衛星鏈路長時延的特性,接收端發送過來的確認ACK信號就會滯后,嚴重地影響了TCP傳輸性能;另外,由于衛星鏈路長時延的影響,TCP協議不能適時地調整其擁塞窗口,這就導致TCP流在衛星邊緣路由器處資源利用具有不公平性。對于前者,本文采用spoofing技術來改善系統性能;對于后者,本文主要通過選擇性壓縮技術(Preferential Suppression,PS)來改善系統資源利用率的公平性。所謂選擇性壓縮技術,就是對那些占有很多系統資源的TCP流進行壓縮,從而使之能更好地分配衛星鏈路資源,實現資源共享\\。
如圖6所示,當在邊緣路由器處不采用spoofing技術時,隨著連接數的增加吞吐量迅速下降,即使是在連接數較少的情況下,網絡吞吐量也很低。而且隨著連接數的增加吞吐量迅速下降,系統資源利用率的公平性越來越差。
圖6 衛星TCP情況下,吞吐量隨連接數的變化
當在邊緣路由器處采用spoofing技術時(如圖7所示),隨著連接數的增加系統吞吐量雖然也在迅速降低,但與圖6相比,在連接數相同的情況下,系統吞吐量有了較大的提高。與此同時,從圖7可以看出,隨著連接數的增加,系統資源利用率的公平性仍然越來越差。
圖7 衛星spoofing TCP情況下,吞吐量隨連接數的變化
如圖8所示,隨著連接數的增加,系統資源利用率的公平性得到了改善。但與圖6相比,在連接數相同的情況下,系統吞吐量相對較低。另外,從文獻\\結論可以看出,當只使用PS技術時,系統總體帶寬利用率較低,且隨連接數的增加,系統帶寬利用率迅速下降;而其他情況下,系統總體帶寬利用率較高,且隨連接數的增加,系統帶寬利用率相對保持不變。
如圖9所示,當spoofing技術和PS技術相結合時,隨著連接數的增加系統吞吐量雖然也在降低,但與圖6和圖8相比,在連接數相同的情況下,系統吞吐量有了較大的提高。與此同時,與圖7相比,隨著連接數的增加,系統吞吐量下降的速度相對緩慢,系統資源利用率的公平性有了明顯的改善。
圖8 衛星PS TCP情況下,吞吐量隨連接數的變化
圖9 衛星spoofing PS TCP情況下,
吞吐量隨連接數的變化
4 結 語
在分析衛星鏈路特點的基礎上,分析了現有的衛星鏈路進行TCP傳輸的幾種解決方案,對仿真方案進行分析,建立了仿真模型,得出了一些衛星鏈路下TCP傳
輸性能和衛星spoofing技術的仿真結論。顯然,衛星spoofing技術和PS技術相結合的方案對衛星
鏈路TCP傳輸性能改善是十分有益的。
參考文獻
[1]陳功富,王永建.衛星數字通信網絡技術(下冊)\\.哈爾濱:哈爾濱工業大學出版社,2001.
[2]章淼,吳建平,林闖.互聯網端到端擁塞控制研究綜述\\.軟件學報,2002,13(3):354-363.
[3]屠翊.衛星網上的TCP/IP改進方法及仿真驗證\\.南京:南京郵電學院,2004.
[4]LUGLIO M, SANADIDI M Y, GERLA M, et al. On-board satellite ″Split TCP″ proxy\\. IEEE Journal on Selected Areas in Communications, 2004, 22(2): 362-370.
[5]王鐵君,吳辰文,鄔開俊,等.基于NS 2的TCP性能仿真研究\\. 蘭州理工大學學報, 2006(5):43-45.
[6]徐雷鳴,龐博耀.NS與網絡模擬\\.北京:人民郵電出版社,2003.
[7]SPRACKLEN C T. Digital communications protocols in the satellite environment\\//IEEE, Savoy Place. The Institution of Electrical Engineers. London: CZR OBL, 1997: 41-47.
[8]ISHAC J, ALLMAN M. On the performance of TCP spoofing in satellite networks\\. \\: \\, 2001: 12-29.
[9]HENDERSON T, KATZ R. Transport protocols for Internet-compatible satellite networks\\. IEEE Journal on Selected Areas in Communications, 1999, 17(2): 326-344.
[10]李凌春.無線網絡中TCP性能改進技術研究\\.電腦知識與技術,2006(23):74-76.