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