摘 要: 提出了一種基于負(fù)載均衡的DYMO路由協(xié)議改進(jìn),,通過仿真證明改進(jìn)的DYMO路由協(xié)議實(shí)現(xiàn)了網(wǎng)絡(luò)的優(yōu)化,,增加了移動(dòng)自組網(wǎng)的性能。
關(guān)鍵詞: 移動(dòng)自組網(wǎng),;Ad Hoc路由協(xié)議,;DYMO
移動(dòng)自組網(wǎng)MANET(Mobile Ad Hoc Networks)是由若干移動(dòng)節(jié)點(diǎn)自行組成的網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)沒有固定的基礎(chǔ)設(shè)施,,每個(gè)節(jié)點(diǎn)都可以自由地移動(dòng),、加入以及退出網(wǎng)絡(luò)。移動(dòng)自組網(wǎng)的研究最初是以一個(gè)獨(dú)立網(wǎng)絡(luò)存在的,,隨著近年來移動(dòng)自組網(wǎng)研究的不斷深入以及固定接入網(wǎng)的普及,,實(shí)現(xiàn)Ad Hoc網(wǎng)絡(luò)與接入網(wǎng)技術(shù)的結(jié)合成為了移動(dòng)自組網(wǎng)的一個(gè)重要研究方向,。
移動(dòng)自組網(wǎng)中的路由協(xié)議分為兩大類。一是先驗(yàn)式路由協(xié)議,,又稱為表驅(qū)動(dòng)路由協(xié)議,,這類協(xié)議類似于固定網(wǎng)絡(luò)的路由協(xié)議,在任何情況下,,無論是否傳輸數(shù)據(jù),,每個(gè)節(jié)點(diǎn)都必須維護(hù)一張整個(gè)網(wǎng)絡(luò)的路由表。二是后驗(yàn)式路由協(xié)議,,又稱為按需路由協(xié)議,,這類路由協(xié)議是基于移動(dòng)自組網(wǎng)的網(wǎng)絡(luò)拓?fù)洳粩嘧兓匦远芯砍龅摹YMO是最新的按需路由協(xié)議,,由IETF的移動(dòng)自組網(wǎng)工作組提出,,是AODV路由協(xié)議的后繼協(xié)議,大量繼承了AODV路由協(xié)議的方法和機(jī)制,,并且包含了一些DSR路由協(xié)議的特性,。
本文針對(duì)DYMO路由協(xié)議和接入網(wǎng)的結(jié)合,提出了基于網(wǎng)關(guān)發(fā)現(xiàn)以及網(wǎng)關(guān)負(fù)載均衡算法的改進(jìn)LB-DYMO路由協(xié)議,,使得網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)能夠有效地分擔(dān)流量和能耗,,延長(zhǎng)節(jié)點(diǎn)存活時(shí)間,。并通過仿真驗(yàn)證LB-DYMO路由協(xié)議能更好地與接入網(wǎng)結(jié)合,。
1 DYMO路由協(xié)議
DYMO路由協(xié)議的基本操作分為路由發(fā)現(xiàn)和路由維護(hù)兩個(gè)階段。
在DYMO路由協(xié)議的路由發(fā)現(xiàn)階段,,當(dāng)源節(jié)點(diǎn)要發(fā)送數(shù)據(jù)到目標(biāo)節(jié)點(diǎn)時(shí)會(huì)先查找源節(jié)點(diǎn)內(nèi)部的路由表,,如果不存在目的節(jié)點(diǎn)的路由條目,源節(jié)點(diǎn)就先緩存要發(fā)送的數(shù)據(jù),,然后開啟一個(gè)路由發(fā)現(xiàn)進(jìn)程,。首先,源節(jié)點(diǎn)廣播發(fā)送一個(gè)路由查詢包(RREQ)到它所有的鄰居節(jié)點(diǎn),,這些鄰居節(jié)點(diǎn)收到了RREQ后再查找它們內(nèi)部的路由表,,如果還是沒有目的節(jié)點(diǎn)的路由條目,則這些鄰居節(jié)點(diǎn)繼續(xù)向它們的鄰居轉(zhuǎn)發(fā)這個(gè)RREQ包直到目的節(jié)點(diǎn)收到為止,。DYMO包含了源動(dòng)態(tài)DSR路由協(xié)議的特性,,在RREQ包轉(zhuǎn)發(fā)的過程中加入了中間節(jié)點(diǎn)的節(jié)點(diǎn)信息。當(dāng)RREQ包到達(dá)目的節(jié)點(diǎn)時(shí),,目的節(jié)點(diǎn)會(huì)往源節(jié)點(diǎn)地址單播發(fā)送一個(gè)路由回應(yīng)(RREP)包,。源節(jié)點(diǎn)收到這個(gè)RREP包時(shí),源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的路由便建立起來了,。
路由維護(hù)階段分為兩個(gè)部分,。當(dāng)一個(gè)活躍的節(jié)點(diǎn)檢測(cè)到其某條鄰接的鏈路斷裂時(shí),,這個(gè)節(jié)點(diǎn)就會(huì)發(fā)出一個(gè)路由錯(cuò)誤(RRER)包來表示這條路由已經(jīng)破損且目標(biāo)節(jié)點(diǎn)不可達(dá)。在更新路由條目時(shí),,DYMO路由協(xié)議使用序列號(hào)來檢查條目的時(shí)效性,,序列號(hào)數(shù)值越大則表明時(shí)效性越高,每個(gè)節(jié)點(diǎn)內(nèi)都保存其自身的序列號(hào)用來維持這個(gè)序列號(hào)機(jī)制,,該機(jī)制能很好地保證路由無環(huán),。
2 改進(jìn)的LB-DYMO路由協(xié)議設(shè)計(jì)
為了提高DYMO與接入網(wǎng)鏈接的效率,本文提出一種基于負(fù)載均衡算法的LB-DYMO路由協(xié)議,。
2.1 基本思想
2.1.1網(wǎng)關(guān)發(fā)現(xiàn)
為了實(shí)現(xiàn)自組網(wǎng)與有限接入網(wǎng)的結(jié)合,,路由協(xié)議必須具備網(wǎng)關(guān)發(fā)現(xiàn)的能力。整個(gè)自組網(wǎng)絡(luò)至少需要一個(gè)連接外網(wǎng)的節(jié)點(diǎn)作為網(wǎng)關(guān),,這樣才能使網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)實(shí)現(xiàn)與Internet互聯(lián),。在移動(dòng)自組網(wǎng)拓?fù)涓叨葎?dòng)態(tài)變化的環(huán)境下,能夠高效地發(fā)現(xiàn)網(wǎng)關(guān)并不容易,。
網(wǎng)關(guān)發(fā)現(xiàn)算法可以分為主動(dòng)式和被動(dòng)式兩大類,,改進(jìn)的LB-DYMO采用被動(dòng)式網(wǎng)關(guān)發(fā)現(xiàn)算法。由于DYMO路由協(xié)議本身是一個(gè)被動(dòng)式路由發(fā)現(xiàn)的路由協(xié)議,,因此被動(dòng)式的網(wǎng)關(guān)發(fā)現(xiàn)算法的應(yīng)用能起到更好的效果,。為了實(shí)現(xiàn)被動(dòng)路由協(xié)議發(fā)現(xiàn),可以在路由協(xié)議的路由回應(yīng)階段RREP包中加入IGW(網(wǎng)關(guān))字段,,表明該節(jié)點(diǎn)為網(wǎng)關(guān),。新的RREP格式如圖1所示,新加入的IGW字段利用了原來RREP報(bào)文所設(shè)置的保留位(Rsv),。
2.1.2 Load-balance(負(fù)載均衡)算法實(shí)現(xiàn)機(jī)制
在LB-DYMO路由協(xié)議的網(wǎng)關(guān)發(fā)現(xiàn)過程之后,,由于移動(dòng)自組網(wǎng)的特性,網(wǎng)絡(luò)中可能存在多個(gè)網(wǎng)關(guān),。簡(jiǎn)單地選取一條跳數(shù)最短的路由并不一定是最合適的路由,。在多網(wǎng)關(guān)的移動(dòng)自組網(wǎng)環(huán)境下,采用負(fù)載均衡算法不但能夠使得數(shù)據(jù)流避開帶寬較小的網(wǎng)關(guān),,選擇阻塞較小的網(wǎng)關(guān),,還能均衡各個(gè)節(jié)點(diǎn)的業(yè)務(wù)流量以及能耗。
2.2 實(shí)現(xiàn)方案
路由發(fā)現(xiàn)階段:LB-DYMO和DYMO使用同樣的方法,,如果發(fā)現(xiàn)到達(dá)目的地址在源節(jié)點(diǎn)的路由表中找不到對(duì)應(yīng)路由,,那么源節(jié)點(diǎn)就會(huì)廣播發(fā)送RREQ包至所有鄰居節(jié)點(diǎn)。
路由回復(fù)階段:當(dāng)源節(jié)點(diǎn)所要到達(dá)的目的地址不存在于整個(gè)自組網(wǎng)中,,那么LB-DYMO的被動(dòng)網(wǎng)關(guān)發(fā)送算法就會(huì)被觸發(fā),。IGW收到通往外網(wǎng)網(wǎng)段的RREQ查詢包后,會(huì)在RREP包后加入IGW字段,,表明本節(jié)點(diǎn)為網(wǎng)關(guān),。同時(shí)在RREP包按原路徑返回源節(jié)點(diǎn)時(shí),,還會(huì)綜合計(jì)算整個(gè)鏈路上的負(fù)載以及帶寬。在多網(wǎng)關(guān)的情況下,,源節(jié)點(diǎn)會(huì)收到多個(gè)RREP包用來告知源節(jié)點(diǎn)有多條通往目的地址的路由存在,。LB-DYMO通過RREP包返回時(shí)計(jì)算出的鏈路MetricGW值選擇合適的網(wǎng)關(guān),在源節(jié)點(diǎn)的路由表中寫一條通往外網(wǎng)的默認(rèn)IGW,,暫時(shí)未使用到的IGW會(huì)在路由表的默認(rèn)路由下寫為備份IGW,。默認(rèn)網(wǎng)關(guān)的使用會(huì)分配GWtmin和GWtmax。分別表示默認(rèn)網(wǎng)關(guān)的最小生存以及最大生存時(shí)間,。
路由維護(hù)階段:一旦默認(rèn)IGW的使用時(shí)間到達(dá)了最大生存時(shí)間,,LB-DYMO則會(huì)實(shí)行新一輪的路由發(fā)現(xiàn)策略,目的地為前默認(rèn)IGW節(jié)點(diǎn)以及各個(gè)備份IGW節(jié)點(diǎn),,然后通過收到的RREP包得到最新的鏈路MetricGW值,,權(quán)衡之后再選出新的默認(rèn)IGW節(jié)點(diǎn)。
3 仿真結(jié)果及分析
本文仿真采用NS2網(wǎng)絡(luò)仿真模擬軟件,,設(shè)計(jì)的仿真場(chǎng)景為1 500 m×1 500 m,,節(jié)點(diǎn)數(shù)量為100個(gè)的矩形區(qū)域,仿真時(shí)間為300 s,。NS2中選擇的節(jié)點(diǎn)運(yùn)動(dòng)模式為Random waypoint,,MAC層采用IEEE 802.11介質(zhì)訪問控制協(xié)議。傳輸層采用UDP協(xié)議,,應(yīng)用層發(fā)送包大小為512 B的恒定比特率(CBR)數(shù)據(jù)流,,整個(gè)自組網(wǎng)絡(luò)中的IGW數(shù)量為3。
實(shí)驗(yàn)結(jié)果如圖2~圖4所示,,圖2和圖3顯示的是數(shù)據(jù)包傳輸速率在5~40 packet/s情況下,,LB-DYMO與DYMO的端到端時(shí)延與歸一化路由開銷比較。由圖可知,,LB-DYMO的路由開銷和時(shí)延都在一定程度上比DYMO高,這是由于LB-DYMO在路由回應(yīng)以及路由維護(hù)階段均比DYMO復(fù)雜,。圖4顯示的是在不同數(shù)據(jù)包傳輸速率下,,LB-DYMO與DYMO分組投遞率的比較。由圖可知,,加入了負(fù)載均衡算法的LB-DYMO的表現(xiàn)比DYMO有一定提高,。
本文在DYMO路由協(xié)議的基礎(chǔ)上進(jìn)行了改進(jìn),根據(jù)各自的MetriGW值來選擇不同路徑到達(dá)不同的網(wǎng)關(guān)實(shí)現(xiàn)負(fù)載均衡,。仿真結(jié)果表明,,LB-DYMO的分組投遞率較DYMO有一定程度的提高,但是由于協(xié)議復(fù)雜度的增加,,路由開銷和端到端延時(shí)也相應(yīng)增加,。今后的工作將是研究如何能進(jìn)一步提高LB-DYMO路由協(xié)議的各項(xiàng)性能,,以及如何從理論出發(fā)更好地實(shí)現(xiàn)自組網(wǎng)的網(wǎng)關(guān)負(fù)載均衡。
參考文獻(xiàn)
[1] 陳林星,,曾曦,,曹毅.移動(dòng)Ad Hoc網(wǎng)絡(luò):自組織分組無線網(wǎng)絡(luò)技術(shù)[M].北京:電子工業(yè)出版社,2012.
[2] PERKINS C,, CHAKERES I. Dynamic MANET on-demand(DYMO)routing[EB/OL]. http://tools.ietf.org/html/draft-ietf-manet-dymo-26.
[3] 徐煒,,周少瓊,柏詩玉.移動(dòng)Ad hoc網(wǎng)絡(luò)基于路由協(xié)議的擁塞控制[J].微型機(jī)與應(yīng)用,,2011(4):65-67.
[4] 劉銳,,曾素華.AODV路由協(xié)議負(fù)載均衡的改進(jìn)[J].四川兵工學(xué)報(bào),2008(6):147-148.