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

NS2中最快路由協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

2008-12-31 00:00:00黃鎮(zhèn)建
電腦知識(shí)與技術(shù) 2008年17期

摘要:利用網(wǎng)絡(luò)仿真器NS2對(duì)路由協(xié)議進(jìn)行仿真是一種既有效又經(jīng)濟(jì)的辦法。本文介紹了NS2中單播動(dòng)態(tài)路由協(xié)議的原理,并實(shí)現(xiàn)了任意兩點(diǎn)間最快路由協(xié)議,仿真實(shí)驗(yàn)表明該路由協(xié)議是有效的。

關(guān)鍵詞:NS2;路由模塊;最快路由協(xié)議

中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)17-21407-02

1 引言

NS2是面向?qū)ο蟮摹㈦x散事件驅(qū)動(dòng)的網(wǎng)絡(luò)環(huán)境模擬器,它可以為低成本的網(wǎng)絡(luò)實(shí)驗(yàn)提供一個(gè)良好的模擬環(huán)境。NS2為已有協(xié)議的驗(yàn)證提供了很多便利,同時(shí)還提供了用于開(kāi)發(fā)新協(xié)議所需的豐富的構(gòu)件平臺(tái),研究者可以在一個(gè)受控的環(huán)境下研究大規(guī)模協(xié)議的交互,能夠更方便的比較不同方法的結(jié)果[1]。NS2中實(shí)現(xiàn)路由協(xié)議的的模塊比較繁瑣而且非常復(fù)雜,這使得從事網(wǎng)絡(luò)研究的人員對(duì)路由協(xié)議的擴(kuò)展變得非常困難。因此本文在詳細(xì)介紹單播動(dòng)態(tài)路由模塊的工作原理的基礎(chǔ)上,對(duì)靜態(tài)策略進(jìn)行擴(kuò)展 (將原來(lái)的兩點(diǎn)間距離最短修改成兩點(diǎn)間最快),仿真實(shí)驗(yàn)表明修改后的任意兩點(diǎn)間最快路由協(xié)議是有效的。

2 NS2路由模塊的工作原理

通常,NS2中每個(gè)路由的實(shí)現(xiàn)包含3個(gè)功能塊:

1)路由代理(Routing agent),用于和鄰居交換路由信息;

2)路由邏輯(Routing logic),用路由代理收集來(lái)的信息(或者是靜態(tài)路由情況下全局的拓?fù)鋽?shù)據(jù)庫(kù))執(zhí)行實(shí)際的路由計(jì)算;

3)節(jié)點(diǎn)中的分類器,它們用來(lái)計(jì)算路由表,從而執(zhí)行包的傳遞。

我們要編寫一個(gè)新的路由協(xié)議時(shí),上述的3個(gè)模塊不必全部實(shí)現(xiàn)。例如,實(shí)現(xiàn)鏈路狀態(tài)路由協(xié)議時(shí),我們只需要實(shí)現(xiàn)以鏈路狀態(tài)方式交換信息的路由代理,以及一個(gè)計(jì)算拓?fù)鋽?shù)據(jù)庫(kù)的路由邏輯,然后就可使用象單播路由協(xié)議一樣的分類器。

3 NS2中單播動(dòng)態(tài)路由模塊的實(shí)現(xiàn)

目前,NS2中有四種路由策略:靜態(tài)(static)、會(huì)話(session)、動(dòng)態(tài)(DV)和手動(dòng)(manual)。靜態(tài)和會(huì)話路由采用的是Dijkstra的all-pairs SPF(兩節(jié)點(diǎn)間最短距離)算法,動(dòng)態(tài)路由策略目前用的是分布式Bellman-Ford(單源最短路徑)算法。

NS2中單播動(dòng)態(tài)路由體系主要涉及四個(gè)類:Routelogic類、rtObject類、rtPeer類以及所有路由協(xié)議都使用的基類Agent/rtProto類[2]。

1)Routelogic類

Routelogic類的成員函數(shù)register{ }用于注冊(cè)指定路由策略(如上述的static)。它建立一個(gè)變量rtprotos_,并將所注冊(cè)的路由策略名及其作用的節(jié)點(diǎn)序列當(dāng)作主題插入rtprotos_。Routelogic類的另一個(gè)成員函數(shù)configure{ }則讀取變量rtprotos_,對(duì)隊(duì)列中的每個(gè)元素調(diào)用相應(yīng)的路由協(xié)議初始化方法進(jìn)行路由初始化。

2)rtObject類

