柏長(zhǎng)帥,孫榮平,曲媛媛
(1.海軍航空工程學(xué)院 青島校區(qū),山東 青島 266041;2. 91033 部隊(duì)二大隊(duì)三中隊(duì),山東 青島 266041)
近幾年,數(shù)據(jù)鏈在空戰(zhàn)中的重要性日益突出,以美國(guó)為代表的世界軍事列強(qiáng)都在加快對(duì)航空數(shù)據(jù)鏈的開發(fā)研究。由于空中飛行器的移動(dòng)速度極快,飛行軌跡無章可循,這就使得數(shù)據(jù)鏈網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)呈高動(dòng)態(tài)的變化,各個(gè)飛行器必須具有分布控制和多跳組網(wǎng)的能力,而目前使用的航空數(shù)據(jù)鏈網(wǎng)絡(luò)在運(yùn)行中仍然依賴航空中主節(jié)點(diǎn)和地面固定基站的支持,節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu)和通信鏈路也是預(yù)先設(shè)定好而不可變的,所以不能完全滿足戰(zhàn)時(shí)航空數(shù)據(jù)鏈應(yīng)用的需求?;贛ANET 的航空數(shù)據(jù)鏈網(wǎng)絡(luò)正是在此背景下提出。
數(shù)據(jù)鏈(data link,DL)又稱戰(zhàn)術(shù)數(shù)字信息鏈(TADIL)或戰(zhàn)術(shù)數(shù)據(jù)鏈(TDL)是鏈接數(shù)字化戰(zhàn)場(chǎng)上的指揮中心、作戰(zhàn)部隊(duì)、武器平臺(tái)的一種信息處理、交換和分發(fā)系統(tǒng),是采用無線網(wǎng)絡(luò)通信技術(shù)和應(yīng)用協(xié)議,實(shí)現(xiàn)機(jī)載、陸基和艦載各類信息源和數(shù)據(jù)終端互聯(lián)互通,從而最大限度地發(fā)揮作戰(zhàn)效能的信息系統(tǒng)[1-2]。航空數(shù)據(jù)鏈即為主要應(yīng)用于空地、空空節(jié)點(diǎn)間的數(shù)據(jù)鏈網(wǎng)絡(luò),其結(jié)構(gòu)如圖1 所示。
圖1 航空數(shù)據(jù)鏈網(wǎng)絡(luò)示意圖
移動(dòng)無線自組織網(wǎng)絡(luò)(mobile ad hoc network,MANET)是一種多跳、無中心、自組織無線網(wǎng)絡(luò),其整個(gè)網(wǎng)絡(luò)沒有固定的基礎(chǔ)設(shè)施,又稱為多跳(multi-hop network)、無基礎(chǔ)設(shè)施網(wǎng)(infrastructureless network)或自組織網(wǎng)(self-or-ganizing network)[3]。MANET 具有其獨(dú)特的優(yōu)點(diǎn),首先MANET 中的每個(gè)節(jié)點(diǎn)可以自由移動(dòng),通過無線連接組成任意的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),這就使得它具有很高的生存能力和靈活性。其次,MANET 中的節(jié)點(diǎn)除了具備普通的終端功能外,還具有路由和報(bào)文轉(zhuǎn)發(fā)的功能,因此特別適合用于機(jī)動(dòng)通信和不易建設(shè)固定通信設(shè)施的特殊場(chǎng)合。所以將MANET 用于航空數(shù)據(jù)鏈中可以適應(yīng)空戰(zhàn)環(huán)境瞬息萬變的特點(diǎn),保證空地、空空之間戰(zhàn)術(shù)信息的實(shí)時(shí)傳遞。
MANET 對(duì)用戶來說是一個(gè)復(fù)雜的網(wǎng)絡(luò)系統(tǒng),將其應(yīng)用于航空數(shù)據(jù)鏈仍有許多關(guān)鍵技術(shù)有待進(jìn)一步研究解決,其中傳輸控制協(xié)議(transmission control protocol,TCP)的應(yīng)用就是研究熱點(diǎn)問題之一。TCP 是一個(gè)根據(jù)有效網(wǎng)絡(luò)帶寬控制其承載載荷(通過調(diào)整其窗口大小)的自適應(yīng)傳輸協(xié)議,一種面向連接的可靠傳輸層協(xié)議,最初是針對(duì)有線網(wǎng)絡(luò)而設(shè)計(jì)的。傳統(tǒng)TCP 認(rèn)為丟包的原因是由于網(wǎng)絡(luò)擁塞所導(dǎo)致。在MANET 中,無線鏈路的高誤碼率和節(jié)點(diǎn)高速移動(dòng)等會(huì)導(dǎo)致丟包,多路徑路由和節(jié)點(diǎn)路由切換等會(huì)導(dǎo)致亂序。而TCP 并沒有考慮非擁塞因素所引起的亂序和丟包,如果不加改進(jìn)地把傳統(tǒng)TCP 應(yīng)用于MANET 中,它會(huì)把非擁塞亂序和包丟失也當(dāng)作是網(wǎng)絡(luò)擁塞導(dǎo)致,從而錯(cuò)誤地進(jìn)入擁塞控制機(jī)制,這將導(dǎo)致航空數(shù)據(jù)鏈吞吐量減小,性能下降,嚴(yán)重影響網(wǎng)絡(luò)的效能[4-5]。
TCP 協(xié)議在無線自組織網(wǎng)絡(luò)中的性能有明顯的下降,這是因?yàn)門CP 面臨著MANET 網(wǎng)絡(luò)中固有的一系列問題,這些問題使得傳輸層以下的網(wǎng)絡(luò)架構(gòu)不像有線網(wǎng)絡(luò)的情況那么理想化。
MANET 網(wǎng)絡(luò)的資源非常有限,而且隨著節(jié)點(diǎn)的增多以及TCP 流發(fā)送端和接收端跨度的增加,網(wǎng)絡(luò)有效帶寬將變得很小;另外,,傳統(tǒng)TCP 發(fā)送端的cwnd 往往趨于一個(gè)較大的值,擁塞窗口控制算法在MANET 中顯得過于激進(jìn),這會(huì)嚴(yán)重加劇MANET 中的擁塞。
MANET 網(wǎng)絡(luò)采用無線鏈路進(jìn)行數(shù)據(jù)傳輸。無線鏈路是開放的有損傳輸媒介,影響其質(zhì)量的因素有很多,如多徑衰落、陰影效應(yīng)和噪聲等,使之具有比較高的比特誤碼。而比特誤碼會(huì)引起數(shù)據(jù)報(bào)文的丟失和延遲。如果網(wǎng)絡(luò)出現(xiàn)了比特誤碼,TCP 會(huì)認(rèn)為是網(wǎng)絡(luò)出現(xiàn)了擁塞,這樣會(huì)使TCP 頻繁調(diào)用慢啟動(dòng)算法,造成TCP 吞吐量的下降[6]。
由于節(jié)點(diǎn)的自由移動(dòng)加上無線信道的競(jìng)爭(zhēng),常常造成路由失效。當(dāng)路由中斷后,在新的路由沒發(fā)現(xiàn)之前,不應(yīng)該立即重傳數(shù)據(jù)報(bào)文,因?yàn)橹貍魅匀坏竭_(dá)不了目的節(jié)點(diǎn),網(wǎng)絡(luò)資源被浪費(fèi)。當(dāng)路由恢復(fù)后,TCP 進(jìn)入慢啟動(dòng)階段降低數(shù)據(jù)的發(fā)送速率。傳統(tǒng)的TCP 協(xié)議不能檢測(cè)路由中斷是否恢復(fù),只在RTO 超時(shí)后重發(fā)丟失的數(shù)據(jù)報(bào)。當(dāng)節(jié)點(diǎn)移動(dòng)的頻率比較高時(shí),路由頻繁失效會(huì)極大地降低TCP 在MANET 網(wǎng)絡(luò)的性能。
由于節(jié)點(diǎn)可以隨意地移動(dòng)位置,有時(shí)位置的移動(dòng)常常會(huì)引起網(wǎng)絡(luò)分割的問題。網(wǎng)絡(luò)分割就是由于節(jié)點(diǎn)在移動(dòng)后導(dǎo)致某條鏈路斷開,網(wǎng)絡(luò)被分割成2 個(gè)獨(dú)立的網(wǎng)絡(luò),如圖2所示。
圖2 網(wǎng)絡(luò)分割
在MANET 網(wǎng)絡(luò)中,往往使用多路徑路由協(xié)議(如TORA:temporally-ordered routing algorithm)來解決因節(jié)點(diǎn)移動(dòng)而導(dǎo)致的路由中斷,而路由的頻繁切換容易產(chǎn)生數(shù)據(jù)報(bào)亂序問題,這會(huì)引起重復(fù)確認(rèn)ACK 事件,發(fā)送端也會(huì)進(jìn)行重傳。這不僅浪費(fèi)了網(wǎng)絡(luò)資源,而且可能會(huì)因?yàn)檫M(jìn)入擁塞避免階段而降低TCP 的吞吐量[7]。
在MANET 中,由于節(jié)點(diǎn)所處位置的不同,TCP 會(huì)出現(xiàn)短期不穩(wěn)定性或長(zhǎng)期不兼容性。隱藏點(diǎn)問題將加劇短期的不公平性,同時(shí)也讓一些節(jié)點(diǎn)長(zhǎng)期競(jìng)爭(zhēng)不到信道[8]。
針對(duì)MANET 網(wǎng)絡(luò)環(huán)境下,傳統(tǒng)的TCP 性能下降問題,近年來,國(guó)內(nèi)外研究人員對(duì)此進(jìn)行了大量的研究和探討,提出了許多TCP 優(yōu)化方案,TCP 優(yōu)化方案分類如圖3 所示。
圖3 TCP 優(yōu)化方案分類
網(wǎng)絡(luò)反饋的優(yōu)化方案主要利用OSI 參考模型中2 層或2層以上的信息交互來完成,通過下層代理為上層提供更多的信息(例如指明丟包的非擁塞原因)來協(xié)助上層更好地識(shí)別網(wǎng)絡(luò)狀態(tài)和數(shù)據(jù)傳輸情況。
TCP-F(tcp-feedback),如圖4,當(dāng)中間節(jié)點(diǎn)檢測(cè)到當(dāng)前路徑出現(xiàn)故障,立刻向發(fā)送端發(fā)送路由不可達(dá)通告RFN(route failure notification)。發(fā)送端接收到RFN 后,進(jìn)入凍結(jié)狀態(tài)(凍結(jié)當(dāng)前的狀態(tài)變量),并停止發(fā)送數(shù)據(jù)分組。當(dāng)發(fā)送端接收到中間節(jié)點(diǎn)發(fā)送的路由重建通告RRN(route re-establishment notification)時(shí),立刻解凍并按之前的狀態(tài)變量傳輸數(shù)據(jù)。為了防止TCP 一直處于凍結(jié)狀態(tài),當(dāng)收到RFN 時(shí),TCP發(fā)送端開啟路由故障計(jì)時(shí)器,一旦路由故障計(jì)時(shí)器超時(shí),則認(rèn)為網(wǎng)絡(luò)發(fā)生了擁塞,擁塞控制機(jī)制被觸發(fā)。通過仿真表明,TCP-Feedback 方案與原始TCP 相比,明顯提高了MANET的吞吐量,使得TCP 發(fā)送端在路由重建后能夠繼續(xù)以較大的窗口進(jìn)行分組傳輸。
圖4 TCP-F 工作流程
ATCP(Ad hoc TCP)[9]:在發(fā)送端的傳輸層和網(wǎng)絡(luò)層之間插入中間層ATCP,該中間層監(jiān)聽來自網(wǎng)絡(luò)層的信息。發(fā)送端TCP 具有3 個(gè)狀態(tài):堅(jiān)持狀態(tài)(persist state)、擁塞控制狀態(tài)、重傳狀態(tài)。當(dāng)發(fā)送端接收到來自ICMP 的“主機(jī)不可達(dá)”消息時(shí),TCP 進(jìn)入堅(jiān)持狀態(tài)(探測(cè)路由是否重建),保存當(dāng)前狀態(tài)變量,直到收到路由重建通告再發(fā)送分組。當(dāng)收到顯式擁塞通告(ECN)時(shí),TCP 擁塞控制機(jī)制立即被觸發(fā)。TCP通過監(jiān)測(cè)接收到的重復(fù)確認(rèn)分組Ack 數(shù)量來判定信道的優(yōu)劣。當(dāng)ATCP 收到3 個(gè)重復(fù)的分組確認(rèn)ACK 時(shí),TCP 進(jìn)入重傳狀態(tài)并重傳丟失的分組直到收到下一個(gè)分組確認(rèn)。ATCP不僅可以解決TCP 在MANET 網(wǎng)絡(luò)中因網(wǎng)絡(luò)拓?fù)漕l繁變化導(dǎo)致的路由故障問題,還可以解決諸如高誤比特率,網(wǎng)絡(luò)擁塞,以及分組排序的問題,這使得ATCP 方案大大提高了TCP在MANET 中的性能。
EPLN and BEAD(early packet loss notification and best-effort ack delivery)[10]:核心思想是中間節(jié)點(diǎn)一旦檢測(cè)到數(shù)據(jù)分組丟失便會(huì)通知發(fā)送端,一旦檢測(cè)到確認(rèn)分組丟失便會(huì)利用緩存路由重傳確認(rèn)分組。研究人員考慮3 種分組可能遇到路由故障:數(shù)據(jù)分組(data packets),確認(rèn)分組(ACKs)以及分組丟失通告(packet loss notifications)。網(wǎng)絡(luò)層總是盡它的最大努力讓TCP 發(fā)送端知道數(shù)據(jù)分組丟失的發(fā)生,它也會(huì)重傳ACK。這2 種反饋機(jī)制能夠適用于任何路由協(xié)議,因?yàn)樗鼈兘鉀Q了網(wǎng)絡(luò)層常見的問題——路由故障導(dǎo)致的分組丟失。路由緩存在這兩種機(jī)制中扮演了很重要的角色。通過和TCP-ELFN 進(jìn)行對(duì)比,結(jié)果表明應(yīng)用了EPLN 和BEAD 機(jī)制的TCP 性能比應(yīng)用了TCP-ELFN 機(jī)制的性能有了30%的提高,把TCP-ELFN、EPLN 和BEAD 3 種機(jī)制組合起來的性能提高了70%。實(shí)驗(yàn)表明這2 種機(jī)制在節(jié)點(diǎn)高速移動(dòng)(20 m/s)的情況下也表現(xiàn)出了良好的性能。
端到端的優(yōu)化思想與基于網(wǎng)絡(luò)反饋的改進(jìn)思想不同,直接對(duì)傳統(tǒng)TCP 協(xié)議進(jìn)行改進(jìn),包括對(duì)擁塞機(jī)制和發(fā)送窗口的改進(jìn),使其更好地支持MANET 中TCP 傳輸?shù)男枰?/p>
Fixed RTO[11]:不需要網(wǎng)絡(luò)層信息的反饋,而是根據(jù)MANET 網(wǎng)絡(luò)的特點(diǎn)對(duì)標(biāo)準(zhǔn)TCP 進(jìn)行了一定的修改。當(dāng)連續(xù)兩次發(fā)生超時(shí)事件時(shí),發(fā)送端TCP 假定網(wǎng)絡(luò)路由出現(xiàn)了故障,并立即重傳未被確認(rèn)的分組,但是重傳計(jì)時(shí)器并不加倍而是保持原值直到收到重傳分組的確認(rèn)。通過仿真表明,采用按需路由協(xié)議時(shí)RTO 技術(shù)使得TCP 性能有所提高。
TCP DOOR(tcp detection of out-of-order and response)[12]:通過檢測(cè)收到的分組是否存在“OOO”來判斷路由是否出現(xiàn)故障。在發(fā)送端,TCP 通過確認(rèn)分組ACK 的序列號(hào)來檢測(cè)亂序事件是否發(fā)生,因此需要在ACK 分組中添加一字節(jié)字段ADSN (ACK Duplication Sequence Number,ACK 分組序列號(hào)),接收端每確認(rèn)一個(gè)分組,都會(huì)增加ADSN 值,這樣使得發(fā)送端能夠依據(jù)此字段來檢測(cè)收到的重復(fù)ACK 是否亂序從而判斷網(wǎng)絡(luò)是否出現(xiàn)故障。對(duì)于接收端,TCP 需要兩個(gè)字節(jié)字段TPSN(tcp packet sequence number,TCP 分組序列號(hào))來檢測(cè)亂序事件。每發(fā)送一個(gè)分組,TPSN 均增加,不管這個(gè)分組是否是重傳的。接收端檢測(cè)到亂序事件發(fā)生時(shí),便通過在ACK 分組頭部設(shè)置OOO 位向發(fā)送端告知亂序事件發(fā)生。TCP 發(fā)送端得知亂序事件發(fā)生時(shí),有2 種反應(yīng)機(jī)制:臨時(shí)屏蔽擁塞控制機(jī)制和擁塞避免間的快速恢復(fù)機(jī)制。臨時(shí)屏蔽擁塞控制機(jī)制是指發(fā)送端在特定時(shí)間內(nèi)(T1)屏蔽掉擁塞控制機(jī)制從而保存當(dāng)前狀態(tài)變量。擁塞避免間的快速恢復(fù)機(jī)制是指如果在此之前的特定時(shí)間內(nèi)(T2),TCP 啟用了擁塞控制機(jī)制,則TCP 發(fā)送端應(yīng)立刻恢復(fù)到啟用擁塞控制機(jī)制之前的狀態(tài)(T1和T2被設(shè)置為了RTT 的函數(shù))。仿真表明TCP DOOR 比TCP 性能提高了50%,但若在自組網(wǎng)中采用多徑路由進(jìn)行數(shù)據(jù)傳輸則會(huì)導(dǎo)致更多的亂序事件發(fā)生,此時(shí)如何區(qū)分分組亂序事件的緣由則有待進(jìn)一步的研究。
TCP 緩存方案保持了TCP 端到端的語義,在中間節(jié)點(diǎn)增加探測(cè)代理機(jī)制,用中間節(jié)點(diǎn)來緩存探測(cè)數(shù)據(jù)包的發(fā)送和確認(rèn)信息,使中間節(jié)點(diǎn)能準(zhǔn)確區(qū)分擁塞或其它原因產(chǎn)生的傳輸錯(cuò)誤,根據(jù)情況決定是否重發(fā)緩存中的數(shù)據(jù)包,并提供選擇性的重發(fā)。
TCP-BuS(tcp buffering capability and sequence information)[13],同TCP-F 一樣需要與中間節(jié)點(diǎn)的合作,新增2 個(gè)分組類型:顯式路由故障通告和顯式路由重建通告。但是不同之處在于TCP-BuS 提高了移動(dòng)節(jié)點(diǎn)的緩存能力,在路由重建過程中,從源節(jié)點(diǎn)到中間節(jié)點(diǎn)的分組被緩存起來,當(dāng)路由重建以后,繼續(xù)發(fā)送這些被緩存的分組。通過仿真表明,基于ABR(associativity-based routing)協(xié)議,TCP-BuS 明顯優(yōu)于標(biāo)準(zhǔn)TCP 和TCP-F 的性能。然而,遺留的問題是在新的路由長(zhǎng)時(shí)間不能夠重建的情況下,這些分組是繼續(xù)緩存還是丟棄的解決方案。
Split TCP[14]:引入分割TCP,目的是把邏輯上多跳的TCP 連接分割成短的局部分段,提高TCP 連接的吞吐量和解決TCP 的不公平性問題。代理節(jié)點(diǎn)(同屬于2 個(gè)局部分段的中間節(jié)點(diǎn))截獲TCP 分組并緩存它們,然后向發(fā)送端或者前面一個(gè)代理節(jié)點(diǎn)發(fā)送一個(gè)本地LACK。同樣,代理節(jié)點(diǎn)也能夠以一定的速率繼續(xù)傳遞分組,一旦收到LACK(從下一代理節(jié)點(diǎn)或者終端),便釋放緩存分組。為了保證源端到目的端的可靠性,仿真結(jié)果表明,3 ~5 跳的距離設(shè)置一個(gè)代理節(jié)點(diǎn)對(duì)TCP 吞吐量和公平性有很大的改善,采用分割TCP 可提高TCP 性能達(dá)30%。但是,這也會(huì)導(dǎo)致代理節(jié)點(diǎn)需要大量緩存和網(wǎng)絡(luò)過載,使得代理節(jié)點(diǎn)過于復(fù)雜。
通過表1、表2 比較跨層方案與分層方案的優(yōu)缺點(diǎn)。
表1 跨層方案優(yōu)缺點(diǎn)
表2 分層方案優(yōu)缺點(diǎn)
跨層方案與分層方案各有利弊,每種優(yōu)化方案都從不同的角度對(duì)其性能有所提升,在今后的研究中,要根據(jù)航空數(shù)據(jù)鏈的實(shí)際需求,著重從減少網(wǎng)絡(luò)擁塞、減小數(shù)據(jù)傳輸時(shí)延、提高網(wǎng)絡(luò)吞吐量等方面提高TCP 的性能。
[1]王瑩.戰(zhàn)術(shù)數(shù)據(jù)鏈Link11 的仿真研究[D].成都:西南交通大學(xué),2008.
[2]張磊.航空數(shù)據(jù)鏈組網(wǎng)技術(shù)研究[D].西安:西安電子科技大學(xué),2010.
[3]王旖. 無線移動(dòng)自組織網(wǎng)絡(luò)[J]. 科技向?qū)В?011(17):326.
[4]倪長(zhǎng)寶.Ad Hoc 網(wǎng)絡(luò)TCP 性能分析及改進(jìn)研究[D].大連:大連理工大學(xué),2012.
[5]孫長(zhǎng)永.無線移動(dòng)自組織網(wǎng)絡(luò)傳輸控制協(xié)議分析研究[D].成都:電子科技大學(xué),2010.
[6]張曉琴,梁靚.MANET 中TCP 性能改進(jìn)研究[J].通信技術(shù),2009(7):239-241.
[7]孫偉,溫濤,郭權(quán).MAENT 中TCP 數(shù)據(jù)包的亂序問題及其解決方案[J].計(jì)算機(jī)科學(xué),2009(8):82-85.
[8]任偉,金海.TCP 在多跳移動(dòng)Ad Hoc 網(wǎng)絡(luò)中的公平性研究[J].計(jì)算機(jī)工程與科學(xué),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,F(xiàn)aloutous M. Split TCP for mobile ad hoc networks[C]//In Proc. of IEEE GLOBECOM.[S.l.]:[s.n.],2002.
[15]楊光,周經(jīng)倫,王文政.數(shù)據(jù)鏈仿真研究[J].火力與指揮控制,2011(5):4-7.
[16]王永安,李世忠,關(guān)成斌.數(shù)據(jù)鏈航跡與ESM 間斷航跡融合跟蹤精度研究[J]. 海軍航空工程學(xué)院學(xué)報(bào),2012(4):401-408.