技術頻道

      無線傳感器網絡GEAR協議的一種改進方案

      [摘 要]:無線傳感器網絡(WSNs)被認為是未來改變世界的十大技術之首,但有限的計算、存儲和通信能力,尤其是嚴重受限的能量使其應用前景面臨巨大挑戰,WSNs在應用之前需要解決許多關鍵問題,能量問題即是其中之一。能量對于WSNs的生命周期具有決定意義,設計WSNs路由協議需要重點考慮能耗問題;針對WSNs的GEAR路由協議,提出一種能耗上的改進方案并進行仿真,仿真結果顯示:該方案能明顯降低能耗。
      關鍵詞:無線傳感器網絡;GEAR協議;能耗
      0 引 言
      在無線傳感器網絡(WSNs)中,節點通常需要獲取其位置信息,這樣,它采集的數據才有意義。如在森林防火應用中,需要知道火災的具體位置。地理位置路由假設節點知道自身及目標區域的位置,以這些位置信息作為路由選擇的依據,按照一定策略轉發數據到目標區域。位置和能量感知的地理路由(geographical and energy aware routing,GEAR)屬于這一類路由協議,它是WSNs中的一個能量感知的基于位置的地理路由協議,模擬結果顯示:GEAR路由,與傳統非能量感知的地理路由相比能極大地延長網絡壽命。能量對于WSNs的生命周期具有決定意義,能耗是WSNs路由協議需要重點考慮的問題。本文針對GEAR路由協議,依據GEAR的特點提出了一種改進方案,使其在能耗力方面有所改進。
      1 GEAR路協議
      1.1 核心思想
      由于Sink發出的查詢消息中經常包含位置屬性,GEAR路由協議在向目標區域散布查詢消息的同時考慮了地理位置信息的使用。其主要思想是通過利用位置信息使得“興趣”的傳播僅到達目標區域,而不是傳播到整個網絡,從而避免洪泛方式,減少路由建立的開銷。
      GEAR路由中查詢消息的傳播包括2個階段:(1)查詢消息轉發到目標區域:從Sink節點開始的路徑建立過程采用貪婪算法,節點在鄰居中選擇到目標區域代價最小的節點作為下一跳節點,并將自己的路由代價設為該下一跳節點的路由代價加上到該節點一跳通信的代價。若陷入路由洞,節點則選取鄰居中代價最小的節點作為下一跳節點,并修改自己的路由代價;(2)在目標區域內散布查詢消息:查詢消息到達目標區域后,通過迭代地理(節點密度較大時)或洪泛方式(節點較少時)將查詢消息傳播到目標區域內的所有節點。這2個階段完成后,監測數據沿查詢消息的反向路徑向Sink節點傳送。
      1.2 NS2中GEAR的實現細節
      GEAR路由協議在NS2中的實現是一個簡化的版本,查詢消息在事件區域的轉發是采用洪泛方式,沒有實現迭代地理方式,下面僅對改進時關心的問題進行說明。
      首先,GEAR路由假設已知節點的位置和剩余能量信息,通過下面幾個變量來表示:
      double geo_longitude_, geo_latitude_;//節點的位置信息;
      int nmn_pkt_sent_, num_pkt_recv_;//發送和接收的信息包數量;
      double initial_energy_;//節點的初始能量;
      double unit_energy_for_send_, unit_energy_for_recv_;//發送和接收單位信息包消耗的能量。
      其次,NS2中實現的CEAR發布查詢消息時分為2個階段,在消息沒有到達目標區域時,采用貪婪算法(單播方式)轉發消息,消息到達目標區域后,采用洪泛方法(廣播方式)轉發查詢消息。節點根據不同的情況作出相應的處理:
      enum geo_actions { BROADCAST = 0, BROADCAST_SUPPRESS,
      OUTSIDE_REGION } ,
      其中,BROADCAST=0表示節點在目標區域內部,采用廣播方式轉發查詢消息;BROADCAST_SUPPRESS表示節點的所有鄰居都不在目標區域內,節點不轉發查詢消息;
      OUTSIDE_REGION表示節點在目標區域外,用單播轉發查詢消息。與路由相關的函數:
      int32_ t findNextHop (GeoHeader * geo _ header, bool greedy) ;// 找到下一跳鄰居;
      int floodlnsideRegion(GeoHeader * geo_header) ;// 在區域內轉發信息包;
      double retrieveHeuristicValue (GeoLocation dst ) ;// 得到節點的通信代價;
      void broadcastHeuristicValue (GeoLocation dst, doublenew_heuristic_value);當出現路由洞時,需要修改節點的通信代價,并將這個修改后的通信代價告知其鄰居節點。
      NS2中實現的GEAR,查詢消息在事件區域內的轉發沒有采用迭代地理的方式,僅采用了洪泛方式,具體的洪泛代碼見NS2代碼中~ns/diffusion3/filters/gear.
      2 GEAR路由協議的改進方案
      2.1 問題描述
      文獻[2]指出:如果使用Micadot節點,發送一個比特上盡量進行網內處理,減少數據傳輸量,可以有效地節省能量。理想的融合情況下,中間節點可以把n個長度相等的輸人數據分組合并成一個等長的輸出分組,只需消耗不進行融合所消耗能量的1/n即可完成數據傳輸;最差的情況下,融合操作并未減少數據量,但通過減少分組個數,可以減少信道的協商或競爭過程造成的能量開銷,所以,在數據傳輸時要盡量采用數據融合。在GEAR路由中,當查詢消息到達目標區域后,事件區域中的節點采集的數據沿查詢消息的反向路徑向Sink節點傳送,由于數據采集時同一區域的眾多節點采集的數據往往有相似性,如果能夠讓這些節點協同工作,對數據進行必要的融合,就可以減少冗余數據包的傳輸。
      如果節點密度比較大,GEAR采用迭代地理轉發機制,作為對GEAR路由協議的改進,每一次迭代的中心節點可以作為數據融合節點,將其子區域節點采集的數據進行處理后再沿反向路徑傳送。這樣,目標區域內第一個收到查詢消息的節點將融合后的數據沿查詢消息的反向路徑向Sink節點傳送。
      如果節點密度比較小,GEAR則采用洪泛轉發機制。這時由于沒有子區域中心節點可以使用,需要以某種方法產生一個融合節點對數據進行處理。一種簡單的方法是選擇能量比較大的節點作為融合節點,當然,該節點需要能夠與其他節點直接通信。該節點對數據進行處理后沿查詢消息的反向路徑向Sink節點傳送。
      2.2 解決方案實現
      根據2.1節的思路,迭代地理方式采用數據融合具有明顯的優勢:首先,融合節點不需要選取,以子區域中心節點作為融合節點即可;其次,節點密度較大時,采用融合方式更節省能量。但由于NS2中實現的GEAR是一簡化版本,查詢消息在事件區域內的轉發并沒有采用迭代地理方式,為便于比較改進前后的效果,在改進方案的實現中僅針對洪泛方式進行設計。具體的改進方案分為如下幾個步驟:
      (1)當查詢消息轉發到事件區域后,區域內的節點先建立簇。由于GEAR中每個節點知道自身及鄰居節點的位置和能量信息,因此,可根據節點的位置信息,結合節點的通信范圍,在事件區域內部形成簇;
      (2)設定算法選擇簇首節點,簇首節點需要滿足幾個條件:①能量足夠大,大于設定的能量閾值;②簇首節點能夠與簇內其他節點直接通信,在簇形成時保證這一點;③可以對數據進行相應處理。簇首節點選出后通報整個簇內節點;
      對于簇首節點選擇的具體算法,為便于實現,只要能量大于能量閾值,位置在事件區域的節點就可以擔任簇首節點。由于可能有多個符合條件的節點,因此,在代碼實現中是選出事件區域內能量最大,且能量大于能量閾值的節點作為簇首節點;
      (3)節點開始采集數據,簇內節點將采集的數據首先傳送到簇首節點,由簇首節點對數據進行壓縮整合,除去冗余數據后再發往區域內第一個接收到查詢消息的節點,沿查詢消息的相反路徑轉發到Sink節點。以查詢消息要求的時間間隔T為周期,在這個T時間范圍內,接收簇內節點發送的數據并進行緩存,在下一個時間間隔對數據進行融合并轉發。
      具體實現時,將在[0,T]時間范圍接收到的數據包認為是一個時間產生的數據,如果這些數據的監測對象為同一類型,則判定這些數據互為冗余數據。根據可信度,挑選出可信度最高的數據進行傳輸,其他數據將丟棄。最大可信度數據意味著高質量的數據,同時,降低了冗余數據的傳輸。
      3 仿真實驗設置及結果分析
      由于GEAR在NS2中沒有集成迭代地理方式,因此,本實驗針對區域內的洪泛方式進行比較,并采用平均能耗參數來衡量改進后的協議性能。平均能耗是網絡中每個節點在傳輸一個單位的數據包時所消耗的能量。另外,本文感興趣的還有平均能耗和網絡尺寸的關系,因此,通過改變網絡節點數目來研究平均能耗,并與改進前GRAR路由進行比較。
      3.1 實驗場景的參數選用
      根據GEAR路由協議以及國際上發表的針對WSNs的相關文獻[1,3]的實驗場景設置,本文采用了如下實驗場景設置:在下面的實驗中,默認采用1.6MB/s的802.11MAC層協議,每個節點的通信范圍為100個單位,每個目標區域是一圓形區域,其半徑為50個單位。數據包的大小為64字節,查詢消息大小為32字節。
      實驗采用不規則拓撲場景,網絡大小從50個節點到250個節點,網絡的覆蓋面積是670×670平方單位,固定節點的通信范圍是100個單位,目標區域是半徑為50單位的圓形區域。設定節點的初始能量是1J,發送和接收一個數據包消耗0.001J,比例參數a值取0.8。數據源節點設為5個,Sink節點設為2個。
      3.2 仿真結果及分析
      對生成的trace文件的剩余能量進行統計。統計方法為平均能量消耗:消耗能量/(網絡尺寸×數據量)。其中,消耗能量是初始總能量減去最后的剩余能量,網絡尺寸是節點個數,數據量是數據源節點產生的數據包和Sink節點發出的查詢消息總和,即,數據量:運行時間×(單位時間數據包×源節點個數+單位時間查詢消息×Sink節點個數);消耗能量=總初始能量-總剩余能量;網絡尺寸=節點個數。設定運行時間為30min,30min后停止仿真,整理后的數據見表1。

      由表1可見,改進后的能量顯著節省。且隨著節點個數的增加,能量節省更為顯著。這是因為隨著節點個數的增加,網絡密度增大,洪泛方式能耗更多,而采用數據融合后,節省能量更為明顯。
      4 結 論
      由于目前GEAR在NS2中集成版本的限制,實驗僅針對區域內的洪泛方式進行了簡單仿真,取得了比較理想的實驗結果,這種微小的改進,對GEAR降低能耗有比較明顯的效果,可以預期,NS2和GEAR協議本身的發展和完善,將為進一步的實驗提供更好的條件。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 亚洲电影唐人社一区二区| 成人精品视频一区二区三区不卡| 亚洲性日韩精品一区二区三区| 国产内射999视频一区| 中文字幕在线一区二区在线 | 国产成人精品一区二三区熟女| 亚洲av无码一区二区三区不卡 | 人妻无码视频一区二区三区| 在线一区二区三区| 人妻免费一区二区三区最新| 亚洲一区二区三区在线网站| 色狠狠一区二区三区香蕉蜜桃| 国产午夜精品一区二区三区 | 亚洲国产成人一区二区三区| 国产综合视频在线观看一区| 久久精品免费一区二区| 卡通动漫中文字幕第一区| 一区二区三区在线|欧| 久久精品国产第一区二区| 精品成人一区二区三区免费视频 | 日韩AV在线不卡一区二区三区| 亚洲爆乳精品无码一区二区| 亚洲一区二区三区高清不卡 | 国产一区二区三区不卡观| 免费高清在线影片一区| 国产在线乱子伦一区二区| 99久久精品国产一区二区成人| 精品少妇一区二区三区视频| 国产亚洲3p无码一区二区| 红桃AV一区二区三区在线无码AV| 色婷婷AV一区二区三区浪潮| 国产综合一区二区| 久久精品一区二区免费看| 久久99久久无码毛片一区二区 | 国产免费一区二区三区| 亚洲色精品VR一区区三区| 性色AV一区二区三区天美传媒| 国产福利酱国产一区二区| 国产伦精品一区二区三区无广告| 成人无码精品一区二区三区| 日本美女一区二区三区|