張大亮,陳 濤,黃 琳
(湖北師范學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 湖北 黃石 435000)
Ad hoc網(wǎng)絡(luò)以其自組織性,其路由不能采用傳統(tǒng)的internet路由算法。到目前為止,已有許多種類的協(xié)議,AODV和DSR是其中具有代表性的兩種典型的路由協(xié)議。兩種協(xié)議既有相似之處又各有其特點(diǎn)。
DSR(動(dòng)態(tài)源路由協(xié)議)是一種按需路由協(xié)議。在該協(xié)議中,節(jié)點(diǎn)在發(fā)送數(shù)據(jù)時(shí)才開(kāi)始尋找路由。發(fā)送出去的數(shù)據(jù)包本身會(huì)攜帶至目的節(jié)點(diǎn)所經(jīng)過(guò)節(jié)點(diǎn)的地址信息。整個(gè)傳送的過(guò)程中數(shù)據(jù)包會(huì)按照數(shù)據(jù)包中攜帶的地址信息逐跳至目的節(jié)點(diǎn)。
DSR路由協(xié)議主要包括路由發(fā)現(xiàn)和路由維護(hù)兩部分[1]。路由發(fā)現(xiàn)過(guò)程是為了當(dāng)源節(jié)點(diǎn)發(fā)送數(shù)據(jù)包時(shí)能獲得完整的至目的節(jié)點(diǎn)的路由信息。當(dāng)Ad Hoc網(wǎng)絡(luò)中的節(jié)點(diǎn)由于關(guān)機(jī)或者由于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí)不能繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù)包,源節(jié)點(diǎn)如果按照以前的路由則無(wú)法使得數(shù)據(jù)包到達(dá)目的節(jié)點(diǎn),這時(shí)路由維護(hù)算法會(huì)及時(shí)發(fā)現(xiàn),并發(fā)起新的路由發(fā)現(xiàn)和建立的過(guò)程。
信源在開(kāi)始發(fā)送數(shù)據(jù)包的時(shí)候即路由發(fā)現(xiàn)過(guò)程開(kāi)始的時(shí)候,信源首先向其所有鄰節(jié)點(diǎn)洪泛RREQ(路由請(qǐng)求)報(bào)文。RREQ中包括“信宿”、“信源”“路由記錄”以及“本分組ID”等字段。其中“路由記錄”字段將記下RREQ分組逐跳傳播時(shí)所順序經(jīng)過(guò)的節(jié)點(diǎn)地址,從而完成路由發(fā)現(xiàn)的功能。<源節(jié)點(diǎn)地址,請(qǐng)求ID>序列這里稱為RREQ標(biāo)識(shí),以便于RREQ的接收處理以防止收到重復(fù)的路由請(qǐng)求。
中間各節(jié)點(diǎn)對(duì)RREQ請(qǐng)求分組的處理步驟如下:
1)如果最近收到的“歷史RREQ列表”中該RREQ標(biāo)識(shí)已存在,則直接丟棄該分組。
2)如果“路由記錄”中包括本節(jié)點(diǎn),丟棄該RREQ分組。
3)如果本節(jié)點(diǎn)就是RREQ指定的信宿,則發(fā)送RREP(路由回答分組)。RREP中包含了從信源至信宿所經(jīng)過(guò)的所有節(jié)點(diǎn)地址信息。否則將節(jié)點(diǎn)地址附在報(bào)文的“路由記錄”后,同時(shí)繼續(xù)向鄰節(jié)點(diǎn)廣播更新后的RREQ。
信宿向信源會(huì)送RREP,如果信宿存在“反向路由”。RREP分組沿“反向路由”將路由信息傳輸?shù)叫旁?。否則,按RREQ中的“路由記錄”進(jìn)行反向傳送。
Ad Hoc網(wǎng)絡(luò)由于節(jié)點(diǎn)的電源采用電池供電因此能量有限。如果采用傳統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)來(lái)建立和維護(hù)路由,周期性的通過(guò)洪泛方式來(lái)建立和維護(hù)路由則會(huì)造成很大的開(kāi)銷。而在DSR協(xié)議中,則不是通過(guò)周期性的廣播來(lái)發(fā)現(xiàn)路由和維護(hù)路由,只是需要發(fā)送報(bào)文的時(shí)候才來(lái)檢測(cè)路由的可用性。
DSR協(xié)議具有以下優(yōu)點(diǎn):
1)節(jié)點(diǎn)不需要存儲(chǔ)路由表,信源端需要發(fā)送報(bào)文時(shí)才開(kāi)始建立到達(dá)信宿的路由。
2)信源存儲(chǔ)有多條路由,因此當(dāng)發(fā)送數(shù)據(jù)包的時(shí)候有多條路由備選,當(dāng)其中一條失效后還有其他的路由備用。
3)支持非對(duì)稱傳輸信道模式。
AODV(無(wú)線自組網(wǎng)按需平面距離矢量路由協(xié)議),也是Ad Hoc網(wǎng)絡(luò)中按需路由方式的典型協(xié)議。由C Perkins和E Royer于2000年首先提出來(lái)的[2]。在AODV協(xié)議中,路由中的每個(gè)節(jié)點(diǎn)都維護(hù)路由表。
AODV路由協(xié)議也主要由路由發(fā)現(xiàn)和路由維護(hù)兩部分組成。與DSR協(xié)議不同AODV的數(shù)據(jù)包到達(dá)信宿要靠中間所經(jīng)過(guò)的節(jié)點(diǎn)來(lái)進(jìn)行路由的查找和維護(hù),數(shù)據(jù)包的頭部不再帶有完整的路由信息。信源在發(fā)起路由建立過(guò)程的時(shí)候首先向所有的臨近節(jié)點(diǎn)廣播RREQ。RREQ中會(huì)攜帶以下字段:<信源地址,信源序列號(hào),廣播ID,信宿地址,信宿序列號(hào),跳數(shù)計(jì)數(shù)器>。序列對(duì)<信源地址,廣播ID>用來(lái)標(biāo)識(shí)此RREQ。
AODV協(xié)議下中間節(jié)點(diǎn)路由表的建立過(guò)程如下:
1)創(chuàng)建一個(gè)表項(xiàng),先不分配有效序列號(hào),用于記錄反向路徑。
2)如果己收到一個(gè)具有相同標(biāo)識(shí)的RREQ分組,則拋棄該分組,不作任何處理。否則對(duì)上述表項(xiàng)做以下處理:首先將信宿序列號(hào)設(shè)置為該RREQ的信源序列號(hào),然后向周圍節(jié)點(diǎn)廣播該RREQ,接著將跳數(shù)設(shè)置為該RREQ的跳數(shù)計(jì)數(shù)器的值,最后設(shè)置該表項(xiàng)的過(guò)時(shí)定時(shí)器。
3)若果該節(jié)點(diǎn)的地址與RREQ中信宿地址相同而且表項(xiàng)的信宿序列號(hào)大于RREQ中的信宿序列號(hào)則形成反向路由。
AODV不同于DSR協(xié)議,報(bào)文到達(dá)信宿的過(guò)程中所經(jīng)過(guò)的每個(gè)節(jié)點(diǎn)都會(huì)指定報(bào)文的下一跳地址因此數(shù)據(jù)報(bào)文頭部不再需要攜帶完整的路由節(jié)點(diǎn)地址信息,減少了數(shù)據(jù)報(bào)文頭部路由信息對(duì)信道的占用,協(xié)議的帶寬利用率高。另外也避免了路由環(huán)路現(xiàn)象的發(fā)生。但是AODV協(xié)議中源節(jié)點(diǎn)不能緩存多條完整的路由,因此在中間節(jié)點(diǎn)發(fā)現(xiàn)路徑中斷時(shí),AODV只能將分組丟棄[3]。
OPNET最早是在1986年由麻省理工大學(xué)的兩個(gè)博士創(chuàng)建,于1998年進(jìn)入中國(guó)。并被廣泛地被設(shè)備制造領(lǐng)域和國(guó)防領(lǐng)域廣泛采用。在OPNET各種產(chǎn)品中,Modeler幾乎包含其他產(chǎn)品的功能,在不同領(lǐng)域能展現(xiàn)出不同的用途,有著與實(shí)際情況相比非常準(zhǔn)確的仿真數(shù)據(jù)[4]。
本仿真使用Modeler自帶的模型通過(guò)設(shè)置場(chǎng)景、節(jié)點(diǎn)參數(shù)。定義仿真場(chǎng)景如下:
1)仿真區(qū)域: 100M×100M的辦公室區(qū)域;
2)節(jié)點(diǎn)發(fā)射功率為0.005W,數(shù)據(jù)率為11Mbps,且發(fā)送速率按照均勻分布在整個(gè)過(guò)程中發(fā)送的速率都維持恒定;
3)仿真節(jié)點(diǎn): 20個(gè)隨機(jī)分布的節(jié)點(diǎn)組成無(wú)線Ad Hoc網(wǎng)絡(luò)。如圖1所示;
圖1 Ad Hoc網(wǎng)絡(luò)拓?fù)鋱D
4)每個(gè)節(jié)點(diǎn)的運(yùn)動(dòng)軌跡為隨機(jī)的,運(yùn)動(dòng)速度為5m/s;
5)跳數(shù)限制: 在仿真中我們對(duì)從節(jié)點(diǎn)14到節(jié)點(diǎn)5所經(jīng)過(guò)的最大節(jié)點(diǎn)數(shù)作了限制,設(shè)定最大跳數(shù)為7,如果路由過(guò)程中超過(guò)了此跳數(shù)的數(shù)據(jù)包則丟棄,因?yàn)樘鴶?shù)過(guò)多會(huì)導(dǎo)致網(wǎng)絡(luò)性能的下降。
6)信源和信宿:信源為節(jié)點(diǎn)14,信宿為節(jié)點(diǎn)5;
7)發(fā)送方分組發(fā)送采用均勻分布,分組大小1024bit;
8)節(jié)點(diǎn)之間采用802.11b協(xié)議來(lái)進(jìn)行通信和傳輸數(shù)據(jù)。
網(wǎng)絡(luò)運(yùn)行一小時(shí)應(yīng)用Opnet分別對(duì)AODV以及DSR協(xié)議情況下時(shí)延的仿真,其結(jié)果如圖2以及如圖3.發(fā)和送方的發(fā)送速率、接收方的接收速率進(jìn)行仿真,其結(jié)果如圖4以及如圖5.
圖2 AODV協(xié)議下時(shí)延 圖3 DSR協(xié)議下時(shí)延
從仿真結(jié)果的對(duì)比可以看出相同的環(huán)境下DSR協(xié)議比AODV總的來(lái)說(shuō)時(shí)延要大,但是時(shí)延抖動(dòng)要小。通過(guò)兩種協(xié)議下發(fā)送速率和接受速率的對(duì)比中也可以看出相同的發(fā)送速率前提下,在DSR協(xié)議下,接收方的接收速率要高于AODV協(xié)議,同時(shí)比AODV協(xié)議的接收效果要穩(wěn)定。
圖4 AODV協(xié)議下發(fā)送方和接收方的速率 圖5 DSR協(xié)議下發(fā)送方和接收方的速率
[1]汪 濤.無(wú)線網(wǎng)絡(luò)技術(shù)導(dǎo)論[M].北京:清華大學(xué)出版社,2008.
[2]孫寶林,桂 超,李 媛,等.移動(dòng)Ad Hoc網(wǎng)絡(luò)路由技術(shù)研究[M].武漢:湖北人民出版社,2008.
[3]鄭少仁,王海濤,趙志峰,等.Ad Hoc網(wǎng)絡(luò)技術(shù)[M].北京:人民郵電出版社,2005.
[4]陳 敏.Opnet網(wǎng)絡(luò)仿真[M].北京:清華大學(xué)出版社,2004.