rtObject類類應(yīng)用于動(dòng)態(tài)路由協(xié)議DV,當(dāng)設(shè)置了DV路由策略后, rtObject類的init-all{ }函數(shù)會(huì)為它的每個(gè)作用節(jié)點(diǎn)創(chuàng)建一個(gè)rtObject對(duì)象,然后分別讓每個(gè)節(jié)點(diǎn)的rtObject對(duì)象調(diào)用自身的成員函數(shù)computer-router{ }進(jìn)行獨(dú)立的路由計(jì)算。

3)rtPeer類

rtPeer類是路由代理應(yīng)用的一個(gè)容器類, 該類維護(hù)著實(shí)例變量addr_(相鄰節(jié)點(diǎn)地址)和實(shí)例變量隊(duì)列metric_(所有目的節(jié)點(diǎn)cost_度量值)和rtpref_(存放路由代理優(yōu)先級(jí))。

4)Agent/rtProto類

Agent/rtProto類是所有路由協(xié)議的基類。每個(gè)路由協(xié)議都要定義函數(shù)init-all{ }以初始化完整的協(xié)議。

4 最快路由協(xié)議的實(shí)現(xiàn)

NS2中靜態(tài)和會(huì)話路由策略采用的是Dijkstra的all-pairs SPF(兩節(jié)點(diǎn)間最短距離)算法進(jìn)行路由表的計(jì)算,算法利用構(gòu)建整個(gè)網(wǎng)絡(luò)圖的鄰接矩陣,計(jì)算出所有節(jié)點(diǎn)對(duì)之間的最短路徑。在這里是代價(jià)指cost最小的路徑,當(dāng)鏈路代價(jià)1為時(shí),也是最少跳數(shù)路徑,并在路由表中登記兩節(jié)點(diǎn)間路徑下一跳節(jié)點(diǎn)的信息。現(xiàn)在我們的工作就是將其改寫成最快路由(時(shí)延最短)協(xié)議,也就是說(shuō)如在一對(duì)源和目的節(jié)點(diǎn)中存在多條路由的話,那么將選出具有最短時(shí)延的路由。對(duì)靜態(tài)路由協(xié)議的擴(kuò)展只需對(duì)Routelogic類進(jìn)行擴(kuò)展,無(wú)需修改tcl接口[3]。下面是我們對(duì)Routelogic類進(jìn)行擴(kuò)展的部分代碼。

1)改寫route.h

route.h文件是NS2中C++類Routelogic定義的頭文件。它包含網(wǎng)絡(luò)拓?fù)鋱D鄰接矩陣!路由表的結(jié)構(gòu)定義,以及類中支持路由計(jì)算的各成員變量和成員函數(shù)的說(shuō)明。對(duì)route.h文件的改寫包括以下幾部分:

①鄰接矩陣結(jié)構(gòu)增加對(duì)時(shí)延的支持,具體的結(jié)構(gòu)定義如下

struct adj_ entry {

double cost;

double delay;#存放鏈路的時(shí)延

void* entry;}

②增加私有成員變量adj_dl_和route_dl_

adj_ entry* adj_dl_#包含時(shí)延信息的鄰接矩陣

route_entry * route_dl_#包含時(shí)延信息的路由表

③增加私有函數(shù)insert_dl( )

void insert_dl(int src, int dst, double cost,double delay),

#給鄰接矩陣插入信息,除原有信息外還包括新增加時(shí)延信息。

④增加公有成員函數(shù)lookup_flat_dl( )

int lookup_flat_dl(char* asrc, char* adst, intresult);

用于查以時(shí)延為度量的路由表中asrc至adst的下一跳。

2)改寫route.cc

route.cc程序是實(shí)現(xiàn)路由計(jì)算的核心代碼。本文最快路由算法就是通過(guò)修改該程序完成的。對(duì)route.cc的修改包括對(duì)新增OTcI命令支持以及新增成員函數(shù)的實(shí)現(xiàn)兩部分:

①新增OTcl命令的支持

這部分是完成int RouteLogic::command(int argc, const char*const*argv)函數(shù)的編寫。主要完成以下三項(xiàng)工作:

a:定義插入命令(inset_dl):將時(shí)延信息輸入路由計(jì)算所需的鄰接矩陣;

b:定義查表命令( lookup_dl ):為了不破壞原有的單播路由表,本文建立了新的路由表,與之相對(duì)應(yīng),需要新的查表命令:

c:定義路由計(jì)算命令(compute-dl ):最快路由對(duì)象要調(diào)用新的路由計(jì)算程序進(jìn)行路由計(jì)算。

②新增成員函數(shù)的實(shí)現(xiàn)

a:insert_dl( )

該函數(shù)的作用是將時(shí)延信息存入鄰接矩陣。

b:compute_routes_dl( )

該函數(shù)是本文最快路由計(jì)算的重點(diǎn),同原有的comput-routes函數(shù)類似,函數(shù)的工作流程是:

