陳明玉,程子敬
(北京衛星信息工程研究所 北京 100086)
衛星通信具有覆蓋面廣、可擴展性強、用戶接入方便和不受地域條件限制等優點,是地面光纖難以鋪設或人口稀疏等偏遠地區進行長距離寬帶網絡接入的一種重要補充手段。然而傳統基于地面因特網的傳輸層協議TCP用在具有長傳輸時延、高丟包率、非對稱帶寬、間歇性連接等特性的衛星鏈路中,其性能大打折扣。減小衛星鏈路時延影響,解決與地面網的互通問題,提高鏈路傳輸速率,是衛星通信必須解決問題,因此各種加速方法尤其是傳輸層加速技術得到廣泛研究。針對衛星鏈路應用先后提出了多種改進型TCP協議或策略, 如 SACK、TCP Hybla、TCPW、TCP Vegas以及最新發展的SCPS協議。這些改進型協議在某些方面均有一定的性能提高[1],但對于衛星鏈路應用還有待進一步改善,以達到性能的全面提升。
空間通信協議規范SCPS(Space Communication Protocol Standards)主要用于空間多顆衛星、空間實驗室及地面射頻終端等組成的空間互聯網的星與星或星與地之間的通信[2]。SCPS協議以TCP/IP協議為模型,包含網絡協議、安全協議、傳輸協議及文件協議,尤其是傳輸協議SCPS-TP(SCPSTransport Protocol)最為重要。SCPS-TP是在TCP協議基礎上,針對空間鏈路往返時延可變、帶寬不對稱、間歇性連接等特點,作的相應修改和擴展,從而為空間通信網絡提供端到端的數據傳輸,以適應當前和未來的空間任務需求。
衛星通信是地面通信雙方的源端與目的端之間,以通信衛星作為傳輸和轉發中介的一種通信方式。將源端網關和目的端網關分別看作空間互聯網的2個節點時,則與其通信的衛星作為第3個節點構成的網絡,也適合使用空間互聯網協議SCPS。 本文基于此對SCPS協議簇傳輸層協議SCPS-TP在GEO同步軌道衛星通信系統中的應用進行了研究,并提出了改進型擁塞控制策略。
SCPS-TP對于空間鏈路應用采取了非常多的有效措施,如SNACK策略、TP包頭壓縮、丟包時區分鏈路降質原因[3],但是其擁塞控制策略還未達到最好的傳輸性能。SCPS-TP協議的擁塞控制方式有Van Jacobson(簡稱VJ)和Vegas兩種。VJ方式是基于傳統TCP協議的擁塞控制方法,在慢啟動階段發送窗口呈現指數增長,即源端每收到一個新的ACK則cwnd(擁塞窗口,Congestion Window)增 1;每經過 1個往返時延RTT(Round Trip Time)窗口增大1倍;擁塞避免階段cwnd為線性增長,每經過1個RTT擁塞窗口增1;一旦出現丟包就認為發生擁塞,窗口降回初始值,重新進入慢啟動。Vegas方式則是準確計算傳輸時延RTT并以期望吞吐量與實際吞吐量差值(Δ)來區分鏈路帶寬使用情況的改進型擁塞控制方法,在擁塞避免階段如果鏈路帶寬應用不夠充分,即Δ<α,則每收到一個新的ACK窗口增1,若鏈路帶寬得到較為充分應用,即Δ>β,則每收到一個新的ACK窗口減1,否則窗口保持不變。研究結論表明Vegas控制策略較VJ能取得更好性能[4-5]。
Vegas擁塞控制策略[6]的cwnd增加方法在大時延空間鏈路上顯得保守緩慢,其探測帶寬的靈敏性使得它較早地對網絡狀況作出響應,從而過早結束慢啟動進入擁塞避免階段,極大降低平均吞吐量。而Hybla擁塞控制策略在慢啟動階段cwnd增長方式不受長RTT的影響,鏈路cwnd能在較短時間內增大到合適的大小,在衛星通信鏈路仍能保持較高的平均吞吐量,但是Hybla窗口增大的同時也增加了丟包發生的幾率[7]。
本文在綜合考慮Vegas和Hybla及相關改進型TCP的擁塞控制策略優點的基礎上,提出新的用于衛星通信鏈路的擁塞控制策略,稱之為Veghy策略。Veghy策略在慢啟動階段,cwnd借鑒Hybla協議按比例因子ρ的方式增加;而在擁塞避免階段同Vegas方法,根據測得的RTT值并利用α和β判斷鏈路帶寬利用情況,從而控制cwnd的增或減,Δ<α時cwnd增1,Δ>β時cwnd減1,否則cwnd保持不變;當鏈路發生(多個)包丟失或超時的情況時,cwnd不再是對半減小,而是減小1/4,再根據反饋情況來決定是否依據鏈路帶寬利用情況來增加cwnd。最終Veghy策略可以同Vegas一起成為SCPS-TP協議擁塞控制策略的選項之一,從而用于進一步提高空間通信鏈路的傳輸速率。
實現Veghy策略的偽代碼如下:


