空間資訊網路DTN互聯方法研究論文

空間資訊網路DTN互聯方法研究論文

  當前通訊網路的應用範圍飛速擴充套件,地面有線網、地面無線網、空間衛星網均已成為承載網路,資訊在傳輸過程中可能會經歷幾種不同的網路環境,端與端之間的通訊不再是單一的協議形式.而空間網路通訊的主要挑戰來自於鏈路誤位元速率高、傳輸時延長、上下行頻寬不對稱、鏈路可用時間有限、拓撲變化頻繁等,此外不同空間位置(遠地鏈路、星間鏈路、星地鏈路等)的通訊子網也有很大的效能差異[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包中解封並交付給目的節點.

  4半物理模擬與驗證

  4.1實驗場景設定

  半物理模擬的目的是用真實的Internet應用驗證DTN互聯方法的功能,其實現基於來自OPNETModeler14.5的系統在環(SystemintheLoop,簡稱SITL)模組,提供物理網路與OPNET模擬網路連線的介面,透過真實資料包與虛擬資料包格式的轉換來完成資料包在真實網路與虛擬網路間的流動.圖3為半物理模擬場景圖,總共使用3臺計算機,PC1和PC3分別執行Internet的客戶端和伺服器,而PC2執行OPNET模擬場景,它具有兩個網絡卡,分別連線到PC1和PC3.OPNET模擬場景中,兩個SITL模組用於資料的實虛轉換,兩個DTN轉發節點用作閘道器,分別為PC1和PC2上的Internet應用提供本地代理以及接入DTN網路的服務.圖4為基於OPNET的空間網路域,meo_sat_subnet_4為一顆中軌衛星,geo_subnet_1為一顆同步衛星,它們的軌道透過STK生成然後匯入OP-NET中,Groud-sat_subnet_6為地面站,中軌衛星和地面站中分別包含了一個STIL模組和一個DTN閘道器(To_node_1和To_node_3為SITL模組,DTN_gateway1和DTN_gateway2為星地間綜合閘道器結點),同步衛星中包含一個DTN路由節點.以上場景中中軌衛星與地面站是不可見的,需要透過同步衛星進行路由轉發.為了模擬節點移動造成的鏈路中斷,採用OPNET中的節點失效模型,讓同步衛星節點在20~30s、40~50s、60~70s、80~90s、100~110s、120~130s等時間段內失效.

  4.2基於Iperf的實驗結果與分析

  基於Iperf[16]展開網路效能測試,客戶端向伺服器端傳送資料流,伺服器監聽接收來自客戶端的資料,統計收包速率、丟包率和延遲抖動.客戶端向伺服器的UDP協議的5001埠傳送資料包,傳送速率為1Mbps/s,UDP包大小為1kbyte.圖5(a)為採用IP互聯測試的結果,實線為客戶端傳送資料,虛線為伺服器收到的資料,結果顯示在沒有端到端連線的這段時間內,客戶端傳送的資料全部丟失.圖5(b)為DTN互聯方法的測試結果,結果顯示雖然沒有端到端的連線,資料仍可以透過保管轉發,最終交付給伺服器.統計結果顯示,使用IP互聯方法的丟包率為33%,使用DTN互聯方法的丟包率為0.

  4.3VLC影片點播實驗結果與分析

  VLC(VideoLANClient)是VideoLAN[17]計劃的開源多媒體播放器,它能作為單播或多播的流伺服器在IPv4或IPv6的高速網路連線下使用.客戶端向伺服器的10001埠傳送一個影片流.格式為avi,解析度為1104×622,速率1210kbps.圖6(a)為使用IP互聯方法傳輸影片的統計結果,在鏈路斷開時傳輸的影片流丟失.圖6(b)為使用DTN互聯方法傳輸影片的統計結果,可以看到在鏈路重新連線上時,伺服器收到的資料遠比客戶端傳送的資料多,這些多出來的資料就是DTN互聯方法在鏈路斷開時間內所保管的影片流資料.

  5結語

  開發具有協議代理功能的空間DTN轉發節點,實現了其中Bundle層的關鍵功能,能實現CCS-DS協議體系、TCP/IP協議體系、DTN協議體系的功能一體化.設計半物理模擬環境模擬異構協議空間通訊場景,在其中對比了採用傳統IP互聯方法和本文的DTN互聯方法進行UDP資料流和影片流業務傳輸的效能,結果體現了DTN互聯方法在資料保管能力上的優越性.

最近訪問