柏長帥,孫榮平,曲媛媛
(1.海軍航空工程學院 青島校區,山東 青島 266041;2. 91033 部隊二大隊三中隊,山東 青島 266041)
近幾年,數據鏈在空戰中的重要性日益突出,以美國為代表的世界軍事列強都在加快對航空數據鏈的開發研究。由于空中飛行器的移動速度極快,飛行軌跡無章可循,這就使得數據鏈網絡拓撲結構呈高動態的變化,各個飛行器必須具有分布控制和多跳組網的能力,而目前使用的航空數據鏈網絡在運行中仍然依賴航空中主節點和地面固定基站的支持,節點的拓撲結構和通信鏈路也是預先設定好而不可變的,所以不能完全滿足戰時航空數據鏈應用的需求。基于MANET 的航空數據鏈網絡正是在此背景下提出。
數據鏈(data link,DL)又稱戰術數字信息鏈(TADIL)或戰術數據鏈(TDL)是鏈接數字化戰場上的指揮中心、作戰部隊、武器平臺的一種信息處理、交換和分發系統,是采用無線網絡通信技術和應用協議,實現機載、陸基和艦載各類信息源和數據終端互聯互通,從而最大限度地發揮作戰效能的信息系統[1-2]。航空數據鏈即為主要應用于空地、空空節點間的數據鏈網絡,其結構如圖1 所示。

圖1 航空數據鏈網絡示意圖
移動無線自組織網絡(mobile ad hoc network,MANET)是一種多跳、無中心、自組織無線網絡,其整個網絡沒有固定的基礎設施,又稱為多跳(multi-hop network)、無基礎設施網(infrastructureless network)或自組織網(self-or-ganizing network)[3]。MANET 具有其獨特的優點,首先MANET 中的每個節點可以自由移動,通過無線連接組成任意的網絡拓撲結構,這就使得它具有很高的生存能力和靈活性。其次,MANET 中的節點除了具備普通的終端功能外,還具有路由和報文轉發的功能,因此特別適合用于機動通信和不易建設固定通信設施的特殊場合。所以將MANET 用于航空數據鏈中可以適應空戰環境瞬息萬變的特點,保證空地、空空之間戰術信息的實時傳遞。
MANET 對用戶來說是一個復雜的網絡系統,將其應用于航空數據鏈仍有許多關鍵技術有待進一步研究解決,其中傳輸控制協議(transmission control protocol,TCP)的應用就是研究熱點問題之一。TCP 是一個根據有效網絡帶寬控制其承載載荷(通過調整其窗口大小)的自適應傳輸協議,一種面向連接的可靠傳輸層協議,最初是針對有線網絡而設計的。傳統TCP 認為丟包的原因是由于網絡擁塞所導致。在MANET 中,無線鏈路的高誤碼率和節點高速移動等會導致丟包,多路徑路由和節點路由切換等會導致亂序。而TCP 并沒有考慮非擁塞因素所引起的亂序和丟包,如果不加改進地把傳統TCP 應用于MANET 中,它會把非擁塞亂序和包丟失也當作是網絡擁塞導致,從而錯誤地進入擁塞控制機制,這將導致航空數據鏈吞吐量減小,性能下降,嚴重影響網絡的效能[4-5]。
TCP 協議在無線自組織網絡中的性能有明顯的下降,這是因為TCP 面臨著MANET 網絡中固有的一系列問題,這些問題使得傳輸層以下的網絡架構不像有線網絡的情況那么理想化。
MANET 網絡的資源非常有限,而且隨著節點的增多以及TCP 流發送端和接收端跨度的增加,網絡有效帶寬將變得很小;另外,,傳統TCP 發送端的cwnd 往往趨于一個較大的值,擁塞窗口控制算法在MANET 中顯得過于激進,這會嚴重加劇MANET 中的擁塞。
MANET 網絡采用無線鏈路進行數據傳輸。無線鏈路是開放的有損傳輸媒介,影響其質量的因素有很多,如多徑衰落、陰影效應和噪聲等,使之具有比較高的比特誤碼。而比特誤碼會引起數據報文的丟失和延遲。如果網絡出現了比特誤碼,TCP 會認為是網絡出現了擁塞,這樣會使TCP 頻繁調用慢啟動算法,造成TCP 吞吐量的下降[6]。
由于節點的自由移動加上無線信道的競爭,常常造成路由失效。當路由中斷后,在新的路由沒發現之前,不應該立即重傳數據報文,因為重傳仍然到達不了目的節點,網絡資源被浪費。當路由恢復后,TCP 進入慢啟動階段降低數據的發送速率。傳統的TCP 協議不能檢測路由中斷是否恢復,只在RTO 超時后重發丟失的數據報。當節點移動的頻率比較高時,路由頻繁失效會極大地降低TCP 在MANET 網絡的性能。
由于節點可以隨意地移動位置,有時位置的移動常常會引起網絡分割的問題。網絡分割就是由于節點在移動后導致某條鏈路斷開,網絡被分割成2 個獨立的網絡,如圖2所示。

