AdHoc網(wǎng)絡(luò)設(shè)計(jì)中的一個關(guān)鍵問題是開發(fā)能夠在兩個節(jié)點(diǎn)之間提供高質(zhì)量高效率通信的路由協(xié)議。網(wǎng)絡(luò)節(jié)點(diǎn)的移動性使得網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)不斷變化,傳統(tǒng)的基于因特網(wǎng)的路由協(xié)議無法適應(yīng)這些特性,需要有專門的應(yīng)用于AdHoc網(wǎng)絡(luò)的路由協(xié)議,根據(jù)前文對AdHoc網(wǎng)絡(luò)結(jié)構(gòu)和特點(diǎn)的闡述,設(shè)計(jì)的路由協(xié)議必須滿足以下的條件:
(1)必須對網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)動態(tài)變化具有快速應(yīng)變的能力,并且盡量避免路由環(huán)路的發(fā)生,提供方便簡單的網(wǎng)絡(luò)節(jié)點(diǎn)定位法。
(2)必須高效地利用有限的帶寬資源,盡可能壓縮不必要的開銷。
(3)實(shí)施多跳通信的中間轉(zhuǎn)接次數(shù)也是有限的,一般不要超過3次。
(4)必須盡可能減少發(fā)射時(shí)間和發(fā)射的數(shù)據(jù)量,節(jié)約有限的工作能源。
(5)在可能的條件下,使設(shè)計(jì)的路由協(xié)議具有安全性,降低遭受攻擊的可能性。
1) 先應(yīng)式 ( Pro - active)算法:又稱為表驅(qū)動( table - driven)路由算法。該算法將網(wǎng)絡(luò)中每個結(jié)點(diǎn)當(dāng)作一個獨(dú)立主動的路由器進(jìn)行全網(wǎng)絡(luò)周期性的路由信息的廣播和更新 ,每個結(jié)點(diǎn)需要維護(hù)一張完整的網(wǎng)絡(luò)路由表 ,路由表項(xiàng)的內(nèi)容包括目的結(jié)點(diǎn)、 跳數(shù)、 目的結(jié)點(diǎn)序號等。每個結(jié)點(diǎn)周期性的與鄰結(jié)點(diǎn)交換路由信息來更新自身的路由表 ,路由發(fā)現(xiàn)依據(jù)路由表來進(jìn)行。先應(yīng)式算法的優(yōu)點(diǎn)是通信時(shí)可以立即得到路由信息 ,缺點(diǎn)是當(dāng)網(wǎng)絡(luò)內(nèi)結(jié)點(diǎn)發(fā)生變化時(shí) ,必須重新交換路由信息以獲得新路由的路徑 ,這樣增加了網(wǎng)絡(luò)的負(fù)載 ,路由開銷也隨著網(wǎng)絡(luò)的增大而越來越大。其代表協(xié)議有 DSDV、 OL2SR等。
2) 按需求 (ON - demand)算法:又稱反映式路由算法。無線網(wǎng)絡(luò)當(dāng)需要路由來傳送數(shù)據(jù)包時(shí)才被動的進(jìn)行路由發(fā)現(xiàn) ,即結(jié)點(diǎn)僅構(gòu)建和維護(hù)當(dāng)前需要用來發(fā)送數(shù)據(jù)包的路由信息。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和路由表內(nèi)容也是按需建立的 ,不需建立去往網(wǎng)絡(luò)內(nèi)各個結(jié)點(diǎn)的路徑 ,因此不需要周期性的廣播路由信息 ,節(jié)省了一定的網(wǎng)絡(luò)資源。按需求算法具有較小的通信控制 (路由維護(hù)更新 )開銷 ,但在需要發(fā)送數(shù)據(jù)時(shí) ,因沒有通向目的結(jié)點(diǎn)的路由信息 ,要臨時(shí)啟動路由發(fā)現(xiàn)機(jī)制來尋找路由 ,這會帶來一定的時(shí)延。代表協(xié)議有 AODV (Ad hoc On Demand Dis2tance Vect or)、 DSR、 DSRD、 T ORA協(xié)議等。