999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2016-04-08 02:25:19韓江雪李昕
軟件 2016年2期

韓江雪++李昕

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

關(guān)鍵詞:計(jì)算機(jī)仿真;衛(wèi)星網(wǎng)絡(luò);路由協(xié)議;NS2

中圖分類(lèi)號(hào):TP319

文獻(xiàn)標(biāo)識(shí)碼:A

DOI:10.3969/j.issn.1003-6970.2016.02.016

引言

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

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

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

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

2 NS2仿真平臺(tái)

NS2仿真平臺(tái)實(shí)際上模擬了一個(gè)時(shí)間調(diào)度引擎,調(diào)度引擎的核心對(duì)象是調(diào)度器類(lèi),負(fù)責(zé)進(jìn)行時(shí)間推進(jìn)并對(duì)在時(shí)間軸上的各個(gè)事件隊(duì)列進(jìn)行調(diào)度,調(diào)度的過(guò)程中可能會(huì)在新的時(shí)刻觸發(fā)新的事件,那么這些事件就會(huì)被加入對(duì)應(yīng)時(shí)間點(diǎn)上的事件隊(duì)列中,等待調(diào)度引擎進(jìn)行調(diào)度。調(diào)度器類(lèi)采用先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)逐個(gè)調(diào)度事件,直到時(shí)間推進(jìn)到仿真結(jié)束時(shí)刻,模擬過(guò)程中止。

NS2使用C++和Otcl語(yǔ)言進(jìn)行開(kāi)發(fā),Otcl語(yǔ)言負(fù)責(zé)編寫(xiě)仿真腳本,制定仿真計(jì)劃,調(diào)用NS2中封裝好的各個(gè)功能模塊,C++語(yǔ)言對(duì)tcl腳本解釋執(zhí)行。

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

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

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

2.1.1 sathandoff模塊

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

2.1.2 satroute模塊

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

2.1.3 satlink模塊

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

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

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

3.1 層間鏈路及鏈路切換

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

#defrne LINK ISL INTERLAYER 9

接著,在satlink.cc中定義在tcl語(yǔ)法中對(duì)層間鏈路的標(biāo)識(shí):

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)星進(jìn)行連接,如下代碼所示:

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

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

鏈路切換功能是satellite文件夾下的sathandoff類(lèi),類(lèi)中的handoff函數(shù)實(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)星進(jìn)行鏈路切換。

3.2 星間通信

主干衛(wèi)星為了為低層衛(wèi)星計(jì)算路由表,需要定期收集低層衛(wèi)星的鏈路狀態(tài),這就涉及到星間通信,但是在NS2中并沒(méi)有相應(yīng)的模塊實(shí)現(xiàn),為此,可以將低層衛(wèi)星定期上傳鏈路狀態(tài)的功能集成到衛(wèi)星路由模塊。衛(wèi)星路由模塊由satelite文件夾下的satroute類(lèi)實(shí)現(xiàn)。首先在satroute類(lèi)中創(chuàng)建定時(shí)器,負(fù)責(zé)周期性上傳鏈路狀態(tài)報(bào)告,在定時(shí)器觸發(fā)的函數(shù)中通過(guò)Pakcet類(lèi)構(gòu)造鏈路狀態(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類(lèi)實(shí)現(xiàn)了衛(wèi)星路由模塊,其中的Recv和ForwardPacket函數(shù)分別描述了衛(wèi)星節(jié)點(diǎn)的發(fā)送和接收數(shù)據(jù)包的功能。ForwardPacket函數(shù)調(diào)用了SatRouteLogic類(lèi)實(shí)時(shí)計(jì)算路由表確定下一跳,在實(shí)際開(kāi)發(fā)路由協(xié)議的時(shí),需要屏蔽SatRouteLogic類(lèi),調(diào)用自己生成的路由表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。

首先,在satroute.h頭文件中定義路由表結(jié)構(gòu)體:

struct slot_entry{

int next_hop;

NsObject* entry;

};

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

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

4 結(jié)論

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

主站蜘蛛池模板: 日韩精品高清自在线| 国产精品久久久久久久伊一| a级免费视频| 亚洲成A人V欧美综合| 亚洲免费播放| 久久黄色小视频| 久久久久国产精品熟女影院| 一本大道香蕉久中文在线播放| 亚洲国产成人综合精品2020| 国产波多野结衣中文在线播放| 激情综合网址| 国产美女久久久久不卡| 免费观看亚洲人成网站| 免费看黄片一区二区三区| 性色一区| 日韩人妻精品一区| 亚洲精品天堂在线观看| 久久特级毛片| 日韩资源站| 成人午夜精品一级毛片| 日韩精品无码免费专网站| 久草性视频| 日本人真淫视频一区二区三区| 久久狠狠色噜噜狠狠狠狠97视色 | 亚洲精品福利网站| 凹凸国产熟女精品视频| 欧美日韩激情在线| 久久无码av三级| 美女扒开下面流白浆在线试听 | 99久久性生片| 啦啦啦网站在线观看a毛片| 国产成人做受免费视频| 成人福利在线观看| 99中文字幕亚洲一区二区| 国产小视频a在线观看| 国产自产视频一区二区三区| 久久99国产精品成人欧美| 欧美区国产区| 久久一级电影| 亚洲欧美天堂网| 狠狠做深爱婷婷久久一区| 欧美激情一区二区三区成人| 人妻夜夜爽天天爽| 国产精品久久久久久久久| 久久不卡精品| 国产精品专区第1页| 亚洲人在线| 久久国产精品娇妻素人| 国产成人综合亚洲网址| 精品中文字幕一区在线| 欧美日韩国产综合视频在线观看| 午夜久久影院| 久久性妇女精品免费| 综合天天色| 欧美69视频在线| 无码区日韩专区免费系列 | 国产精品福利社| 强奷白丝美女在线观看| 久久免费视频6| 九九免费观看全部免费视频| 亚洲精品va| 日本欧美中文字幕精品亚洲| 国内精品久久九九国产精品| 九色在线观看视频| 亚洲欧美另类视频| 国产真实乱子伦视频播放| 国产欧美在线观看视频| 97影院午夜在线观看视频| 综合社区亚洲熟妇p| 成人久久18免费网站| 性欧美久久| 国产素人在线| 中文字幕66页| 亚洲最黄视频| 97狠狠操| 538精品在线观看| 亚洲视频一区在线| 国产亚洲视频中文字幕视频| 欧美啪啪视频免码| 亚洲精品第五页| 鲁鲁鲁爽爽爽在线视频观看| 理论片一区|