《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 一種基于微型無線傳感網絡的路由算法
一種基于微型無線傳感網絡的路由算法
摘要: 本文以傳統(tǒng)AODV路由協(xié)議為基礎,針對微型無線傳感器網絡,自主研發(fā)了一種全新的MSAODV路由協(xié)議。
Abstract:
Key words :

  凡是利用一定的物性(物理、化學,、生物)法則、定理,、定律、效應等把物理量或化學量轉變成便于利用的電信號的器件,。傳感器是測量系統(tǒng)中的一種前置部件,,它將輸入變量轉換成可供測量的信號”。按照Gopel等的說法是:“傳感器是包括承載體和電路連接的敏感元件”,,而“傳感器系統(tǒng)則是組合有某種信息處理(模擬或數(shù)字)能力的系統(tǒng)”,。傳感器是傳感系統(tǒng)的一個組成部分,它是被測量信號輸入的第一道關口,。

本文以傳統(tǒng)AODV路由協(xié)議為基礎,針對微型無線傳感器網絡,自主研發(fā)了一種全新的MSAODV路由協(xié)議,。

  1 引言

  隨著通信技術、嵌入式計算技術和傳感器技術的飛速發(fā)展和日益成熟,具有感知能力,、 計算能力和通信能力的微型傳感器開始在世界范圍內出現(xiàn),。由這些微型傳感器構成的傳感器 網絡引起了人們的極大關注,。這種傳感器網絡
傳感器網絡

  通信技術和計算機技術的飛速發(fā)展,人類社會已經進入了網絡時代,。智能傳感器的開發(fā)和大量使用,,導致了在分布式控制系統(tǒng)中,對傳感信息交換提出了許多新的要求,。 單獨的傳感器數(shù)據采集已經不能適應現(xiàn)代控制技術和檢測技術的發(fā)展,,取而代之的是分布式數(shù)據采集系統(tǒng)組成的傳感器網絡,傳感器網絡可以實施遠程采集數(shù)據,,并進行分類存儲和應用,。

綜合了傳感器技術、嵌入式計算技術,、分布式 信息處理技術和通信技術,能夠協(xié)作地實時監(jiān)測,、感知和采集網絡分布區(qū)域內的各種環(huán)境或 監(jiān)測對象的信息,并對這些信息進行處理,獲得詳盡而準確的信息,傳送到需要這些信息的用 戶。本文在AODV 路由協(xié)議的基礎上,提出了一種全新的路由協(xié)議—MSAODV 協(xié)議,這種路 由算法適合在微型無線傳感器網絡
無線傳感器網絡
  無線傳感器網絡作為計算,、通信和傳感器三項技術相結合的產物,是一種全新的信息獲取和處理技術。由于近來微型制造的技術,、通訊技術及電池技術的改進,促使微小的傳感器可具有感應,、無線通訊及處理信息的能力。此類傳感器不但能夠感應及偵測環(huán)境的目標物及改變,并且可處理收集到的數(shù)據,并將處理過后的資料以無線傳輸?shù)姆绞剿偷綌?shù)據收集中心或基地臺,。這些微型傳感器通常由傳感部件,、數(shù)據處理部件和通信部件組成,隨機分布的集成有傳感器、數(shù)據處理單元和通信模塊的微小節(jié)點通過自組織的方式構成網絡,。借助于節(jié)點中內置的形式多樣的傳感器測量所在周邊環(huán)境中的熱,、紅外、聲納,、雷達和地震波信號,從而探測包括溫度,、濕度、噪聲,、光強度,、壓力、土壤成分,、移動物體的大小,、速度和方向等眾多我們感興趣的物質現(xiàn)象。在通信方式上,雖然可以采用有線,、無線,、紅外和光等多種形式,但一般認為短距離的無線低功率通信技術最適合傳感器網絡使用,一般稱作無線傳感器網絡。

上使用,。

 

 

  2 MSAODV 路由算法的基本思想與算法原理

  2.1 路由算法的基本思想

  在研究了 AODV 路由協(xié)議之后,本文提出了一種全新的路由算法,這種路由算法適合在 微型無線傳感器網絡上使用,又由于是基于AODV 路由協(xié)議之上,故稱之為MSAODV(Micro- Sensor Ad-hoc On-Demand Distance Vector Algorithm)路由協(xié)議,。

  無線傳感器網絡與傳統(tǒng)無線移動網絡有區(qū)別,無線傳感器網絡最關心的是整個網絡的成 存周期,而傳統(tǒng)無線移動網主要關心的是網絡拓撲