圖2 網絡分割
在MANET 網絡中,往往使用多路徑路由協議(如TORA:temporally-ordered routing algorithm)來解決因節點移動而導致的路由中斷,而路由的頻繁切換容易產生數據報亂序問題,這會引起重復確認ACK 事件,發送端也會進行重傳。這不僅浪費了網絡資源,而且可能會因為進入擁塞避免階段而降低TCP 的吞吐量[7]。
在MANET 中,由于節點所處位置的不同,TCP 會出現短期不穩定性或長期不兼容性。隱藏點問題將加劇短期的不公平性,同時也讓一些節點長期競爭不到信道[8]。
針對MANET 網絡環境下,傳統的TCP 性能下降問題,近年來,國內外研究人員對此進行了大量的研究和探討,提出了許多TCP 優化方案,TCP 優化方案分類如圖3 所示。

圖3 TCP 優化方案分類
網絡反饋的優化方案主要利用OSI 參考模型中2 層或2層以上的信息交互來完成,通過下層代理為上層提供更多的信息(例如指明丟包的非擁塞原因)來協助上層更好地識別網絡狀態和數據傳輸情況。
TCP-F(tcp-feedback),如圖4,當中間節點檢測到當前路徑出現故障,立刻向發送端發送路由不可達通告RFN(route failure notification)。發送端接收到RFN 后,進入凍結狀態(凍結當前的狀態變量),并停止發送數據分組。當發送端接收到中間節點發送的路由重建通告RRN(route re-establishment notification)時,立刻解凍并按之前的狀態變量傳輸數據。為了防止TCP 一直處于凍結狀態,當收到RFN 時,TCP發送端開啟路由故障計時器,一旦路由故障計時器超時,則認為網絡發生了擁塞,擁塞控制機制被觸發。通過仿真表明,TCP-Feedback 方案與原始TCP 相比,明顯提高了MANET的吞吐量,使得TCP 發送端在路由重建后能夠繼續以較大的窗口進行分組傳輸。

