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

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