當(dāng)前通信網(wǎng)絡(luò)的應(yīng)用范圍飛速擴(kuò)展,地面有線網(wǎng)、地面無線網(wǎng)、空間衛(wèi)星網(wǎng)均已成為承載網(wǎng)絡(luò),信息在傳輸過程中可能會經(jīng)歷幾種不同的網(wǎng)絡(luò)環(huán)境,端與端之間的通信不再是單一的協(xié)議形式.而空間網(wǎng)絡(luò)通信的主要挑戰(zhàn)來自于鏈路誤碼率高、傳輸時延長、上下行帶寬不對稱、鏈路可用時間有限、拓?fù)渥兓l繁等,此外不同空間位置(遠(yuǎn)地鏈路、星間鏈路、星地鏈路等)的通信子網(wǎng)也有很大的性能差異[1],使其難以實(shí)現(xiàn)傳統(tǒng)地面網(wǎng)絡(luò)技術(shù)所達(dá)到的Qos及可靠性要求,要想使其成為未來網(wǎng)絡(luò)系統(tǒng)的一個重要且可靠的組成部分,則需要針對以上挑戰(zhàn)設(shè)計(jì)有效的協(xié)議體系.目前面向空間網(wǎng)絡(luò)的協(xié)議主要分為4類:CCS-DS協(xié)議體系[2]、TCP/IP協(xié)議體系[3]、CCSDS與TCP/IP結(jié)合的協(xié)議體系[4]、DTN協(xié)議體系.基于DTN的協(xié)議體系相比其他體系,在空間網(wǎng)絡(luò)環(huán)境下具有更好的性能和可擴(kuò)展性[5],被CCSDS作為空間網(wǎng)絡(luò)互聯(lián)的發(fā)展方向.隨著天地一體化的發(fā)展,基于DTN的空間網(wǎng)絡(luò)與基于TCP/IP的地面網(wǎng)絡(luò)的互聯(lián)問題亟待解決,本文面向此問題提出DTN環(huán)境下異構(gòu)協(xié)議網(wǎng)絡(luò)互聯(lián)的設(shè)計(jì)方法,并通過半物理仿真實(shí)驗(yàn)對其性能進(jìn)行分析.