其中i表示收到第i個ACK,Δ為期望傳輸速率與實際傳輸速率之差,α和β為選定的值,一般α和β取值分別為1,3和2,4,比例因子ρ為實際RTT與基準值RTT0的比值,ρ=RTT/RTT0,一般 RTT0取值為 25 ms。
從理論上分析,Veghy方法相比于其他加速方法,有如下優勢:首先Veghy應用基于SCPS-TP協議,其繼承了SCPSTP非常有利的因素,比如SNACK,TP包頭壓縮技術,更重要的是SCPS-TP區分丟包原因,因而,Veghy必定是在由于鏈路發生擁塞時才采取降低擁塞窗口的措施。其次,Veghy借鑒了TCP Hybla的窗口增長方式,對于長RTT的情況能快速將窗口增大到合適的值,有效地減少慢啟動階段所需要的時間,提高了鏈路的平均吞吐量。最后,Veghy擁塞控制方法基于Vegas策略的區分鏈路帶寬利用情況,利用率低時窗口增長快,反之增長慢,當利用趨于超載時減小擁塞窗口。當將Veghy策略選擇作為SCPS-TP的擁塞控制方法時,新的SCPS-TP協議基本集成了目前多種方法的優勢因素。
NS2是目前較為廣泛使用的一種網絡仿真軟件,支持多種版本的TCP協議,如TCP Vegas、TCP NewReno等,而且方便擴展[8]。本文將Veghy策略用于TCP協議中對其在GEO衛星鏈路上的使用性能進行仿真。仿真網絡由1個地面源端點、1個地面目的端點及1顆作為轉發路由的GEO同步軌道通信衛星3個節點組成。GEO衛星鏈路往返傳播時延為480 ms,再加CPU處理延時及緩存隊列排隊延時等,共約540 ms。其他NS2網絡仿真參數包括網絡接口棧參數設置如表1所示。
NS2仿真中可以設置誤碼模塊的丟包率或誤碼率。在設置丟包率為2%情況下,Veghy策略與Vegas和NewReno擁塞窗口和吞吐量的對比結果分別如圖1和圖2所示,仿真時間為200 s。圖3為鏈路在不同丟包率情況下仿真200 s時的平均吞吐量的對比結果。
從圖1和圖2來看,Veghy策略能在更短時間內將擁塞窗口增大到合適的值,使得平均吞吐量更快達到較大值,其擁塞窗口最高值較Vegas高,平均值比Vegas略高,最終Veghy平均吞吐量約150 pkts,較Vegas策略約130 pkts的吞吐量有15%的提高,較NewReno策略約100 pkts的吞吐量有近50%的提高。從圖3結果看,不管是在較高或是較低丟包率情況下,Veghy策略的平均吞吐量均較Vegas和NewReno有較大提高,表明Veghy策略更適合于衛星鏈路。
用于空間互聯網通信的SCPS協議經過合理的應用設計,在衛星通信系統中也是適用的。基于傳輸層SCPS-TP協議所采用的Vegas擁塞控制策略的Veghy策略,在慢啟動階段借鑒了Hybla方法的窗口增長方法,擁塞窗口不受長RTT的影響,能快速增長到一個較大的合適值,隨后大部分時間內,處于擁塞避免階段,并且在快速恢復/快速重傳階段,擁塞窗口減少1/4而不是1/2,使得擁塞窗口平均值較高,因而其吞吐量性能得到了一定的提高,在GEO衛星通信系統的仿真應用中取得了較好的效果。

表1 GEO衛星鏈路的NS2仿真參數設置Tab.1 Settings of NS2 simulation parameters in GEO satellite link


圖2 GEO鏈路上平均吞吐量變化情況對比Fig.2 Comparison of average throughput on GEO link

圖3 GEO鏈路上吞吐量受丟包率的影響Fig.3 Comparison of packet loss affection on GEO link
[1]Caini C,Firrincieli R.End-to-end TCP enhancements performance on satellite links[C]//Proceedings of the 11th IEEE Symposium on Computers and Communications (ISCC'06),2006:1031-1036.
[2]The Consultative Committee for Space Data Systems.CCSDS 710.0-G-0.4. Space communication protocol standards(SCPS):rational,requirements and application notes[S].Green Book,Draft 0.4.N/A:CCSDS,1998.
[3]The Consultative Committee for Space Data Systems.CCSDS 714.0-B-2.space communication protocolspecificationtransport protocol(SCPS-TP)[S].Blue Book, Recommended Standard,Issue 2.Washington DC:CCSDS,2006.
[4]顧明,張軍.SCPS-TP協議用于LEO衛星網的性能分析與改進[J].遙測遙控, 2007, 28(1):30-33.
GU Ming,ZHANG Jun.The performance analysis and improvement of SCPS-TP in LEO satellite networks[J].Journal of Telemetry, Tracing, and Command,2007,28(1):30-33.
[5]WANG Ru-hai,Horan S.An experimental evaluation of SCPS-TP over lossy GEO-Space links[C]//2006 Global Telecommunications Conference(IEEE GLOBECOM/EXPO 2006), 2006(9):WLC40-2.
[6]Brakmo L,Peterson L.TCP Vegas:End to end congestion avoidance on a global internet[J].IEEE JSAC,1995, (13)(8):1465-1480.
[7]Caini C,Firrincieli R.TCP Hybla:a TCP enhancement for heterogeneous networks[J].International Journal of Satellite Communications and Networking, 2004(22):547–566.
[8]Fall K,Varadhan K.Nsnam web pages-The ns manual[EB/OL].(2000-08-24)[2010-01-10].http://www.isi.edu/nsnam/.