王金苗 葉建設 許鵬文
1. 裝備指揮技術學院訓練部,北京 101416;
2. 裝備指揮技術學院信息裝備系,北京 101416;
3. 裝備指揮技術學院裝備采辦系,北京 100720
衛(wèi)星鏈路上SCPS-TP協(xié)議中的SNACKTCP性能分析
王金苗1葉建設2許鵬文3
1. 裝備指揮技術學院訓練部,北京 101416;
2. 裝備指揮技術學院信息裝備系,北京 101416;
3. 裝備指揮技術學院裝備采辦系,北京 100720
闡述了將空間互聯(lián)網(wǎng)協(xié)議SCPS-TP用于衛(wèi)星通信系統(tǒng)中的概況,介紹了將現(xiàn)有TCP協(xié)議擴展到空間的TCP頭部壓縮策略和ACK控制算法改進,以SCPS-TP協(xié)議所使用的SNACK機制為研究對象,對其在GEO衛(wèi)星通信系統(tǒng)鏈路中的應用進行NS2環(huán)境下的仿真模擬實驗,比較分析了SNACKTCP和傳統(tǒng)TCP的性能,有針對性地進行了鏈路誤碼率變化實驗結果分析,證實了SNACKTCP在衛(wèi)星通信環(huán)境下的優(yōu)良性能。
衛(wèi)星通信;SCPS-TP協(xié)議;SNACKTCP;NS2
衛(wèi)星通信具有覆蓋面廣、可擴展性強、用戶接入方便和不受地域條件限制等優(yōu)點,是地面光纖難以鋪設或人口稀疏等偏遠地區(qū)進行長距離寬帶網(wǎng)絡接入的一種重要補充手段。與地面環(huán)境具有明顯不同的是,衛(wèi)星鏈路信環(huán)境具有不對稱信道、高信道誤碼率、長傳輸延遲和間歇性連接等特點,將基于地面互聯(lián)網(wǎng)設計的傳輸控制協(xié)議/ 網(wǎng)絡協(xié)議(T ransfer Con tro l Pro tocol/In ternet Protocol,TCP/IP)直接用于衛(wèi)星網(wǎng)絡會導致較低的性能。20世紀90年代,空間數(shù)據(jù)系統(tǒng)咨詢委員會(CCSDS)借鑒TCP/IP的分層設計思想,提出了一套空間通信協(xié)議(Space Comm un ication Protocol Specification,SCPS)。目前SCPS已經(jīng)被國際標準化組織ISO采納為國際標準,并且被多個國家采用或部分采用,是所有CCSDS SCPS中最為成熟并得到實際應用的協(xié)議。
1.1 SCPS-TP協(xié)議簡介
空間通信協(xié)議規(guī)范SCPS主要用于空間多顆衛(wèi)星、空間實驗室及地面射頻終端等組成的空間互聯(lián)網(wǎng)的星與星或星與地之間的通信。SCPS協(xié)議以TCP/IP協(xié)議為模型,包含網(wǎng)絡協(xié)議(SCPS Netw ork Protocol,SCPSNP)、安全協(xié)議(SCPS Security Protocol,SCPS-SP)、傳輸協(xié)議(SCPS T ranspor t Protocol,SCPS-TP)及文件協(xié)議(SCPS File Pro toco l, SCPS-FP),尤其是傳輸協(xié)議SCPS-TP最為重要[1],在使用SCPS協(xié)議時是必須使用的,而其他三個協(xié)議可以用TCP/IP協(xié)議簇中的協(xié)議代替。SCPS-TP在TCP協(xié)議基礎上,針對衛(wèi)星鏈路的高誤碼率、長傳輸時延、非對稱帶寬和間歇性連接等特點,分別作相應修改和擴展,主要是:采用SNACK與報頭壓縮技術來減小誤碼率;增大TCP擁塞窗口,以適應衛(wèi)星通信中時延大的要求;數(shù)據(jù)速率控制功能,防止出現(xiàn)擁塞;可選擇的多種擁塞控制機制;往返時延測量等功能。通過這些修改和擴充,最大限度地提高鏈路的傳輸效率,很好地解決了衛(wèi)星通信中誤碼率高、延時大、前向和反向鏈路差異大等問題,從而為空間通信網(wǎng)絡提供端到端的數(shù)據(jù)傳輸,以適應當前和未來的空間任務需求。
1.2 SNACK機制
SCPS-TP的SNACK(Selective Negative Acknow ledgm en t)機制是從SACK(Selective A ck now led gm en t)和NAK(N ega tiv e A cknow ledgm en t)機制的思想發(fā)展而來的,既可提高帶寬利用率又可提高丟包恢復能力。SNACK允許接收端通知發(fā)送端有關接收端亂序隊列中多個缺失數(shù)據(jù)段的信息,可以對接收端緩存中的多個缺失數(shù)據(jù)段進行標志。通過快速地提供更多的有關丟失數(shù)據(jù)段的信息,SNACK能夠加快數(shù)據(jù)恢復的速度、避免發(fā)端窗口受限,允許在等待獲知丟失數(shù)據(jù)段信息時耗盡管道容量。出現(xiàn)丟包時持續(xù)傳輸數(shù)據(jù)的能力是極其重要的,尤其當丟包是由誤碼而非擁塞引起時。當確知使用擁塞控制處理丟包時,SNACK可保持通信管道容量工作在飽和狀態(tài)下,并允許在丟包恢復過程中數(shù)據(jù)傳輸能夠持續(xù)工作在滿負荷的瓶頸狀態(tài)下。
SNACK是一個否定性確認機制,能夠在高比特率的情況下確認較大數(shù)量的數(shù)據(jù)包。SNACK選項長度可變,包括5個數(shù)據(jù)域:標準TCP協(xié)議定義的類型域、長度域(不采用位向量的時候為6 bit),強制定義的錯誤偏移量域、長度域(域長度均為16b it),可選的可變長位向量。偏移量指示了接收端數(shù)據(jù)隊列中的第一處錯誤與已確認接收到的信息間的偏移量,單位為M SS(M ax im um Segm en t Size,最大分段大?。婚L度域描述了該缺失數(shù)據(jù)包(并不一定是收端緩沖區(qū)存儲的第一個數(shù)據(jù)包)的大小,單位是MSS;位向量包含了其余已檢測出的存在于接收隊列中的錯誤,位向量由0和1組成,0表示對應位置上一個M SS長度的數(shù)據(jù)塊丟失,1表示成功接收,如果不足整字節(jié),在最后一個1之后補0補足八位。
圖1左是接收端的數(shù)據(jù)隊列,共存在三處錯誤。第一處錯誤在成功接收到第一個數(shù)據(jù)段后馬上就發(fā)生了,因此偏移量為0,并占用2個MSS。依據(jù)SNACK選項數(shù)據(jù)段要求,此處采用位向量,則由數(shù)據(jù)接收端產(chǎn)生的SNACK數(shù)據(jù)段將如圖1右所示。
圖1 TCP接收端數(shù)據(jù)隊列及其生成的SNACK數(shù)據(jù)段
當存在亂序隊列時,數(shù)據(jù)接收端掃描接收緩沖區(qū),建立SNACK選項并通過ACK數(shù)據(jù)段發(fā)送出去?;诮邮盏腟NACK選項,數(shù)據(jù)發(fā)送端會立即重傳所必需的數(shù)據(jù)段來填充被標記的缺失數(shù)據(jù)包。由于SNACK選項可觸發(fā)重傳機制,因此就可以不依賴于快速重傳算法來探測丟包現(xiàn)象。
2.1 仿真參數(shù)設置
NS2是目前較為廣泛使用的一種網(wǎng)絡仿真軟件,支持多種版本的TCP協(xié)議,而且方便擴展。本文使用NS2軟件建立了SCPSTP協(xié)議仿真模型,選擇了時延比較長,距地大約35800km的GEO衛(wèi)星進行鏈路利用率仿真,比較SNACK與SACK在不同誤碼環(huán)境下的吞吐量和鏈路利用率。仿真參數(shù)如表1所示。
2.2 結果和分析
SNACK與SACK在不同誤碼率下的吞吐量和鏈路利用率的對比結果分別如圖2和圖3所示,仿真時間為550s。
表1
圖2 不同誤碼率下的平均吞吐量比較
圖3 不同誤碼率下的鏈路利用率比較
長時延和高誤碼率,是低吞吐量的主要原因。衛(wèi)星信道隨著誤碼率的增加,吞吐量隨之減弱,當BER達到10-5時,表現(xiàn)得更為突出。由圖2和圖3可以看出,高誤碼率情況下,SNACK機制相比SACK機制能取得更好的吞吐量性能和鏈路利用率。理論分析和仿真實驗表明,在不同誤碼率情況下,SNACK在寬帶衛(wèi)星網(wǎng)絡中的性能表現(xiàn)要優(yōu)于SACK,可避免短時間內由誤碼造成的TCP性能下降。
[1] 陳明玉,程子敬. SCPS-TP協(xié)議在衛(wèi)星通信系統(tǒng)中的應用研究.電子設計工程.Vo1.18,No.8:1-3
[2] 張潤彤,樊寧,張偉軍. LEO衛(wèi)星環(huán)境下的SNACKTCP性能分析.計算機學報.Vo1.30,No.2:297-304
10.3969/j.issn.1001-8972.2011.10.064