圖4 TCP-F 工作流程
ATCP(Ad hoc TCP)[9]:在發送端的傳輸層和網絡層之間插入中間層ATCP,該中間層監聽來自網絡層的信息。發送端TCP 具有3 個狀態:堅持狀態(persist state)、擁塞控制狀態、重傳狀態。當發送端接收到來自ICMP 的“主機不可達”消息時,TCP 進入堅持狀態(探測路由是否重建),保存當前狀態變量,直到收到路由重建通告再發送分組。當收到顯式擁塞通告(ECN)時,TCP 擁塞控制機制立即被觸發。TCP通過監測接收到的重復確認分組Ack 數量來判定信道的優劣。當ATCP 收到3 個重復的分組確認ACK 時,TCP 進入重傳狀態并重傳丟失的分組直到收到下一個分組確認。ATCP不僅可以解決TCP 在MANET 網絡中因網絡拓撲頻繁變化導致的路由故障問題,還可以解決諸如高誤比特率,網絡擁塞,以及分組排序的問題,這使得ATCP 方案大大提高了TCP在MANET 中的性能。
EPLN and BEAD(early packet loss notification and best-effort ack delivery)[10]:核心思想是中間節點一旦檢測到數據分組丟失便會通知發送端,一旦檢測到確認分組丟失便會利用緩存路由重傳確認分組。研究人員考慮3 種分組可能遇到路由故障:數據分組(data packets),確認分組(ACKs)以及分組丟失通告(packet loss notifications)。網絡層總是盡它的最大努力讓TCP 發送端知道數據分組丟失的發生,它也會重傳ACK。這2 種反饋機制能夠適用于任何路由協議,因為它們解決了網絡層常見的問題——路由故障導致的分組丟失。路由緩存在這兩種機制中扮演了很重要的角色。通過和TCP-ELFN 進行對比,結果表明應用了EPLN 和BEAD 機制的TCP 性能比應用了TCP-ELFN 機制的性能有了30%的提高,把TCP-ELFN、EPLN 和BEAD 3 種機制組合起來的性能提高了70%。實驗表明這2 種機制在節點高速移動(20 m/s)的情況下也表現出了良好的性能。
端到端的優化思想與基于網絡反饋的改進思想不同,直接對傳統TCP 協議進行改進,包括對擁塞機制和發送窗口的改進,使其更好地支持MANET 中TCP 傳輸的需要。
Fixed RTO[11]:不需要網絡層信息的反饋,而是根據MANET 網絡的特點對標準TCP 進行了一定的修改。當連續兩次發生超時事件時,發送端TCP 假定網絡路由出現了故障,并立即重傳未被確認的分組,但是重傳計時器并不加倍而是保持原值直到收到重傳分組的確認。通過仿真表明,采用按需路由協議時RTO 技術使得TCP 性能有所提高。
TCP DOOR(tcp detection of out-of-order and response)[12]:通過檢測收到的分組是否存在“OOO”來判斷路由是否出現故障。在發送端,TCP 通過確認分組ACK 的序列號來檢測亂序事件是否發生,因此需要在ACK 分組中添加一字節字段ADSN (ACK Duplication Sequence Number,ACK 分組序列號),接收端每確認一個分組,都會增加ADSN 值,這樣使得發送端能夠依據此字段來檢測收到的重復ACK 是否亂序從而判斷網絡是否出現故障。對于接收端,TCP 需要兩個字節字段TPSN(tcp packet sequence number,TCP 分組序列號)來檢測亂序事件。每發送一個分組,TPSN 均增加,不管這個分組是否是重傳的。接收端檢測到亂序事件發生時,便通過在ACK 分組頭部設置OOO 位向發送端告知亂序事件發生。TCP 發送端得知亂序事件發生時,有2 種反應機制:臨時屏蔽擁塞控制機制和擁塞避免間的快速恢復機制。臨時屏蔽擁塞控制機制是指發送端在特定時間內(T1)屏蔽掉擁塞控制機制從而保存當前狀態變量。擁塞避免間的快速恢復機制是指如果在此之前的特定時間內(T2),TCP 啟用了擁塞控制機制,則TCP 發送端應立刻恢復到啟用擁塞控制機制之前的狀態(T1和T2被設置為了RTT 的函數)。仿真表明TCP DOOR 比TCP 性能提高了50%,但若在自組網中采用多徑路由進行數據傳輸則會導致更多的亂序事件發生,此時如何區分分組亂序事件的緣由則有待進一步的研究。
TCP 緩存方案保持了TCP 端到端的語義,在中間節點增加探測代理機制,用中間節點來緩存探測數據包的發送和確認信息,使中間節點能準確區分擁塞或其它原因產生的傳輸錯誤,根據情況決定是否重發緩存中的數據包,并提供選擇性的重發。
TCP-BuS(tcp buffering capability and sequence information)[13],同TCP-F 一樣需要與中間節點的合作,新增2 個分組類型:顯式路由故障通告和顯式路由重建通告。但是不同之處在于TCP-BuS 提高了移動節點的緩存能力,在路由重建過程中,從源節點到中間節點的分組被緩存起來,當路由重建以后,繼續發送這些被緩存的分組。通過仿真表明,基于ABR(associativity-based routing)協議,TCP-BuS 明顯優于標準TCP 和TCP-F 的性能。然而,遺留的問題是在新的路由長時間不能夠重建的情況下,這些分組是繼續緩存還是丟棄的解決方案。
Split TCP[14]:引入分割TCP,目的是把邏輯上多跳的TCP 連接分割成短的局部分段,提高TCP 連接的吞吐量和解決TCP 的不公平性問題。代理節點(同屬于2 個局部分段的中間節點)截獲TCP 分組并緩存它們,然后向發送端或者前面一個代理節點發送一個本地LACK。同樣,代理節點也能夠以一定的速率繼續傳遞分組,一旦收到LACK(從下一代理節點或者終端),便釋放緩存分組。為了保證源端到目的端的可靠性,仿真結果表明,3 ~5 跳的距離設置一個代理節點對TCP 吞吐量和公平性有很大的改善,采用分割TCP 可提高TCP 性能達30%。但是,這也會導致代理節點需要大量緩存和網絡過載,使得代理節點過于復雜。
通過表1、表2 比較跨層方案與分層方案的優缺點。

