萬 鵬, 李 瑭, 王 錕, 謝 源, 張 獻, 任筱強, 秦銘晨, 陳云霏, 童錫鵬
(1. 北京跟蹤與通信技術研究所, 北京 100094; 2. 中國載人航天工程辦公室,北京 100071;3. 北京航天飛行控制中心,北京 100094;4. 中國空間技術研究院總體設計部,北京 100094;5. 中國人民解放軍 32039 部隊,北京 102300;6. 中國航天員科研訓練中心,北京 100094;7. 北京輕網科技有限公司,北京 100094)
空間站任務中,為確保航天員保持良好的心理狀態(tài),為在軌航天員提供網頁瀏覽、收發(fā)電子郵件、視頻聊天等在軌交互式網絡業(yè)務在中國航天任務及測控通信領域中尚屬首次。
交互式網絡業(yè)務的應用程序通?;赥CP/IP協(xié)議棧[1]開發(fā),由于天地無線鏈路(通常為中繼鏈路)具有傳播延遲時延大、帶寬受限、誤碼率高、鏈路容量非對稱、通信易中斷等特征[2]。 國內外研究結果表明,標準TCP 協(xié)議直接應用于天地網絡環(huán)境傳輸性能將會下降(僅幾十至幾百kbps)[3-5],無法適應日益增長的網絡交互需求,為此需要研究一種適用于空間站天地網絡特性的TCP 傳輸性能優(yōu)化方法,提升網頁瀏覽、電子郵件、文件傳輸?shù)忍斓鼐W絡交互支持業(yè)務信息傳輸性能。
本文在研究天地鏈路TCP 降速機理的基礎上,分析了現(xiàn)有地面網絡常用的TCP 加速技術的不足;針對天地交互式網絡業(yè)務的工程現(xiàn)狀,提出了基于機器學習的空間站天地網絡TCP 傳輸性能優(yōu)化方法,實現(xiàn)了在數(shù)據(jù)傳輸過程中動態(tài)學習網絡特征、基于歷史可用帶寬進行窗口回退、引入數(shù)據(jù)包傳輸序號進行快速丟包判斷等優(yōu)化策略,并結合實驗室模擬環(huán)境與實際空間站工程天地網絡環(huán)境,對不同協(xié)議傳輸性能進行了測試比較,給出了測試結果。
丟包與時延對TCP 傳輸性能下降影響仿真結果見圖1,當端到端網絡數(shù)據(jù)傳輸通道上存在一定丟包和延時的情況下,TCP 連接的吞吐會顯著下滑,常常無法有效地利用帶寬,從而造成帶寬的閑置和浪費,導致長距離數(shù)據(jù)傳輸速度變慢。
圖1 丟包與時延對TCP 傳輸性能下降影響仿真結果Fig.1 Simulation results of the TCP degradation due to package loss and time delay
在空間站工程中,天地無線鏈路具有傳播延遲時延大、帶寬受限、誤碼率高、鏈路容量非對稱、通信易中斷等特征,標準TCP 協(xié)議直接應用于天地鏈路將導致業(yè)務傳輸性能下降。 標準TCP 協(xié)議的缺陷主要包括:
1) 未考慮非擁塞因素造成的丟包。 標準TCP 協(xié)議認為發(fā)生丟包的主要原因就是擁塞。超長距離空間鏈路條件下,高誤碼率引起端到端網絡傳輸丟包,導致標準TCP 協(xié)議常常進入過于保守的傳輸狀態(tài)。
2) 擁塞后的保守傳輸。 擁塞發(fā)生后,由于標準TCP 協(xié)議不清楚鏈路上實際可用的帶寬,往往采用大幅降低傳輸速率的方式進行恢復,導致鏈路帶寬的閑置。
3) 丟包重傳不夠及時。 標準TCP 協(xié)議通常采用2 種手段判斷丟包:①接收端統(tǒng)計連續(xù)重復確認包(Dup-ACK)的數(shù)量,當收到3 個Dup-ACK后即判斷為丟包;②ACK 超時后也判斷為丟包。當有較多丟包時,往往要靠ACK 超時來判讀超時并引發(fā)重傳。 現(xiàn)代網絡的丟包經常是陣發(fā),一個連接上有多個數(shù)據(jù)包同時丟失是常有的事。 因此,標準TCP 協(xié)議經常要靠超時來重傳補洞,往往導致幾秒甚至上十秒的等待狀態(tài),讓傳輸長時間停滯甚至斷線。
2.2.1 Loss-based TCP 加速技術
Loss-based TCP 加速技術,包括New Reno[6],BIC[7],Cubic[8]沿襲了主流TCP 以丟包來判斷擁塞并調整傳輸速率的方式,主要存在以下2 個問題:
1) 將丟包作為擁塞發(fā)生的信號很容易誤判,導致傳輸速率下降,帶寬得不到有效利用;
2) 現(xiàn)代網絡設備通常隊列比較深,當擁塞發(fā)生時隊列變長,延遲顯著提高,但丟包遲遲不會發(fā)生。 Loss-based TCP 加速機制將繼續(xù)高速傳輸直到隊列完全充滿,往往導致大量數(shù)據(jù)包丟失。 這不但加重了路徑節(jié)點擁塞,而且需要花更長時間從大量丟包中恢復過來,經常會導致傳輸阻滯。
2.2.2 Delay-based TCP 加速技術
Delay-based TCP 加速技術,包括Vegas[9],F(xiàn)astTCP[10]采用延遲的變化來判斷擁塞程度并相應調整傳輸速度,主要存在以下問題:
1) 當TCP 連接路徑上擁塞節(jié)點的隊列很淺時,延遲并不提高,擁塞體現(xiàn)為陣發(fā)的丟包。 Delay-based TCP 加速技術感應不到這種擁塞,會導致傳輸速率顯著降低;
2) 當網絡路徑本身的延遲就變化很大時,Delay-based TCP 加速技術會將非擁塞因素導致的延遲增加誤判為擁塞并轉入擁塞處理,從而導致沒有必要的壓低傳輸速率。
空間站長期有人駐留飛行期間,在軌航天員可使用專用筆記本電腦或手持終端(手機、平板電腦等)接入艙載WIFI 網絡,利用中繼衛(wèi)星提供的寬帶無線鏈路與地面飛控中心服務器進行局域網業(yè)務交互,實現(xiàn)網頁瀏覽、文件傳輸、電子郵件、即時通訊等功能,大大提升了天地協(xié)同效率。
目前,空間站天地網絡基于IP over CCSDS AOS 協(xié)議體系設計,通過系統(tǒng)間大型聯(lián)試開展了天地網絡業(yè)務信息傳輸性能測試,采用中繼前返向KSA 鏈路在地面飛控中心服務器與航天器筆記本終端之間進行了電子郵件、文件傳輸?shù)萒CP業(yè)務傳輸。 2021 年初,相關系統(tǒng)開展了星-星-地大回路端到端信息傳輸測試,結果表明,由于航天員專用筆記本采用通用操作系統(tǒng),基于標準TCP協(xié)議棧,不具備加速功能,因此下行TCP 業(yè)務數(shù)據(jù)傳輸速率不超過200 kbps(300 Mbps 帶寬),帶寬利用率很低;地面飛控中心服務器麒麟操作系統(tǒng)啟用了自帶的TCP Cubic 協(xié)議擴展選項,上行TCP 業(yè)務數(shù)據(jù)傳輸速率未超過 4.5 Mbps(10 Mbps 帶寬),帶寬利用率尚有一定拓展空間。
引入的TCP 優(yōu)化方法應滿足以下基本要求:1)具備良好的兼容性,各終端設備操作系統(tǒng)裝配的現(xiàn)有TCP 協(xié)議??刹蛔龈鼊?;
2)具備良好的適配性,各終端設備應用程序仍可與現(xiàn)有TCP 協(xié)議棧交互;
3)具有良好的數(shù)據(jù)一致性,不改變各應用程序業(yè)務數(shù)據(jù)內容及TCP 協(xié)議棧封裝格式,通過優(yōu)化擁塞控制算法,調整數(shù)據(jù)包傳送時機及重傳時機,達到協(xié)議優(yōu)化加速目的;
4)具有良好的拓撲一致性,部署時應確保維持空間站各艙段及飛控中心網絡拓撲及配置現(xiàn)狀。
針對現(xiàn)有地面網絡TCP 協(xié)議加速技術的不足,如TCP Cubic 基于的Loss-based 技術、Fast TCP 基于的Delay-based 技術,本文提出了基于機器學習的空間站天地網絡TCP 傳輸性能優(yōu)化方法。
3.2.1 算法機制
本文提出的TCP 優(yōu)化算法機制是通過一個自動學習狀態(tài)機(Learning State-Machine)來實現(xiàn),如圖2 所示,每一個TCP 連接都對應一個自動學習狀態(tài)機,記錄該TCP 連接的網絡路徑特征并動態(tài)決定適合該連接的擁塞判斷及恢復機制和丟包判斷機制。 圖中的數(shù)據(jù)流過濾器(Flow Profiler)主要負責直接提取網絡路徑外在特征并輸入給自動學習狀態(tài)機。 自動學習狀態(tài)機積累的智能信息被圖2 所示的丟包探測器、擁塞控制器、異常處理器、窗口控制器及資源管理器等模塊所使用,用于調整相應TCP 連接的傳輸行為。 異常處理器和窗口控制器模塊也會動態(tài)反饋信息給自動學習狀態(tài)機用于進一步優(yōu)化網絡路徑學習。
圖2 本文TCP 優(yōu)化算法機制Fig. 2 The mechanism of TCP optimization algorithm in this paper
3.2.2 算法特性
該方法采用網絡路徑特征自學習的動態(tài)算法,基于每一個TCP 連接實時觀察、分析網絡特征,根據(jù)學習到的網絡特征隨時調整算法來更準確的判斷擁塞程度、更及時地判斷丟包,從而更恰當?shù)倪M行擁塞處理并更快速的進行丟包恢復。
這一設計從原理上克服了靜態(tài)算法無法適應網絡路徑特征變化的問題,保證了在各種不同網絡環(huán)境及頻繁變化的網絡延遲、丟包特征下加速效果的持續(xù)有效性。 算法用于在傳輸過程中動態(tài)學習判斷每個特定連接的網絡路徑特征,如端到端延遲及其變化特征、接收端反饋數(shù)據(jù)包(ACK)的到達間隔及其變化、數(shù)據(jù)包逆序程度及變化特征、可能由安全設備深度數(shù)據(jù)檢測引起的延遲抖動、各種因素導致的隨機丟包等。 在實時跟蹤這些特征的同時,隨時綜合分析這些特征并從中推導出在這個特定TCP 連接網絡路徑上反映擁塞及丟包的前兆信號,再根據(jù)這些動態(tài)智能學習的結果判斷擁塞程度,決定與當前路徑可用帶寬相匹配的發(fā)送速度、擁塞恢復機制、并準確及時的進行丟包判斷及恢復。
本文所提TCP 傳輸優(yōu)化方法實現(xiàn)了數(shù)據(jù)傳輸過程中動態(tài)學習網絡特征、基于歷史可用帶寬進行窗口回退、引入數(shù)據(jù)包傳輸序號進行快速丟包判斷等優(yōu)化策略,可在不改變數(shù)據(jù)內容及封裝格式情況下,通過擁塞控制算法的改進來調整數(shù)據(jù)包的傳送及重傳時機,從而實現(xiàn)數(shù)據(jù)傳輸加速的目標,具體過程描述如下。
3.3.1 動態(tài)學習網絡特征
在TCP 數(shù)據(jù)傳輸過程中,本文優(yōu)化方法會動態(tài)追蹤某個特定TCP 連接的網絡傳輸鏈路,學習判斷該路徑的重要特征并進行統(tǒng)計,主要包括:
1)發(fā)送端與接收端統(tǒng)計端到端傳輸時延及其變化情況;
2)發(fā)送端統(tǒng)計接收端傳遞的反饋數(shù)據(jù)包(ACK)的到達時間間隔及其變化情況;
3)發(fā)送端與接收端統(tǒng)計前期數(shù)據(jù)傳輸期間的最大可用帶寬及其變化情況;4)接收端統(tǒng)計數(shù)據(jù)包逆序程度及變化情況;5)發(fā)送端與接收端收集分析可能由網絡安全設備深度檢測所引起的時延抖動情況。
在收發(fā)兩端實時跟蹤以上特征的同時,隨時分析網絡特征并從中推導出某特定TCP 連接的網絡鏈路上所反映出的擁塞及丟包潛在信息,然后根據(jù)動態(tài)智能學習結果判斷擁塞程度,確定與當前TCP 連接可用帶寬相匹配的發(fā)送速度、擁塞恢復機制,并準確及時的進行丟包判斷及恢復。
3.3.2 擁塞判斷與處置
在擁塞判斷與處置方面,主要功能包括:
1) 統(tǒng)計丟包和時延的雙重變化,引入TCP鏈路網絡特征自學習動態(tài)算法機制來提升擁塞判斷的準確性和及時性,通過動態(tài)學習分析的方式推導出TCP 鏈路上潛在的擁塞信號,過濾掉并非由擁塞導致的丟包和時延變化,避免非擁塞丟包導致的發(fā)送窗口回退。 擁塞機制對比示意見圖3所示。
當出現(xiàn)非擁塞導致的丟包,標準TCP 協(xié)議會誤判為鏈路擁塞,對TCP 發(fā)送窗口盲目回退,導致傳輸速度大幅下降;經過TCP 優(yōu)化后,可以精準判斷出丟包是非擁塞因素造成,不進行TCP 發(fā)送窗口回退,保證傳輸速率不產生回退。
2) 基于歷史可用最大可用帶寬及其變化進行歷史窗口回退,優(yōu)化算法隨時總結逼近當前TCP 鏈接上的實際可用帶寬(使用略低的傳輸速率以清空路徑隊列,有利于網絡擁塞節(jié)點的狀態(tài)恢復)。 當擁塞發(fā)生時,使用當前最佳逼近結果來決定發(fā)送窗口的回退幅度,保持較高的傳輸速率,擁塞機制對比示意圖如圖4 所示。 對于標準TCP,發(fā)生丟包后,TCP 發(fā)送窗口會固定大幅回退固定的比例;經過TCP 優(yōu)化后,如果丟包被判斷為鏈路擁塞導致,會基于歷史傳輸信息進行窗口回退,回退至上一次未發(fā)生擁塞時的TCP 發(fā)送窗口。
圖4 擁塞機制對比示意圖2Fig.4 Comparison diagram 2 of congestion control
3.3.3 快速丟包判斷
在快速丟包判斷方面,主要功能包括:
1) 引入TCP 連接路徑網絡特征自學習動態(tài)算法來快速預測丟包;
2) 在TCP 發(fā)送側跟蹤數(shù)據(jù)包的發(fā)送順序,并在發(fā)送時為每個數(shù)據(jù)包分配一個order-stamp(數(shù)據(jù)包發(fā)送順序序號記錄值),根據(jù)來自接收側的ACK 或SACK 信息記錄的接收到的數(shù)據(jù)包的highest- recv-order(接收端已確認收到數(shù)據(jù)包的最大序號),以未被ACK 或SACK 且具有小于highest-recv-order 的order-stamp 值作為丟包信號,重傳這些order-stamp 值的數(shù)據(jù)包。 丟包判斷機制對比示意圖如圖5 所示。 發(fā)生丟包后,標準TCP 協(xié)議會在發(fā)送端收到3 個Dup-ACK 之后判斷為丟包;經過TCP 協(xié)議優(yōu)化之后,發(fā)送端在收到order-stamp 值作為的丟包信號之后立刻判斷為丟包,可以縮短丟包判斷的時間。
圖5 快速丟包判斷機制對比示意圖Fig.5 Comparison of fast package loss detection
3) 發(fā)送一個字節(jié)探測數(shù)據(jù)包,從接收側觸發(fā)ACK 或SACK 以檢測分組丟失,并避免超時重傳。
在超長距離傳輸網絡中,如光纖、空間無線環(huán)境,這種比標準TCP 協(xié)議更快的丟包重傳機制,有利于維持更快速穩(wěn)定的數(shù)據(jù)傳輸速率。
TCP 協(xié)議優(yōu)化引擎以TCP 代理方式工作在操作系統(tǒng)TCP 協(xié)議棧和網絡接口驅動模塊之間,對內LAN 側與操作系統(tǒng)TCP 協(xié)議棧交互,對外WAN 側將數(shù)據(jù)包送到網卡驅動。
TCP 協(xié)議優(yōu)化的工作方式如圖6 所示,在空間站天地一體網絡化信息傳輸系統(tǒng)中,廣域網由地面飛控中心、中繼衛(wèi)星系統(tǒng)、空間站構成的中繼前返向KSA 鏈路所表征。 該工作方式對應用程序及網絡拓撲全透明。 TCP 協(xié)議優(yōu)化引擎不需要與上層應用有任何交互,也對具體網絡接口沒有任何要求,可實現(xiàn)全透明安裝及全透明工作模式。
圖6 TCP 協(xié)議優(yōu)化工作框圖Fig.6 Block diagram of TCP optimization
在實驗室搭建模擬測試環(huán)境,服務器和客戶端之間串接網絡損傷儀,通過網絡損傷儀調整鏈路時延、時延抖動、丟包率等參數(shù),得到模擬環(huán)境TCP 優(yōu)化效果試驗結果如表1 所示,其中時延固定取值為600 ms、時延抖動固定取值為30 ms,加速比為優(yōu)化后速率/優(yōu)化前速率的比值。
表1 實驗室模擬環(huán)境TCP 優(yōu)化試驗結果Table 1 Results of TCP throughput optimization test in lab
根據(jù)表1 測試結果,在鏈路丟包率從0.1%至10%區(qū)間范圍內變化時,本文提出的TCP 優(yōu)化方法均能有效提升TCP 業(yè)務的信息傳輸吞吐量,加速比不低于5.4(優(yōu)于7.3 dB)。 進一步測試可知,當鏈路丟包率大于10%后,標準TCP 業(yè)務速率很低,TCP 優(yōu)化方法的加速效果也并不明顯,可見鏈路質量對于TCP 傳輸業(yè)務具有重要影響。
2021 年3 月,開展了空間站天地網絡TCP 加速專項測試,通過前返向中繼KSA 鏈路測試了航天器載筆記本與地面飛控中心服務器之間雙向文件傳輸性能。 測試結果表明,本文提出的TCP 優(yōu)化方法加速性能良好,在前向10 Mbps、返向300 Mbps、往返時延約550 ms 的實際中繼KSA 信道條件下,可大幅提升天地網絡TCP 業(yè)務信息傳輸性能,具體表現(xiàn)為:①上行文件傳輸平均速率由TCP Cubic 條件下的3.4 Mbps 提升至6.82 Mbps,加速比不低于2,信息傳輸增益優(yōu)于3 dB;②下行文件傳輸平均速率由標準TCP 條件下的168.51 kbps提升至12.49 Mbps,加速比不低于74,信息傳輸增益優(yōu)于18 dB。
通過分析可知,由于空間無線鏈路傳輸損耗和信道噪聲信號干擾,數(shù)據(jù)傳輸過程中會產生一定的丟包率,本文提出的TCP 優(yōu)化方法在測試中正確的識別出了這類非鏈路擁塞導致的丟包,避免了非擁塞丟包導致的發(fā)送窗口回退;同時在真正發(fā)生擁塞丟包時,進行更快速的丟包判斷,并把發(fā)送窗口回退到逼近當前實際可用帶寬(不會發(fā)生擁塞)的發(fā)送窗口值。 通過上述2 個方面優(yōu)化,達到了相對于標準TCP 協(xié)議更高的相對穩(wěn)定的平均傳輸速度。
在實驗室模擬環(huán)境中,客戶端與服務器之間通過有線鏈路互聯(lián)互通,網絡層及傳輸層采用標準TCP/IP 協(xié)議棧,附加TCP 優(yōu)化模塊,鏈路層為局域網協(xié)議,網絡特征具有節(jié)點數(shù)目有限、網絡拓撲簡單、雙向帶寬對稱性、可用帶寬大、往返時延抖動較小等特點,TCP 數(shù)據(jù)傳輸業(yè)務流量較為平穩(wěn),測試結果可為本文所提TCP 優(yōu)化方法提供可行性驗證,為后續(xù)開展空間站工程測試提供了先決條件。
在空間站天地網絡鏈路條件下,客戶端與服務器之間通過空間無線鏈路互聯(lián)互通,網絡層及傳輸層采用標準TCP/IP 協(xié)議棧,附加TCP 優(yōu)化模塊,鏈路層為基于CCSDS AOS 的IP 封裝協(xié)議,網絡特征具有節(jié)點數(shù)目多、網絡拓撲復雜(客戶端與服務器跨接了空間站局域網、中繼衛(wèi)星鏈路、地面通信網3 個不同的子網)、帶寬非對稱性、上行可用帶寬受限等特點,TCP 數(shù)據(jù)傳輸業(yè)務流量略有起伏,在數(shù)據(jù)格式定義及天地鏈路特性等方面均與實驗室環(huán)境具有較大差異,測試結果在傳輸加速比、吞吐量等方面具有一定的差異性,盡管如此,二者都對本文所提TCP 優(yōu)化方法進行了有效驗證。
本文提出了一種適用于空間站天地網絡特性的TCP 傳輸性能優(yōu)化方法。
1) 針對現(xiàn)有地面網絡TCP 協(xié)議加速技術的不足,實現(xiàn)了傳輸過程中動態(tài)學習網絡路徑特征、基于歷史可用帶寬進行窗口回退、引入數(shù)據(jù)包傳輸序號進行快速丟包判斷等優(yōu)化策略。
2) 通過實驗室模擬環(huán)境測試及空間站天地網絡實際鏈路測試,TCP 優(yōu)化方法可大幅提升天地網絡TCP 業(yè)務信息傳輸性能,為后續(xù)開展天地網絡交互式業(yè)務提供了高速可靠的信息傳輸保障條件。