賀蘊彬
摘 要 MANET(Mobile Ad Hoc Network)是移動自組織網(wǎng)絡(luò)技術(shù),其在工業(yè)生產(chǎn)控制領(lǐng)域具有廣泛的應(yīng)用價值。本文基于DSR算法的MANET設(shè)計研究,將DSR(Dynamic Source Routing)路由算法在MANET網(wǎng)絡(luò)中進行改進,解決目前MANET節(jié)點頻繁移動問題,進而設(shè)計DSR路由算法改進方案,優(yōu)化網(wǎng)絡(luò)節(jié)點,使其符合工業(yè)生產(chǎn)控制要求,能夠解決無線自組網(wǎng)問題,實現(xiàn)有效的、穩(wěn)定網(wǎng)絡(luò)通信。
【關(guān)鍵詞】DSR算法 MANET網(wǎng)絡(luò) 路由算法 無線自組網(wǎng)
1 MANET網(wǎng)絡(luò)概述
MANET是移動自組織網(wǎng)絡(luò),被稱為移動Ad Hoc網(wǎng)絡(luò),它由多個移動無線節(jié)點組成,具有無中心、自組織、分布式的動態(tài)網(wǎng)絡(luò)特點,滿足快速、輕量的創(chuàng)建網(wǎng)絡(luò)通信。MANET網(wǎng)絡(luò)中的各個節(jié)點具有相同的地位和目的,可任意增加和減少節(jié)點,不會對網(wǎng)絡(luò)其他鏈路通信造成影響。MANET由于節(jié)點發(fā)射功率限制、環(huán)境限制等網(wǎng)絡(luò)節(jié)點之間的鏈接保障性較差。
總結(jié)MANET網(wǎng)絡(luò)特點主要包括:無中心自組織、輕量部署生存周期短、多跳網(wǎng)絡(luò)策略擴展性強、節(jié)點隨機移動網(wǎng)絡(luò)拓?fù)鋭討B(tài)性。其相比傳統(tǒng)的有限網(wǎng)絡(luò)在網(wǎng)絡(luò)結(jié)構(gòu)方面無中心,拓?fù)浣Y(jié)構(gòu)動態(tài)變化、無基礎(chǔ)設(shè)施支持,配置速度快、分布式進行控制管理。但是其安全性和服務(wù)質(zhì)量較差、生存時間較短,網(wǎng)絡(luò)健壯性困難。
2 DSR路由算法
DSR路由算法屬于被動式路由算法,被動式路由對于無中心的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)具有較好的適用性,其算法簡單、易于優(yōu)化、便于移植。DSR算法實現(xiàn)源路由機制,在數(shù)據(jù)包傳輸過程中,需要在數(shù)據(jù)包頭部添加路由信息,當(dāng)路由發(fā)現(xiàn)過程中會帶來很大的消耗,所以需要在節(jié)點內(nèi)設(shè)置路由表對路由信息進行存儲,并通過路由的維護來調(diào)節(jié)節(jié)點實現(xiàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化。
路由的發(fā)現(xiàn)過程會首先查看路由表內(nèi)是否存在節(jié)點信息,若自身內(nèi)部路由表存在到目的節(jié)點信息則直接使用,若無則需要發(fā)起路由發(fā)現(xiàn)以泛洪廣播發(fā)送路由請求包。
路由請求數(shù)據(jù)包是由源節(jié)點地址(Sid)、目標(biāo)節(jié)點地址(Did)、數(shù)據(jù)包轉(zhuǎn)發(fā)路徑(Route record)和路由請求包序列號(Request id)構(gòu)成。為了保證降低路由發(fā)現(xiàn)能耗開銷,根據(jù)源及誒單地址和請求包序列號判斷是否為首次收到數(shù)據(jù)包,若是首次收到數(shù)據(jù)包則進行連接,否則則放棄連接。在目的節(jié)點收到所需路由答應(yīng)數(shù)據(jù)包。DSR路由算法發(fā)現(xiàn)過程為初始化數(shù)據(jù)檢查節(jié)點本身是否含有目的及誒單路由信息,若有則啟動路由建立連接,若沒有則啟動路由建立泛洪路由請求判斷是否存在目的節(jié)點,若是存在則發(fā)送路由應(yīng)答,源節(jié)點接收到應(yīng)答建立連接,若不存在目的節(jié)點則判斷是否緩存有到目的節(jié)點的路由信息,若有則發(fā)送路由應(yīng)答,源節(jié)點接收到應(yīng)答建立連接,若無則判斷是否達到最大跳數(shù)限制,若未達到則返回再次進行搜索,若達到限制則路由建立連接失敗。當(dāng)路由連接中斷,節(jié)點會向源及誒單反向發(fā)送錯誤信息包,當(dāng)節(jié)點收到錯誤信息包后會將該路由信息刪除。若是源節(jié)點在一定時間內(nèi)沒有收到答應(yīng)包則會認(rèn)為路由連接可能中斷或者信息不可用,會刪除其路由表中對應(yīng)的路由信息。
3 DSR路由算法改進
移動節(jié)點會產(chǎn)生無限媒介的競爭,設(shè)A為信息的發(fā)送點,B、CWie接收點,設(shè)AB兩點距離為x,C與B的競爭其處于區(qū)域SAB,競爭概率,概率積分區(qū)間等于中心點在A半徑x圓周[0,r],得到競爭概率期望值為
,移動節(jié)點接收同條信息的數(shù)量越多其競爭概率越大。
為了提高DSR路由算法效率,需要進行降低路由發(fā)現(xiàn)消耗、減少路由發(fā)現(xiàn)過程的發(fā)起次數(shù)、設(shè)置計時字段、限制路由表記錄數(shù)并建立等待路由應(yīng)答表。同時,DSR算法按需分配對其進行優(yōu)化進行網(wǎng)絡(luò)包格式統(tǒng)一定義。
降低路由發(fā)現(xiàn)能耗設(shè)置網(wǎng)絡(luò)中的任意兩個節(jié)點之間的最大路由為4跳,為每個網(wǎng)絡(luò)包設(shè)置一個生存時間值,其初始值為為4,每條路徑最大包含5個節(jié)點,當(dāng)每次進行網(wǎng)絡(luò)包轉(zhuǎn)發(fā)都會較少一次生存時間值。減少路由發(fā)現(xiàn)過程的發(fā)起次數(shù)以中間節(jié)點獲取應(yīng)答包后提取路由信息,進而獲得節(jié)點到到源點和目的節(jié)點的路由。DSR是被動路由算法,路由表信息具有一定的時效性,所以為路由表設(shè)置生存計時字段,每一條信息都具有計時字段,可記錄節(jié)點信息被記錄的時間,當(dāng)提取有效信息時需要在網(wǎng)絡(luò)包里盡可能多的進行提取。為了解決存儲器資源科設(shè)置節(jié)點路由表中的記錄條數(shù)限制在10條以內(nèi),若路由表存滿則按照一定策略進行淘汰。為了防止節(jié)點頻繁發(fā)送路由請求,建立等待路由應(yīng)答表按照順序回復(fù)答應(yīng)包。
4 基于DSR算法的MANET設(shè)計
4.1 DSR定義
DSR定義包括網(wǎng)絡(luò)包和各類表的格式定義,網(wǎng)絡(luò)包的格式定義路由請求包RREQ、路由應(yīng)答包RREP、源路由包DATA、路由出錯信息包REER。源路由節(jié)點ID使用SID字段表示,節(jié)點有效ID取值范圍(1,254),以0表示無效ID,255表示所有節(jié)點,目的節(jié)點ID使用DID字段表示,包的序列號使用QID字段表示,取值范圍(0-65535),包的轉(zhuǎn)發(fā)路徑使用Path字段表示,包的生存時間值使用TTL字段表示,數(shù)據(jù)段有效長度使用DLen字段表示,取值(0,16),Reserved位屬性擴展保留字段,DATA表示數(shù)據(jù)字段。
4.2 節(jié)點程序
在組網(wǎng)無線通信中網(wǎng)絡(luò)節(jié)點可作為終端節(jié)點、路由節(jié)點、交互節(jié)點存在,MANET節(jié)點程序框架包括主程序、串口中斷函數(shù)、定時器中斷函數(shù)和nRF中斷函數(shù)。主程序負(fù)責(zé)任務(wù)的調(diào)度和處理,串口中斷函數(shù)負(fù)責(zé)實時接收串口命令和維護串口接收緩沖,定時器中斷函數(shù)負(fù)責(zé)維護時鐘計時,nRF中斷函數(shù)負(fù)責(zé)實時接收網(wǎng)絡(luò)包,維護nRF緩沖區(qū)。每個節(jié)點有且僅有一張路由表,最多可記錄10條信息,路由信息按照FIFO策略進行更新,由Time字段記錄信息有效時間,當(dāng)Time=0時則節(jié)點失效。為每個節(jié)點配置SID_QId快查表,記錄節(jié)點收到網(wǎng)絡(luò)包的
5 結(jié)語
本文對DSR算法進行改進,以滿足工業(yè)控制、傳感網(wǎng)絡(luò)等領(lǐng)域?qū)ANET的需求,在MANET節(jié)點設(shè)計中對網(wǎng)絡(luò)包和各類表格式進行定義,構(gòu)建節(jié)點程序,實現(xiàn)多任務(wù)調(diào)用和事件實施響應(yīng),提高MANET的使用效率,解決節(jié)點頻繁移動問題,將DSR協(xié)議中的路由算法在自定義MANET協(xié)議棧中優(yōu)化和移植,具有良好的路由優(yōu)化策略。
參考文獻
[1]趙開新,魏勇,王東署.改進蟻群算法在DSR路由協(xié)議中的應(yīng)用[J].火力與指揮控制,2015(07):135-138.
[2]李智楠,楊曉冬.基于可靠路徑穩(wěn)定性估計的MANET路由發(fā)現(xiàn)算法研究[J].通信學(xué)報,2016,37(08):119-128.
[3]叢佩麗,趙恒.一種面向移動AdHoc網(wǎng)絡(luò)DSR協(xié)議的改進泛洪算法[J].電信科學(xué),2016,32(10):110-115.
作者單位
昭通學(xué)院信息科學(xué)與技術(shù)學(xué)院 云南省昭通市 657000