表1 跨層方案優缺點

表2 分層方案優缺點
跨層方案與分層方案各有利弊,每種優化方案都從不同的角度對其性能有所提升,在今后的研究中,要根據航空數據鏈的實際需求,著重從減少網絡擁塞、減小數據傳輸時延、提高網絡吞吐量等方面提高TCP 的性能。
[1]王瑩.戰術數據鏈Link11 的仿真研究[D].成都:西南交通大學,2008.
[2]張磊.航空數據鏈組網技術研究[D].西安:西安電子科技大學,2010.
[3]王旖. 無線移動自組織網絡[J]. 科技向導,2011(17):326.
[4]倪長寶.Ad Hoc 網絡TCP 性能分析及改進研究[D].大連:大連理工大學,2012.
[5]孫長永.無線移動自組織網絡傳輸控制協議分析研究[D].成都:電子科技大學,2010.
[6]張曉琴,梁靚.MANET 中TCP 性能改進研究[J].通信技術,2009(7):239-241.
[7]孫偉,溫濤,郭權.MAENT 中TCP 數據包的亂序問題及其解決方案[J].計算機科學,2009(8):82-85.
[8]任偉,金海.TCP 在多跳移動Ad Hoc 網絡中的公平性研究[J].計算機工程與科學,2007(9):1-8.
[9]Liu J,Singh S.ATCP:TCP for mobile ad hoc networks[J].IEEE JSAC,2001,19(7):1300-1315.
[10]Xin Yu.TCP performance over mobile ad hoc networks[J].MobiCom’04,Philadelphia,Pennsylvania,2004(1):26.
[11]Dyer T,Boppana R.A comparison of TCP performance over three routing protocols for mobile ad hoc networks[C]//In Proc.of ACM MOBIHOC. Long Beach,CA,USA,2001:56-66.
[12]Wang F,Zhang Y.Improving TCP performance over mobile ad hoc networks with out-of-order detection and response[C]//In Proc.of ACM MOBIHOC.Lausanne,Switzerland,2002(7):217-225.
[13]Kim D,Toh C,Choi Y.TCP-BuS:Improving TCP performance in wireless ad hoc networks[J].Journal of Communications and Networks,2001(7):175-186.
[14]Kopparty S,Krishnamurthy S,Faloutous M. Split TCP for mobile ad hoc networks[C]//In Proc. of IEEE GLOBECOM.[S.l.]:[s.n.],2002.
[15]楊光,周經倫,王文政.數據鏈仿真研究[J].火力與指揮控制,2011(5):4-7.
[16]王永安,李世忠,關成斌.數據鏈航跡與ESM 間斷航跡融合跟蹤精度研究[J]. 海軍航空工程學院學報,2012(4):401-408.