網絡拓撲

  通常將網絡中的主機,、終端和其他通信控制與處理設備抽象為結點;將通信線路抽象為線路,,而將結點和線路連接而成的幾何圖形稱為網絡的拓撲結構,。網絡拓撲結構可以反映出網絡中各實體之間的結構關系。

變化情況下可靠傳輸質量,。微型無線傳感 器網絡中的節(jié)點具有體積小,功耗小,通信距離短等特點,他們應用的場合非常廣泛,像戰(zhàn)場敵 方信息采集,森林火災監(jiān)控等,這些場合往往是一些無人區(qū),傳感器節(jié)點拋撒到這些地方再回 收的可能性非常小,所以節(jié)點的功耗決定了他的使用時間,。針對這些特點,MSAODV 路由算 法采用了按需查詢方式,他簡單實用,易于擴充,協(xié)議開銷小,應用了這種路由算法傳感器節(jié)點 大部分時間都可以處在睡眠狀態(tài),這樣就延長了節(jié)點的使用時間,適合無線傳感器網絡的使用 環(huán)境。

  2.2 MSAODV 路由算法原理

  MSAODV 路由協(xié)議算法是在AODV 路由協(xié)議的基礎上改進演化而來的,他繼承了AODV 路由算法的許多特點,但是又與AODV 路由協(xié)議算法有所不同,。無線傳感器網絡的體 系結構將有助于設計MSAODV 路由協(xié)議算法,圖1 顯示了無線傳感器網絡的體系結構,。

  MSAODV 路由算法同樣假設網絡中的所有鏈路都是雙向對稱的,即某個源節(jié)點通過一 條路由可以到達無線網絡中的某個目的節(jié)點時,該目的節(jié)點同樣也可以通過這條路由的反向 路由回到源節(jié)點。MSAODV 路由協(xié)議同樣是一種按需的距離向量路由協(xié)議,具有按需路由協(xié) 議的特點,網絡中的每個節(jié)點在需要進行通信時才發(fā)送路由分組,而不會周期性地交互路由信 息以得到所有其它主機的路由:同時具有距離向量路由協(xié)議的一些特點,即各節(jié)點路由表只維 護本節(jié)點到其他節(jié)點的路由,而無須掌握全網拓撲結構,。

  MSAODV 路由協(xié)議中只有兩種類型的消息控制幀:路由請求RREQ 和路由應答RREP,。 和AODV 路由協(xié)議一樣,當源節(jié)點需要發(fā)送數(shù)據而又沒有到目的節(jié)點的有效路由時,啟動一 個路由發(fā)現(xiàn)過程:向網絡廣播一個路由請求包RREQ,中間節(jié)點轉發(fā)該路由請求,收到請求的目 的節(jié)點以單播的方式向源節(jié)點返回一個RREP 包,RREP 沿著剛建立的逆向路徑傳輸回源節(jié) 點,源節(jié)點收到該RREP 包后則開始向對應目的節(jié)點發(fā)送數(shù)據。在路由請求包的正向傳播過 程中,網絡中能收到該路由請求的節(jié)點都建立起了到源節(jié)點的反向路由,當目的節(jié)點收到路由 請求而回送路由應答時,逆向路徑上的節(jié)點又建立了前向路由,。整個MSAODV 路由發(fā)現(xiàn)過 程如圖2 所示,a 圖表示的是反向路由的建立過程,節(jié)點S 需要和節(jié)點D 通信,但是他沒有節(jié)點 D 的路由,所以節(jié)點S 發(fā)起到節(jié)點D 的路由請求,節(jié)點S 廣播一個路由請求包,收到路由請求包 的節(jié)點轉發(fā)節(jié)點S 的請求,最終節(jié)點D 收到了節(jié)點S 的路由請求包,這個過程建立了節(jié)點S 到 節(jié)點D 的反向路由;b 圖表示的是由節(jié)點S 到節(jié)點D 前向路由的建立過程,當節(jié)點D 收到節(jié)點 S 的路由請求包后,他要給節(jié)點S 回送一個路由應答包,順著剛才建立的反向路由,應答包最終 被節(jié)點S 成功接收,在此過程中節(jié)點S 又建立了到節(jié)點D 的前向路由,。

  3 MSAODV 路由中的路由表與協(xié)議幀的格式

  3.1 MSAODV 路由協(xié)議路由表

  網絡中的每一個節(jié)點都有這樣的一個路由表,該表保存了對應節(jié)點的路由信息,由于各個 節(jié)點在網絡中的位置不同,因而他們的路由表項也不相同,例如在圖2(b)中,a 節(jié)點的路由表有 兩項,c 節(jié)點的路由表也有兩項,如表1 所示。

  3.2 MSAODV 路由協(xié)議幀格式

  由于 MSAODV 路由協(xié)議是AODV 路由協(xié)議的改進演化,所以與AODV 路由協(xié)議幀類 似,MSAODV 路由協(xié)議也包括RR 衛(wèi)Q 協(xié)議幀和RREP 協(xié)議幀,但不包含RERR 協(xié)議幀,。不 包含RERR 協(xié)議幀會導致MSAODV 協(xié)議在路由維護和錯誤處理上功能欠缺,但可以通過其 他方法來彌補這個缺陷,。

  1 RREQ 協(xié)議幀格式

  RREQ 路由請求協(xié)議幀如表2 所示。

  2 RREP 協(xié)議幀格式

  RREP 路由應答協(xié)議幀如表3 所示,。

  4 MSAODV 路由協(xié)議的操作

  由于MSAODV 路由協(xié)議是對AODV 協(xié)議的改進演化,所以MSAODV 路由協(xié)議的操作 與AODV 路由協(xié)議的操作大同小異,為了清晰起見,對MSAODV 協(xié)議的操作做一詳細的介紹 還是有必要的,。

  4.1 產生路由請求

  無線網絡中某個節(jié)點需要和網絡中的另一個節(jié)點通信時,他首先會查找自己的路由表,以 確定是否有通往該目的節(jié)點的有效路由,如果有的話,從對應的目的節(jié)點路由表項中取出下一 跳節(jié)點地址,然后構造數(shù)據包并把該數(shù)據包發(fā)往下一節(jié)點,如果不存在通往目的節(jié)點的路由, 那么該節(jié)點就要發(fā)起一次路由請求。

  4.2 處理和轉發(fā)路由請求

  處理和轉發(fā)路由請求是針對源節(jié)點和目的節(jié)點之間的中間節(jié)點而言,。這些中間節(jié)點可能 不止一個,在他們收到源節(jié)點廣播的RREQ 路由請求幀之后,必需處理和轉發(fā)該路由請求幀,。

  在某個中間節(jié)點接收到源節(jié)點廣播或者由其他節(jié)點轉發(fā)的RREQ 請求幀后,他首先會判 定該RREQ 請求幀是否己經被成功接收過,判斷的依據就是源節(jié)點的IP 地址和廣播ID 號,如 果發(fā)現(xiàn)由源節(jié)點和廣播ID 唯一標志的RREQ 請求幀是新的,也就是沒收到過,就會根據此 RREQ 請求幀更新自己路由表中對應的項。很顯然,該路由表項的目的節(jié)點IP 字段就是是源 節(jié)點IP 地址,下一跳IP 地址就是發(fā)送此RREQ 請求幀的節(jié)點IP 地址,有可能是源節(jié)點也有可 能是另一個中間節(jié)點,。接下來此中間節(jié)點判斷該RREQ 請求幀的目的IP 是不是就是自己, 如果是就回送一個RREP 回應幀,不是就轉發(fā)該RREQ 請求幀,。

  4.3 產生路由應答

  RREQ 經過中間節(jié)點的轉發(fā)到達目的節(jié)點或者是直接到達目的節(jié)點后,目的節(jié)點要進行 相應的處理。

  目的節(jié)點收到 RREQ 請求包,首先會判斷是否已經收到過此請求包,如果沒有收到過則更 新自己相應的路由表項,目的節(jié)點把該路由表項的目的IP 更新為源節(jié)點的IP 地址,下一跳IP 為發(fā)給他RR 衛(wèi)Q 請求幀的節(jié)點IP,目的節(jié)點序列號填上源節(jié)點的序列號,該序列號在RREQ 請求幀里,跳數(shù)直接從RREQ 請求幀里拷貝,。在確認請求的節(jié)點就是自己后,目的節(jié)點要給源 節(jié)點發(fā)送一個RREP 應答幀,接下來目的節(jié)點構造一個RREP 應答幀并正確初始化該幀,。類 型字段為2,表示該幀是RREP 應答幀。跳數(shù)字段為0,因為是目的節(jié)點發(fā)起的RREP 應答幀,。 目的節(jié)點產生一個RREP 應答包之前,必需更新自己的序列號,更新值為當前序列號與RREQ 請求包中的目的序列號兩者中的最大值,目的序列號字段被初始化為這個最大值,。源IP 地址 指的是發(fā)起RREQ 請求幀的源節(jié)點的IP 地址,而不是指目的節(jié)點的IP 地址,同樣的,目的IP 地址就是目的節(jié)點的IP 地址,也就是發(fā)起RREP 應答幀的節(jié)點IP 地址。

  在目的節(jié)點構造好 RREP 回應幀后,就要把該幀以單播的形式沿著反向路由傳送,他的下 一跳節(jié)點IP 地址是發(fā)給他RREQ 請求幀的節(jié)點地址,可能是某個中間節(jié)點,也可能是源節(jié)點,。 一切準備就緒,目的節(jié)點按照退避算法發(fā)送該幀,。

  4.4 接收和轉發(fā)路由應答

  由于無線網絡的特點,盡管目的節(jié)點是以單播的形式向源節(jié)點回送RREP 回應幀,但是網 絡中的很多節(jié)點也能接收到該幀,當然,這些節(jié)點只是簡單的丟棄該幀,只有反向路由上的節(jié) 點才會接收該RREP 回應幀。反向路由上的節(jié)點會沿著反向路由順利的把RREP 回應幀傳給 源節(jié)點,同時他們也根據此RREP 回應幀建立了前向路由。

  該節(jié)點下面要完成的工作就是把 該RREP 回應幀轉發(fā)出去,。他要知道下一跳節(jié)點的IP 地址,以RREP 回應幀中的源節(jié)點IP 地址為關鍵字查找路由表,得到下一跳節(jié)點的IP,這個表項是在建立反向路由時建立或更新 的,。該中間節(jié)點在完成上面的步驟后,以退避算法轉發(fā)該RREP 回應幀。與RREQ 請求幀的 轉發(fā)不同,R.REP 回應幀的轉發(fā)是單播的,他不會像R.REQ 請求幀那樣可能被轉發(fā)多次,所以 R.REP 回應幀的字段里不存在廣播ID,。

  4.5 新節(jié)點加入

  無線傳感器網絡中的節(jié)點在開機或重啟之后,會向網絡廣播一個RESET 消息,網絡中的 其他節(jié)點收到此RESET 消息后會轉發(fā)該幀,最后主節(jié)點收到該幀,。新節(jié)點在RESET 消息幀 里攜帶自己的IP 地址,這樣當主節(jié)點收到該幀后就可以知道是哪個節(jié)點重啟。 收到 RESET 消息幀的其他節(jié)點首先查找自己的路由表看是否有主節(jié)點的IP 地址,如果 有就以單播的形式發(fā)送該幀,反之則繼續(xù)廣播此RESET 消息幀,。

  每個節(jié)點都要保存上一次他 收到的RESET 消息幀中的源節(jié)點IP 地址,下次再收到RESET 消息幀首先要比較源IP 地址 是否和保存值相同,相同就不再轉發(fā)該幀,在經過一段時間后,將保存值清零,這樣就避免了重 復轉發(fā)同一個RESET 消息幀,又避免了不再轉發(fā)下次的RESET 消息幀,。

  4.6 其他操作

  除了前文描述的產生路由請求、處理和轉發(fā)路由請求,、產生路由應答,、接收和轉發(fā)路由應答、新節(jié)點加入等主要操作外,MSAODV 路由算法余下的操作可以參考第二章介紹的 AODV 路由算法,。

  5 本文作者創(chuàng)新點

  AODV 路由算法應用在無線傳感器網絡中有一定的局限性,不能很好得適合無線傳感器 網絡的體系結構,。以無線傳感器網絡與傳統(tǒng)移動無線網著重點不同為依據,本文提出了適合 無線傳感器網絡的路由算法MSAODV,并詳細敘述分析了MSAODV 路由算法。


 

此內容為AET網站原創(chuàng),,未經授權禁止轉載,。