1相關(guān)工作
目前很多針對空間網(wǎng)絡(luò)異構(gòu)性的研究面向改進(jìn)傳統(tǒng)的TCP/IP協(xié)議[6,7],使之適應(yīng)空間通信的特點(diǎn),但這些工作未實(shí)現(xiàn)根本機(jī)制的改變,所實(shí)現(xiàn)的性能改善程度有限.文獻(xiàn)[8-10]在地面節(jié)點(diǎn)上實(shí)現(xiàn)了互聯(lián)衛(wèi)星網(wǎng)和地面網(wǎng)的功能,但沒有考慮到衛(wèi)星網(wǎng)中的間斷連通特性.空間網(wǎng)絡(luò)的一個根本特點(diǎn)是鏈路通斷切換頻繁,必須以DTN的角度展開設(shè)計(jì),文獻(xiàn)[11]設(shè)計(jì)了面向DTN的協(xié)議適配網(wǎng)關(guān),但主要面向各種版本TCP協(xié)議的兼容.為了促進(jìn)DTN的快速部署以及與傳統(tǒng)TCP/IP網(wǎng)絡(luò)的互聯(lián),NASA提出了IP-over-DTN方案[12].其核心思想是在網(wǎng)絡(luò)中優(yōu)先采用IP技術(shù),只有當(dāng)數(shù)據(jù)通過受限網(wǎng)絡(luò)或者網(wǎng)絡(luò)出現(xiàn)鏈路中斷時才將IP包封裝到DTN的Bundle包中,由DTN繼續(xù)完成數(shù)據(jù)的傳輸.這種方案的優(yōu)點(diǎn)是既可以利用DTN技術(shù)在受限網(wǎng)絡(luò)環(huán)境下保證數(shù)據(jù)的可靠傳輸,又不用犧牲IP技術(shù)的高效性和兼容性,但由于將IP包直接封裝到Bundle包中,這種方案有較大的開銷.本文的異構(gòu)協(xié)議互聯(lián)方法則采用協(xié)議代理方案實(shí)現(xiàn)空間節(jié)點(diǎn)上的DTN網(wǎng)關(guān)及協(xié)議轉(zhuǎn)換功能.該方案不僅開銷小,而且突破了DTN網(wǎng)絡(luò)對傳統(tǒng)TCP應(yīng)用的限制.
2協(xié)議代理方案
空間異構(gòu)協(xié)議互聯(lián)方法在客戶端和服務(wù)器端使用標(biāo)準(zhǔn)的TCP/IP協(xié)議棧,在TCP/IP網(wǎng)絡(luò)與DTN網(wǎng)絡(luò)的交界處由DTN網(wǎng)關(guān)實(shí)現(xiàn)TCP/IP協(xié)議與DTN協(xié)議間的轉(zhuǎn)換.DTN的核心思想是在應(yīng)用層與下層之間引入“Bundle層”作為連接不同網(wǎng)絡(luò)的覆蓋層.Bundle層可以通過匯聚層適配器(如TCP適配器、UDP適配器等)在IP網(wǎng)絡(luò)之上傳輸DTN流量,從而實(shí)現(xiàn)DTN網(wǎng)絡(luò)與TCP/IP網(wǎng)絡(luò)的互聯(lián).應(yīng)用層協(xié)議需要基于Bundle層接口進(jìn)行重構(gòu),但目前傳統(tǒng)IP應(yīng)用所提供的功能在這種協(xié)議體系下還不夠成熟.為了實(shí)現(xiàn)Bundle協(xié)議與TCP協(xié)議(衛(wèi)星鏈路對TCP/IP數(shù)據(jù)傳輸?shù)挠绊懼饕w現(xiàn)在TCP協(xié)議)的轉(zhuǎn)換,需要定義一個合適的映射協(xié)議,解決應(yīng)用協(xié)議負(fù)載的傳遞、地址映射、傳輸可靠性等問題.以下是協(xié)議代理中實(shí)現(xiàn)的主要功能:1)ACK欺騙:客戶端的DTN網(wǎng)關(guān)會偽裝成服務(wù)器與客戶端建立并維持TCP連接.這需要客戶端將DTN網(wǎng)關(guān)設(shè)置為代理服務(wù)器或者直接將DTN網(wǎng)關(guān)設(shè)置為默認(rèn)網(wǎng)關(guān).另外還要在DTN網(wǎng)關(guān)上設(shè)置需要代理的協(xié)議,并監(jiān)聽相應(yīng)的TCP端口.2)地址映射:DTN端點(diǎn)和應(yīng)用可以用端點(diǎn)號(EID)來標(biāo)識,本文所使用的EID格式為:應(yīng)用協(xié)議名://IP地址/傳輸層協(xié)議/端口號例如,IP地址為192.168.1.100的客戶端的HTTP應(yīng)用的EID為HTTP://192.168.1.100/TCP/80.當(dāng)客戶端應(yīng)用第一次與DTN網(wǎng)關(guān)建立TCP連接時,DTN網(wǎng)關(guān)按照這一格式自動根據(jù)源和目的IP地址、應(yīng)用協(xié)議名、傳輸層協(xié)議、端口號等信息生成相應(yīng)的源和目的EID,并且在該DTN網(wǎng)關(guān)的Bundle層中為代理的客戶端應(yīng)用注冊EID.而靠近服務(wù)器方的DTN網(wǎng)關(guān)則采用后綁定的方式在Bundle層中注冊該目的EID,從目的EID中解析出應(yīng)用協(xié)議名、服務(wù)器IP地址、傳輸層協(xié)議和端口等信息,主動與服務(wù)器建立連接.3)應(yīng)用數(shù)據(jù)的封裝和解封裝:已經(jīng)在Bundle協(xié)議中注冊EID的應(yīng)用可以使用Bundle協(xié)議提供的服務(wù)發(fā)送和接收數(shù)據(jù).當(dāng)收到普通應(yīng)用發(fā)過來的數(shù)據(jù)時,TCP代理需要從TCP協(xié)議中取出應(yīng)用數(shù)據(jù),然后調(diào)用Bundle協(xié)議服務(wù),把應(yīng)用數(shù)據(jù)封裝成Bundle包發(fā)送出去.當(dāng)TCP代理收到Bundle協(xié)議交付的數(shù)據(jù)時,會從相應(yīng)的TCP連接把應(yīng)用數(shù)據(jù)發(fā)送出去.此外,在調(diào)用Bundle協(xié)議的服務(wù)時,需要提供Bundle的處理控制參數(shù),指定Bundle所要提供的服務(wù),如是否允許Bundle分片、是否需要托管傳輸、是否需要狀態(tài)報告等.這些參數(shù)需要TCP代理根據(jù)應(yīng)用的特點(diǎn)以及預(yù)先配置的規(guī)則決定.
3空間DTN轉(zhuǎn)發(fā)節(jié)點(diǎn)設(shè)計(jì)
DTN采用異步通信模式(類似Email),通過DTN路由轉(zhuǎn)發(fā)Bundle包以實(shí)現(xiàn)源節(jié)點(diǎn)到目的節(jié)點(diǎn)的信息傳輸.DTN的Bundle層處于應(yīng)用層之下,但Bundle下層不一定是傳輸層,也可以是鏈路層.這種結(jié)構(gòu)可以實(shí)現(xiàn)任意下層協(xié)議棧網(wǎng)絡(luò)間的互聯(lián).在托管模式下,DTN路由通過將交付責(zé)任委派給下一個有能力交付的DTN路由來確保數(shù)據(jù)的可靠傳輸.Bundle可以通過狀態(tài)報告?zhèn)魉蛿?shù)據(jù)交付過程中的狀態(tài)信息,如來自中間路由的轉(zhuǎn)發(fā)和托管信號以及來自目的節(jié)點(diǎn)的交付信號.CCSDS針對空間通信的特點(diǎn)提出了一系列鏈路層協(xié)議,在圖1所示的空間DTN轉(zhuǎn)發(fā)系統(tǒng)架構(gòu)中,采用IPOVERCCSDSAOS[13]作為鏈路層協(xié)議,可用于空對空、空對地和地對空的通信鏈路中,在CCSDS鏈路上實(shí)現(xiàn)IP數(shù)據(jù)報的攜帶、建立路由、交換和空間IP網(wǎng)際元素的管理等,使空間和地面采用一致的網(wǎng)絡(luò)協(xié)議,實(shí)現(xiàn)天基網(wǎng)絡(luò)與地基網(wǎng)絡(luò)的無縫連接;采用SCPS-TP[14]作為傳輸層協(xié)議,與TCP協(xié)議和UDP協(xié)議保持良好的兼容和互操作性;在地面站以及星上局域網(wǎng)中則采用標(biāo)準(zhǔn)的TCP/IP協(xié)議棧.DTN轉(zhuǎn)發(fā)節(jié)點(diǎn)的具體設(shè)計(jì)如圖2所示,Bundle協(xié)議代理包括5個模塊:Bundle管理、Bundle路由、鏈路管理、匯聚層適配器和鄰居發(fā)現(xiàn).其中Bundle管理實(shí)現(xiàn)了Bundle協(xié)議的核心功能,包括Bundle封裝、注冊、保管傳輸、分片與重組、Bundle冗余等;考慮到衛(wèi)星都按規(guī)劃的軌道運(yùn)行,星間、星地間的連通性可以推導(dǎo)出來,故Bundle路由模塊實(shí)現(xiàn)了靜態(tài)路由和接觸圖路由[15];鄰居發(fā)現(xiàn)模塊用于發(fā)現(xiàn)周圍鄰節(jié)點(diǎn);鏈路管理模塊利用鄰居發(fā)現(xiàn)模塊提供的接觸信息來管理鏈路有效性信息;匯聚層適配器利用匯聚層的服務(wù)發(fā)送和接受Bundle包.Bundle進(jìn)程中添加的本地協(xié)議代理模塊實(shí)現(xiàn)了傳輸層代理的功能,包括IP過濾、傳輸層欺騙和自動注冊等.使用本地代理前,需要先設(shè)置過濾條件,DTN轉(zhuǎn)發(fā)節(jié)點(diǎn)起到網(wǎng)關(guān)的作用,會將符合過濾規(guī)則的IP包提交給上層,經(jīng)過傳輸層提取出數(shù)據(jù),然后交給本地代理,本地代理根據(jù)傳輸層協(xié)議以及端口號區(qū)分不同應(yīng)用,自動為它們注冊EID.注冊成功后,來自Internet應(yīng)用的數(shù)據(jù)會直接交給Bundle協(xié)議代理,由Bundle協(xié)議代理對數(shù)據(jù)進(jìn)行Bundle封裝、發(fā)起托管傳輸,當(dāng)Bundle包到達(dá)目的端DTN網(wǎng)關(guān)節(jié)點(diǎn)時,本地代理會自動為目的節(jié)點(diǎn)應(yīng)用在目的端DTN網(wǎng)關(guān)上進(jìn)行注冊,注冊成功后,DTN網(wǎng)關(guān)發(fā)起交付規(guī)程將數(shù)據(jù)從Bundle包中解封并交付給目的節(jié)點(diǎn).
本文來源:http://www.nvnqwx.com/shiyongwen/1934199.htm