步驟1:分配鄰接矩陣空間,登記網(wǎng)絡(luò)拓?fù)鋱D;

步驟2:分配路由表空間,存儲(chǔ)源、目的節(jié)點(diǎn)間的下一跳;

步驟3:填寫包含時(shí)延的鄰接矩陣信息;

步驟4:用Dijkstra all-pair SPF算法(算法以時(shí)延最短作為判優(yōu)標(biāo)準(zhǔn))計(jì)算任意節(jié)點(diǎn)對(duì)之間最優(yōu)路徑,并在路由表中登記下一跳信息。

c:lookup_flat_dl( )

該函數(shù)的作用是從路由表中查找任意源、目的節(jié)點(diǎn)間的下一跳節(jié)點(diǎn),并返回該節(jié)點(diǎn)。函數(shù)定義同原有的lookup- flat函數(shù)相似,區(qū)別僅在于所查路由表為Route_dl而不是route_。

5 仿真

為了證明上述的改動(dòng)是有效的,在ns2中編寫tcl腳本進(jìn)行仿真,在仿真開(kāi)始前,將網(wǎng)絡(luò)拓?fù)渲懈麈溌范攘吭O(shè)置為時(shí)延,設(shè)置0-1-2-3的總時(shí)延最小。從圖中我們可以看到雖然從0-4-3的跳數(shù)為3,但由節(jié)點(diǎn)0發(fā)往節(jié)點(diǎn)3的數(shù)據(jù)包仍然選擇0-1-2-3的路由(時(shí)延最短),盡管其跳數(shù)為4。

參考文獻(xiàn):

[1] 于斌,孫斌,等.NS2與網(wǎng)絡(luò)模擬[M].北京:人民郵電出版社,2007.

[2] http://www.isi.edu/nsnam/ns/ns-contributed.html[EB/OL].

[3] 夏利,張鵬,等.NS2中單播動(dòng)態(tài)路由機(jī)制的剖析與擴(kuò)展[J].微計(jì)算機(jī)應(yīng)用,2006(5):275-277.

注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文

主站蜘蛛池模板: 欧美色香蕉| 亚洲高清资源| 成年人国产网站| 日韩欧美网址| 亚洲视频色图| 成人国产精品一级毛片天堂| 高清国产在线| 久久精品一品道久久精品| 欧美www在线观看| 在线观看亚洲成人| 亚洲精品中文字幕无乱码| 国产免费人成视频网| 国产免费怡红院视频| 欧美在线视频不卡| 国产永久在线视频| 99精品这里只有精品高清视频| 亚欧美国产综合| 91久久夜色精品国产网站| 日韩一区二区三免费高清| 国产麻豆精品久久一二三| 亚洲精品国产自在现线最新| 欧美午夜性视频| 国产成人高清精品免费软件 | 亚洲天堂网2014| 精品福利网| 国产精品开放后亚洲| 亚洲欧美日韩另类| 这里只有精品免费视频| 中国黄色一级视频| 先锋资源久久| 午夜一级做a爰片久久毛片| 一区二区午夜| 男人天堂亚洲天堂| 国产高清无码麻豆精品| 久久国产精品娇妻素人| 无码aaa视频| 国产精品无码AV中文| 国产情精品嫩草影院88av| 中文无码日韩精品| 无码中字出轨中文人妻中文中| 免费视频在线2021入口| 国产精品女在线观看| 色妞永久免费视频| 欧美精品在线视频观看| 亚洲一道AV无码午夜福利| 波多野吉衣一区二区三区av| 四虎精品黑人视频| 97久久免费视频| 五月综合色婷婷| 国产免费精彩视频| 一区二区日韩国产精久久| 99激情网| 日本一区二区三区精品国产| 国产69精品久久久久孕妇大杂乱 | 久久国产成人精品国产成人亚洲 | 国产精品七七在线播放| 毛片国产精品完整版| 国产成人精品优优av| 国产精品偷伦视频免费观看国产| 国产成人一区| 国产福利一区视频| 国产一区二区福利| 人妻免费无码不卡视频| 久久综合丝袜日本网| 久久这里只有精品国产99| 欧洲av毛片| 91av国产在线| 欧美日韩在线国产| 欧美色综合久久| 91小视频在线| 欧洲欧美人成免费全部视频| 久久久亚洲色| 日本精品视频一区二区| 无码内射中文字幕岛国片| 精品一区二区三区水蜜桃| 国产后式a一视频| 婷婷亚洲最大| 91青青视频| 中文字幕人妻无码系列第三区| 无码中字出轨中文人妻中文中| 99热6这里只有精品| 精品视频91|