亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于NS2的多層衛(wèi)星網(wǎng)絡路由協(xié)議開發(fā)方案

        2016-04-08 02:25:19韓江雪李昕
        軟件 2016年2期
        關鍵詞:路由協(xié)議計算機仿真衛(wèi)星網(wǎng)絡

        韓江雪++李昕

        摘要:衛(wèi)星通信網(wǎng)絡早在20世紀初期就已經被提出,地面網(wǎng)絡通信系統(tǒng)無法滿足日益增長的通信業(yè)務發(fā)展需求,商業(yè)和軍事領域也直接或間接地推動了衛(wèi)星通信系統(tǒng)的發(fā)展。隨著衛(wèi)星通信網(wǎng)絡越來越復雜,衛(wèi)星組網(wǎng)向多層化發(fā)展,而典型的地面網(wǎng)絡路由技術由無法應用于衛(wèi)星網(wǎng)絡,因此,衛(wèi)星通信系統(tǒng)中如何進行有效的路由選擇也逐漸成為新的焦點問題。而由于衛(wèi)星網(wǎng)絡路由技術應用環(huán)境的特殊性,研究人員無法基于真實網(wǎng)絡環(huán)境進行研究,只能通過仿真工具進行仿真實驗,NS2是指Network Simulator version 2,NS(Network Simulator)是開源的軟件模擬平臺,研究人員使用它對網(wǎng)絡技術進行開發(fā)研究,NS2已經包含了衛(wèi)星節(jié)點、衛(wèi)星鏈路等模塊,但是這些模塊較為簡單,只能模擬單層衛(wèi)星網(wǎng)絡。因此,本文提出了在NS2中模擬多層衛(wèi)星網(wǎng)絡,實現(xiàn)層間通信,研發(fā)多層衛(wèi)星網(wǎng)絡路由協(xié)議的方法。

        關鍵詞:計算機仿真;衛(wèi)星網(wǎng)絡;路由協(xié)議;NS2

        中圖分類號:TP319

        文獻標識碼:A

        DOI:10.3969/j.issn.1003-6970.2016.02.016

        引言

        衛(wèi)星網(wǎng)絡通信范圍覆蓋全球,可以保證較高速率的傳輸速度,支持大規(guī)模可擴展的網(wǎng)絡結構,當前,衛(wèi)星網(wǎng)絡星座主要有單層衛(wèi)星星座和多層衛(wèi)星星座兩種,主要包含低軌道衛(wèi)星(IEO),中軌道衛(wèi)星(MEO)或者地球同步衛(wèi)星(GEO)三種軌道類型的衛(wèi)星,目前,世界上各個國家都已經建立起了較為完善的衛(wèi)星通信網(wǎng)絡系統(tǒng)。而未來的衛(wèi)星通信系統(tǒng)勢必要為更多的用戶提供更快速更加高效可靠的通信服務。因此,結合多軌道、多層次的衛(wèi)星構建更廣泛更健壯的立體式多層衛(wèi)星網(wǎng)絡通信系統(tǒng)已經成為衛(wèi)星網(wǎng)絡的發(fā)展趨勢,隨著空間網(wǎng)絡越來越復雜化,多層衛(wèi)星通信網(wǎng)絡中如何實現(xiàn)快速有效的路由問題也日益成為新的研究焦點。而由于衛(wèi)星網(wǎng)絡的特殊性,普通研究人員沒有條件在實際網(wǎng)絡中進行研究,只能通過仿真平臺進行,因此,本文將描述如何在NS2中模擬多層衛(wèi)星網(wǎng)絡拓撲,仿真層間衛(wèi)星鏈路,實現(xiàn)星間通信,研發(fā)多層衛(wèi)星網(wǎng)絡中的路由協(xié)議。

        1 多層衛(wèi)星網(wǎng)絡

        多層衛(wèi)星網(wǎng)絡是指結合低軌道衛(wèi)星,中軌道衛(wèi)星或者地球同步衛(wèi)星,使用層間衛(wèi)星鏈路連接不同軌道的衛(wèi)星群體,結合不同軌道衛(wèi)星的優(yōu)勢,建立起立體式、多層次、交叉覆蓋的衛(wèi)星網(wǎng)絡,多層衛(wèi)星通信網(wǎng)絡的拓撲結構如下圖所示:

        相對于單層衛(wèi)星構成的空間網(wǎng)絡,多層衛(wèi)星通信網(wǎng)絡具有更高的可擴展性、靈活性以及強的抗毀性。要使用衛(wèi)星組網(wǎng),必須首先解決網(wǎng)絡中如何快速有效進行路由的問題,多層衛(wèi)星網(wǎng)絡的路由算法大多采用集中式路由方式,高層衛(wèi)星為集中控制群體,低層衛(wèi)星為接入衛(wèi)星,通信過程中由高層衛(wèi)星為低層計算最優(yōu)路徑,數(shù)據(jù)在低層衛(wèi)星中進行轉發(fā)。

        2 NS2仿真平臺

        NS2仿真平臺實際上模擬了一個時間調度引擎,調度引擎的核心對象是調度器類,負責進行時間推進并對在時間軸上的各個事件隊列進行調度,調度的過程中可能會在新的時刻觸發(fā)新的事件,那么這些事件就會被加入對應時間點上的事件隊列中,等待調度引擎進行調度。調度器類采用先進先出的數(shù)據(jù)結構逐個調度事件,直到時間推進到仿真結束時刻,模擬過程中止。

        NS2使用C++和Otcl語言進行開發(fā),Otcl語言負責編寫仿真腳本,制定仿真計劃,調用NS2中封裝好的各個功能模塊,C++語言對tcl腳本解釋執(zhí)行。

        NS2仿真平臺已經封裝了許多功能模塊,最基本的是節(jié)點、鏈路、數(shù)據(jù)包格式等等。其中也包括了衛(wèi)星網(wǎng)絡仿真模塊,但是實現(xiàn)的衛(wèi)星網(wǎng)絡功能較為簡單并且與真實場景差異較大,仿真實驗時需要在這部分功能的基礎上進行二次開發(fā)。

        2.1 衛(wèi)星網(wǎng)絡模塊

        NS2中衛(wèi)星網(wǎng)絡仿真模塊的核心代碼在ns-2.35目錄下的satellite文件夾中,主要包括satnode類,sathandoff類,satroute類,satlink類等源文件分別用來模擬衛(wèi)星節(jié)點、衛(wèi)星鏈路切換、衛(wèi)星路由、衛(wèi)星鏈路等。

        2.1.1 sathandoff模塊

        由于衛(wèi)星的移動性,不同軌道間的衛(wèi)星或者是地面站與衛(wèi)星間為了保證能夠正常通信需要經常進行鏈路切換(找到一顆位置上更加合適的衛(wèi)星連接上),sathandoff就是負責這部分的工作,其中包括termhandoff以及sathandoff兩個主要的函數(shù)分別包含了地面站和衛(wèi)星的切換機制。每顆衛(wèi)星都包含一個sathandoff的實例,切換是由鏈路檢測切換時間來控制的,在tcl腳本中配置好鏈路切換檢測的周期,每顆衛(wèi)星或地面站就會周期性地調用sathandoff或者termhandoff函數(shù)檢測并切換鏈路(需要切換時)。

        2.1.2 satroute模塊

        satroute類模擬了衛(wèi)星路由層的功能,其中Recv和ForwardPacket兩個函數(shù)實現(xiàn)了收、發(fā)數(shù)據(jù)包的功能。NS2白帶了一個集中式的路由代理satRouteLogic類,默認情況下,當衛(wèi)星需要轉發(fā)數(shù)據(jù)包時就使用這個路由代理類計算全網(wǎng)最短路徑路由表并依照路由表轉發(fā)數(shù)據(jù),最短路徑可以配置成使用跳數(shù)或鏈路時延兩種計算方式。使用路由代理類相當于是默認每顆衛(wèi)星在每一時刻都知道全網(wǎng)實時拓撲,這顯然是不切實際的,因此實際仿真時不應使用這個路由代理。

        2.1.3 satlink模塊

        satlink類負責模擬星間鏈路,包括星地鏈路、同層衛(wèi)星軌道內鏈路、同層衛(wèi)星軌道間鏈路。

        3 多層衛(wèi)星網(wǎng)絡路由協(xié)議在NS2中的實現(xiàn)方案

        NS2仿真平臺中已經實現(xiàn)了部分衛(wèi)星網(wǎng)絡仿真模塊,擁有極地衛(wèi)星節(jié)點和地球同步衛(wèi)星節(jié)點,但是星間鏈路只包括同層衛(wèi)星之間的鏈路,沒有層間鏈路的定義與實現(xiàn)。并且模塊中實現(xiàn)的路由功能使用的是集中式的路由代理satRouteLogic類,每顆衛(wèi)星轉發(fā)數(shù)據(jù)時由路由代理類實時根據(jù)全網(wǎng)拓撲計算網(wǎng)絡最短路徑,這也與實際情況不符,因此,需要將自己的路由協(xié)議方案,下面,將從層間鏈路、鏈路切換、星間通信、路由模塊等方面介紹如何在NS2中搭建多層衛(wèi)星網(wǎng)絡以及仿真自己的路由協(xié)議。

        3.1 層間鏈路及鏈路切換

        NS2中satellite文件夾下的satlink.cc以及satlink.h文件實現(xiàn)了衛(wèi)星鏈路模塊,為了實現(xiàn)層間鏈路,首先在satlink.h中加入層間鏈路宏定義:

        #defrne LINK ISL INTERLAYER 9

        接著,在satlink.cc中定義在tcl語法中對層間鏈路的標識:

        if(strcmp( argv[2], “geo”)==0){

        type_=LrNK_GSL_GEO;

        return TCL_OK:

        }……

        else if( strcmp( argv[2],“interlayer”)==0){

        type_= LINK ISL_INTERLAYER;

        retum TCL OK;

        }

        這樣就可以在tcl腳本中使用interlayer指令將兩顆不同層的衛(wèi)星進行連接,如下代碼所示:

        $ns add-isl interlayer $n(0)$n(1)$opt(bw_isl)$opt(ifq) $opt(qlim)

        但是,這樣的連接是沒有實際意義的,因為層間衛(wèi)星節(jié)點的運動軌跡不同,兩顆衛(wèi)星由于空間位置、傾角的原因不可能永久連接,因此,需要實現(xiàn)層間鏈路的鏈路切換功能。

        鏈路切換功能是satellite文件夾下的sathandoff類,類中的handoff函數(shù)實現(xiàn)了軌道間鏈路,反向縫鏈路以及星地鏈路的切換功能。這里將層間鏈路的切換功能加入handoff函數(shù),層間鏈路切換的核心代碼如下:

        for(slhp=(SatLinkHead*)local->linklisthead().lh_first;slhp;

        slhp=(SatLinkHead*) slhp->nextlinkhead()){

        peer_meo=get_peer(slhp);

        peer_slhp_meo=get_peer_linkhead(slhp);

        dist_to_peer_meo=SatGeometry::distance(peer_coord_meo,local_coord_);

        int layerchanges=FALSE;

        for(inti=MEO->minld;i <=MEO->count;i++)

        {

        double dist_to_Meo_next;

        disttoMeonext=SatGeometry::distance(Meopos->coord(),local_coord_);

        if(disttoMeonext

        peer_nextslhp_meo=getMeopeer_nextlinkhead(peer_next_meo);

        tx_channeI meo=slhp->phy_tx()->channel();

        rx_channel_meo=slhp->phy_rx()->channel();

        }

        }

        }

        層間鏈路切換由低層衛(wèi)星觸發(fā),根據(jù)星間距離、傾角選擇一顆合適的高層衛(wèi)星進行鏈路切換。

        3.2 星間通信

        主干衛(wèi)星為了為低層衛(wèi)星計算路由表,需要定期收集低層衛(wèi)星的鏈路狀態(tài),這就涉及到星間通信,但是在NS2中并沒有相應的模塊實現(xiàn),為此,可以將低層衛(wèi)星定期上傳鏈路狀態(tài)的功能集成到衛(wèi)星路由模塊。衛(wèi)星路由模塊由satelite文件夾下的satroute類實現(xiàn)。首先在satroute類中創(chuàng)建定時器,負責周期性上傳鏈路狀態(tài)報告,在定時器觸發(fā)的函數(shù)中通過Pakcet類構造鏈路狀態(tài)數(shù)據(jù)包并上傳給主干衛(wèi)星。核心代碼如下:

        NsObject*link_entry_;

        Packet*p=allocpkt();

        hdr_ip *iph= hdr_ip::access(p);

        iph->saddr()=node()->address();

        iph->daddr()=GeoAd;

        hdrc->la st_hop_=myaddr_;//for tracing purposes

        link_entry_=slhpGeo;

        link_entry_->recv(p,(Handler*)0);

        3.3 路由模塊

        satroute類實現(xiàn)了衛(wèi)星路由模塊,其中的Recv和ForwardPacket函數(shù)分別描述了衛(wèi)星節(jié)點的發(fā)送和接收數(shù)據(jù)包的功能。ForwardPacket函數(shù)調用了SatRouteLogic類實時計算路由表確定下一跳,在實際開發(fā)路由協(xié)議的時,需要屏蔽SatRouteLogic類,調用自己生成的路由表進行數(shù)據(jù)轉發(fā)。

        首先,在satroute.h頭文件中定義路由表結構體:

        struct slot_entry{

        int next_hop;

        NsObject* entry;

        };

        低層衛(wèi)星的路由表由主干節(jié)點定期收集鏈路狀態(tài)報告并匯總后計算得出,主干節(jié)點計算完成后通過星間通信下發(fā)給低層衛(wèi)星,低層衛(wèi)星接收到路由表后更新slot_entry結構體。

        實際轉發(fā)數(shù)據(jù)包時,只需在ForwardPacket函數(shù)中訪問slot_entry結構體,找到下一跳節(jié)點并轉發(fā)數(shù)據(jù)即可完成路由工作。

        4 結論

        本文給出了如何在NS2仿真平臺中模擬多層衛(wèi)星網(wǎng)絡,實現(xiàn)層間鏈路、鏈路切換、星間通信,仿真路由協(xié)議的方法,研究人員只需要按照文中介紹的內容進行開發(fā),即可實現(xiàn)多層衛(wèi)星網(wǎng)絡路由協(xié)議的仿真測試。

        猜你喜歡
        路由協(xié)議計算機仿真衛(wèi)星網(wǎng)絡
        2023衛(wèi)星網(wǎng)絡與空間應用技術大會召開
        高通量衛(wèi)星網(wǎng)絡及網(wǎng)絡漫游關鍵技術
        國際太空(2023年1期)2023-02-27 09:03:42
        全球低軌衛(wèi)星網(wǎng)絡最新態(tài)勢研判
        國際太空(2021年10期)2021-12-02 01:32:26
        精確打擊效能評估系統(tǒng)中路由協(xié)議的研究
        中小企業(yè)多路由協(xié)議互聯(lián)網(wǎng)絡規(guī)劃與實現(xiàn)
        軟件導刊(2016年11期)2016-12-22 21:58:33
        自動控制原理的仿真實驗教學設計
        科技資訊(2016年19期)2016-11-15 10:21:27
        “平安金融中心”對深圳寶安國際機場容量影響的仿真研究
        科技視界(2016年23期)2016-11-04 21:32:46
        關于無線MESH網(wǎng)絡路由協(xié)議的分析與研究
        基于混合型智能算法的WSN路由協(xié)議優(yōu)化
        實踐與創(chuàng)新
        中國市場(2016年19期)2016-06-06 04:34:21
        高清国产亚洲精品自在久久| 亚洲欧美一区二区三区| 亚洲av无码一区二区三区网站| 无码国产精品第100页| 一区二区高清视频在线观看| 国产在线观看女主播户外| 一二三四五区av蜜桃| 日产学生妹在线观看| 亚洲 自拍 另类 欧美 综合| 久久夜色精品国产亚洲噜噜| 最近中文字幕一区二区三区| 风韵人妻丰满熟妇老熟女视频| 日韩av午夜在线观看| 一区二区三区国产亚洲网站| 欧美激情中文字幕在线一区二区| 国产成人久久综合第一区| 日韩精品一二三区乱码| 丰满少妇作爱视频免费观看| 久久av高潮av无码av喷吹| 无码一区二区三区不卡AV| 亚洲天堂av在线免费看| 成人国产精品一区二区八戒网| 免费人成激情视频在线观看冫 | 国产91色综合久久免费| 日韩人妻无码一区二区三区久久| 亚洲 自拍 另类 欧美 综合| 免费国产调教视频在线观看| 青草草视频在线观看华人免费| 亚洲中国精品精华液| 熟妇丰满多毛的大隂户| 丝袜美腿网站一区二区| 精品久久免费国产乱色也| 变态调教一区二区三区女同| 免费观看又色又爽又湿的视频| 久久精品国产亚洲不av麻豆 | 国产尤物自拍视频在线观看| 久久精品人人做人人爱爱| 无码国产69精品久久久孕妇| 色婷婷狠狠97成为人免费| 国产爽快片一区二区三区| 亚洲va韩国va欧美va|