国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NS的無線傳感器網(wǎng)絡(luò)地理信息路由協(xié)議的仿真與研究?

2018-01-04 05:55趙湘寧
關(guān)鍵詞:空洞數(shù)據(jù)包路由

趙湘寧 梁 忠

(福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院 福州 350002)

基于NS的無線傳感器網(wǎng)絡(luò)地理信息路由協(xié)議的仿真與研究?

趙湘寧 梁 忠

(福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院 福州 350002)

地理信息路由協(xié)議由于其簡單高效及低負(fù)載等特點(diǎn),成為無線傳感器網(wǎng)絡(luò)中一類運(yùn)用非常廣泛的路由協(xié)議。文章利用NS2仿真平臺,對GRS、GPSR和GEAR三種地理路由算法進(jìn)行仿真和研究,并詳細(xì)說明了在NS2中添加新路由協(xié)議的實(shí)現(xiàn)方法。仿真分別選取小規(guī)模節(jié)點(diǎn)規(guī)則分布和大規(guī)模節(jié)點(diǎn)隨機(jī)分布的兩種存在路由空洞的復(fù)雜網(wǎng)絡(luò)環(huán)境,并選擇能耗、網(wǎng)絡(luò)生命周期、數(shù)據(jù)包到達(dá)率等算法指標(biāo),分析三種路由算法在不同網(wǎng)絡(luò)環(huán)境中的性能。

無線傳感器網(wǎng)絡(luò);地理信息路由;NS2仿真;路由空洞;負(fù)載均衡

1 引言

無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)是由大量分布在監(jiān)測區(qū)域內(nèi)的微型傳感器節(jié)點(diǎn),通過無線通信的方式形成的自組織網(wǎng)絡(luò)系統(tǒng)。無線傳感器網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)收集環(huán)境中的感知數(shù)據(jù),通過多跳方式將數(shù)據(jù)傳送至匯聚節(jié)點(diǎn),匯聚節(jié)點(diǎn)將這些數(shù)據(jù)通過互聯(lián)網(wǎng)或者衛(wèi)星傳送給后臺管理節(jié)點(diǎn)[1]。

無線傳感器網(wǎng)絡(luò)的路由協(xié)議負(fù)責(zé)將收集的數(shù)據(jù)分組從源節(jié)點(diǎn)轉(zhuǎn)發(fā)到匯聚節(jié)點(diǎn)。傳感器節(jié)點(diǎn)是一個(gè)微型的嵌入式系統(tǒng),它的通信能力、處理能力和存儲能力都比較有限,因此無線傳感器網(wǎng)絡(luò)的路由算法需要盡量尋找源節(jié)點(diǎn)和匯聚節(jié)點(diǎn)間的優(yōu)化路由,使得路由算法的存儲和計(jì)算開銷比較小。此外,傳感器節(jié)點(diǎn)通過自身攜帶電池供電,能量有限且不易進(jìn)行能量補(bǔ)充,因此路由協(xié)議需要高效利用能量。

地理信息路由協(xié)議在無線傳感器網(wǎng)絡(luò)中是一類運(yùn)用十分廣泛的路由協(xié)議。地理信息路由算法中的節(jié)點(diǎn)通過GPS等方法掌握自身的地理位置信息,并通過信息交換掌握匯聚節(jié)點(diǎn)和一跳鄰居節(jié)點(diǎn)的地理位置信息,并且根據(jù)這些位置信息選擇路由。地理信息路由算法只需要通過局部的節(jié)點(diǎn)位置信息進(jìn)行路由,簡單高效而且負(fù)載低,已經(jīng)成為無線傳感器網(wǎng)絡(luò)中重要的一類路由協(xié)議[2~8]。

本文通過網(wǎng)絡(luò)仿真器NS2對無線傳感器網(wǎng)絡(luò)中三種經(jīng)典地理信息路由協(xié)議GRS、GEAR、GPSR進(jìn)行仿真,測量幾種協(xié)議的網(wǎng)絡(luò)生命周期、數(shù)據(jù)包到達(dá)率和節(jié)點(diǎn)能耗等性能參數(shù)。

2 相關(guān)技術(shù)

2.1 NS2

NS2(Network Simulator,Version2)是一種面向?qū)ο蟮木W(wǎng)絡(luò)仿真器,是一個(gè)涉及網(wǎng)絡(luò)中物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)路由層、能量控制、QoS等各個(gè)方面的優(yōu)秀網(wǎng)絡(luò)模擬工具[9]。目前,NS成為學(xué)術(shù)界廣泛使用的一種網(wǎng)絡(luò)模擬軟件,通過NS2仿真得出的結(jié)果被學(xué)術(shù)界普遍認(rèn)可。同時(shí),NS也可以作為一種輔助教學(xué)的工具,廣泛地應(yīng)用在了網(wǎng)絡(luò)技術(shù)課程的實(shí)踐教學(xué)中。

NS2運(yùn)行于Linux系統(tǒng),是一個(gè)面向?qū)ο蟮?、離散事件驅(qū)動的模擬器,采用兩級體系結(jié)構(gòu)。NS2將數(shù)據(jù)操作和網(wǎng)絡(luò)控制部分的實(shí)現(xiàn)相分離,以提高代碼執(zhí)行效率。第一層是編譯層,該層使用C++語言對大部分基本的網(wǎng)絡(luò)組件、網(wǎng)絡(luò)協(xié)議、事件調(diào)度器等進(jìn)行編寫和編譯。由于網(wǎng)絡(luò)協(xié)議的模擬和實(shí)現(xiàn)需要高效地處理協(xié)議的報(bào)頭信息,進(jìn)行大量的數(shù)據(jù)處理,因此程序內(nèi)部模塊的運(yùn)行速度至關(guān)重要,C++快速高效的特點(diǎn)非常適合于這部分的工作。第二層是解釋層,主要功能是對網(wǎng)絡(luò)環(huán)境進(jìn)行配置,如模擬時(shí)間、拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)類型。該層使用面向?qū)ο蟮腛Tcl腳本語言作為開發(fā)語言。

使用NS2進(jìn)行網(wǎng)絡(luò)模擬的基本步驟為:

1)首先,分析NS中已有的協(xié)議模塊是否滿足所需的仿真及研究的需求,如果滿足,就可以直接編寫OTcl腳本進(jìn)行仿真并分析仿真結(jié)果。

2)如果NS中現(xiàn)有的協(xié)議模塊尚不能滿足需求,那么就需要對NS進(jìn)行擴(kuò)展,添加新的協(xié)議,或者是對已有的協(xié)議進(jìn)行修改。

3)對NS完成擴(kuò)展后,編寫對應(yīng)的OTcl腳本進(jìn)行仿真,如果仿真的結(jié)果可以滿足需求,則說明對NS的擴(kuò)展是成功的。如果不滿足,繼續(xù)對NS擴(kuò)展的代碼進(jìn)行修改,直到滿足需求。

4)對仿真輸出的Trace文件進(jìn)行分析,得出測量網(wǎng)絡(luò)重要性能的數(shù)據(jù)。如果需要,調(diào)整配置不同的業(yè)務(wù)量模型和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),重復(fù)進(jìn)行上述模擬過程,得出在不同網(wǎng)絡(luò)環(huán)境下網(wǎng)絡(luò)協(xié)議的性能數(shù)據(jù)。

NS模擬仿真的基本流程如圖1所示。

圖1 NS模擬仿真基本流程

2.2 GRS、GEAR、GPSR算法

GRS(Greedy Routing Scheme)路由[10]采用貪婪轉(zhuǎn)發(fā)策略,計(jì)算當(dāng)前節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)與匯聚節(jié)點(diǎn)的距離,選擇距離匯聚節(jié)點(diǎn)最近的鄰居作為下一跳節(jié)點(diǎn)。GRS算法原理簡單且高效,是無線傳感器網(wǎng)絡(luò)中最經(jīng)常用到的路由協(xié)議。在實(shí)際的路由過程中,GRS算法會遇到所有的鄰居節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的距離都比自己大的情況,這樣就找不到合適的下一跳,則此時(shí)陷入了路由空洞(Routing Void)[8],如圖2中的A點(diǎn)。此時(shí),GRS只能采用泛洪的方式,將數(shù)據(jù)包廣播給它的所有鄰居節(jié)點(diǎn),如此反復(fù),直到到達(dá)匯聚節(jié)點(diǎn)。泛洪方式極易產(chǎn)生消息的“重疊”和“內(nèi)爆”[11],造成資源的極大浪費(fèi)。路由空洞現(xiàn)象大多發(fā)生于傳感器網(wǎng)絡(luò)中存在一些位置比較集中的失效節(jié)點(diǎn),或者監(jiān)測環(huán)境比較復(fù)雜的情況,比如環(huán)境中存在水塘、沼澤等不適合部署傳感器節(jié)點(diǎn)的區(qū)域。

GEAR[12]算法將節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的距離和節(jié)點(diǎn)的剩余能量相結(jié)合定義了路由代價(jià),當(dāng)前節(jié)點(diǎn)在一跳鄰居節(jié)點(diǎn)中選擇到匯聚節(jié)點(diǎn)路由代價(jià)最小的節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)。GEAR算法計(jì)算路由代價(jià)的公式如下:

其中,c(n)為節(jié)點(diǎn)n到匯聚節(jié)點(diǎn)的代價(jià),d(n)為節(jié)點(diǎn)n到匯聚節(jié)點(diǎn)的距離,e(n)為節(jié)點(diǎn)n的剩余能量,α為比例參數(shù)。

當(dāng)GEAR[13]算法遭遇到路由空洞時(shí),即當(dāng)前節(jié)點(diǎn)的所有鄰居節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的路由代價(jià)都比自己的大,如圖2中的A點(diǎn)。此時(shí)GEAR采取如下方式解決路由空洞問題:節(jié)點(diǎn)A選擇鄰居中路由代價(jià)最小的節(jié)點(diǎn)B作為下一跳,并將自己的路由代價(jià)值設(shè)為B的路由代價(jià)加上節(jié)點(diǎn)A到B的一跳通信的代價(jià),將自己新的路由代價(jià)通知鄰居節(jié)點(diǎn)。

GPSR算法采用貪婪轉(zhuǎn)發(fā)策略作為基本的路由轉(zhuǎn)發(fā)方式,當(dāng)貪婪轉(zhuǎn)發(fā)策略遭遇路由空洞時(shí),就采用基于網(wǎng)絡(luò)平面拓?fù)鋱D的邊緣轉(zhuǎn)發(fā)方式遍歷最接近的平面子圖,直到來到比遭遇路由空洞的節(jié)點(diǎn)(即圖2中的A點(diǎn))更接近匯聚節(jié)點(diǎn)的節(jié)點(diǎn)時(shí)候,然后繼續(xù)貪婪路由。

圖2 路由空洞

2.3 在NS2中路由協(xié)議的實(shí)現(xiàn)

由于GRS、GEAR和GPSR協(xié)議在NS2中已有的路由協(xié)議中并沒有實(shí)現(xiàn),為了對這些路由協(xié)議的性能進(jìn)行深入的研究,需要在NS2中實(shí)現(xiàn)這些路由協(xié)議。在NS2中實(shí)現(xiàn)新的路由協(xié)議一般需要通過添加新路由協(xié)議的代碼文件、修改NS原有的一些文件、修改NS的Makefile文件這三個(gè)步驟完成。本節(jié)將通過在NS-2.35版本中實(shí)現(xiàn)GPSR路由協(xié)議對這三個(gè)步驟進(jìn)行詳細(xì)說明。

1)添加新路由協(xié)議的代碼文件

一般協(xié)議的開發(fā)都是在底層C++層面完成開發(fā)的。我們在NS安裝路徑下的ns-allinone-2.35/ns-2.35/文件夾中新建一個(gè)文件夾gpsr,用于存放GPSR協(xié)議的代碼文件,這些文件就是對協(xié)議進(jìn)行描述的一些頭文件和源文件。

2)修改NS原有的一些文件

由于新添加的協(xié)議需要用到NS已有的一些結(jié)構(gòu)、類或者變量,所以我們需要對這些原有的信息進(jìn)行更改或者擴(kuò)展。例如,新的協(xié)議可能會有它自己的協(xié)議頭和消息類型,那么需要對NS中定義協(xié)議頭和消息類型的那些文件進(jìn)行修改,添加必要的內(nèi)容。不同的協(xié)議根據(jù)需要描述的內(nèi)容不同,對NS進(jìn)行修改的文件也不同,通常需要修改的文件有:定義消息類型和普通頭部的文件packet.h以及定義分組頭部的文件ns-packet.tcl。

(1)ns-2.35/common/packet.h

GPSR算法代碼中使用自己的分組數(shù)據(jù)包類型PT_GPSR,我們需要修改在定義分組類型的頭文件packet.h中添加GPSR定義的分組類型,有以下兩處改動。

第一,找到定義分組類型的unsigned int pack?et_t,在這個(gè)類型中每一種分組類型都定義為一個(gè)無符號的整數(shù),找到PT_NTYPE,這是默認(rèn)在NS分組類型中的最后一個(gè)元素。我們在其前面定義一個(gè)PT_GPSR。

typedef unsigned int packet_t;

static const packet_t PT_TCP=0;

static const packet_t PT_UDP=1;

static const packet_t PT_CBR=2;

…………

…………

static const packet_t PT_GPSR=73; //GPSR

static packet_t PT_NTYPE=74;//This MUST be the LAST one

第二,在class p_info{}中,在相應(yīng)的位置加入name_[PT_GPSR]=“gpsr”,這里添加的是在trace文件中打印PT_GPSR類型的包時(shí)需要使用的字符串。

class p_info{

public:

p_info()

initName();

……………………

static void initName()

……………………

name_[PT_TCP]=“tcp”;

name_[PT_UDP]=“udp”;

……………………

name_[PT_GPSR]=“gpsr”;

name_[PT_NTYPE]=“undefined”;

……………………

(2)ns-2.35/tcl/lib/ns-packet.tcl

GPSR協(xié)議定義了自己的分組頭部,該分組頭部需要在NS中被激活。我們需要修改定義分組頭部的ns-packet.tcl文件,添加GPSR的分組頭部。

set protolist{

………………

GPSR #激活GPSR分組頭部

………………

}.

(3)ns-2.35/trace/cmu-trace.cc

為了使新協(xié)議的trace文件輸出格式正確,還需要在cmu-trace.cc文件中加入新協(xié)議的分組數(shù)據(jù)包類型。

#include <packet.h>

……………………

#include<gpsr/gpsr_packet.h>

……………………

void CMUTrace::format(Packet*p,const char*why)

……………………

switch(ch->ptype()){

case PT_MAC:

……………………

case PT_GPSR:

break;

default:

if(pktTrc_&&pktTrc_->format_unknow(p,offset,pt_,newtrace_))break;

(4)ns-2.35/queue/priqueue.cc

priqueue.cc中定義了數(shù)據(jù)分組隊(duì)列的優(yōu)先級,在其中加上新協(xié)議的分組數(shù)據(jù)包類型。

#include <o(jì)bject.h>

……………………

void

PriQueue::recv(Packet*p,Handler*h)

struct hdr_cmn*ch=HDR_CMN(p);

if(Prefer_Routing_Protocols){

switch(ch->ptype()){

case PT_DSR:

……………………

case PT_GPSR:

recvHighPriority(p,h);

break;

……………………

else{

Queue::recv(p,h);

3)修改NS的Makefile文件

Makefile文件位于ns-allinone-2.35/ns-2.35/下,該文件將NS2中所有協(xié)議文件整合起來進(jìn)行編譯和鏈接。在Makefile中每一個(gè)源文件需要對應(yīng)一個(gè)后綴為“.o”的中間文件,這些中間文件是編譯后生成的,對眾多的中間文件進(jìn)行鏈接才能生成ns命令。我們需要在Makefile文件中的OBJ_CC中增加新協(xié)議源文件的“.o”中間文件。然后保存Make?file,回到ns-2.35目錄下,執(zhí)行make命令重新編譯NS。

OBJ_CC=

……………………

wpan/p802_15_4csmaca.o wpan/p802_15_4fail.o

wpan/p802_15_4hlist.o wpan/p802_15_4mac.o

wpan/p802_15_4nam.o wpan/p802_15_4phy.o

wpan/p802_15_4sscs.o wpan/p802_15_4timer.o

wpan/p802_15_4trace.o wpan/p802_15_4transac.o

apps/pbc.o

gpsr/gpsr.o

gpsr/gpsr_neighbor.o

gpsr/gpsr_sinklist.o

$(OBJ_STL)

3 實(shí)驗(yàn)仿真

為了全面驗(yàn)證與分析GRS、GEAR、GPSR這三種地理信息路由協(xié)議的性能,實(shí)驗(yàn)設(shè)計(jì)兩種仿真場景:小規(guī)模節(jié)點(diǎn)規(guī)則分布的傳感器網(wǎng)絡(luò)、大規(guī)模節(jié)點(diǎn)隨機(jī)分布的傳感器網(wǎng)絡(luò)。為了考察三種算法在復(fù)雜網(wǎng)絡(luò)環(huán)境中的綜合性能,我們在網(wǎng)絡(luò)中設(shè)置了一些區(qū)域不布置傳感器節(jié)點(diǎn),以模擬真實(shí)環(huán)境中的空洞區(qū)域。

仿真采用以下3個(gè)指標(biāo)來評價(jià)路由算法的性能:

1)傳感器網(wǎng)絡(luò)的生命周期:設(shè)定網(wǎng)絡(luò)中所有傳感器節(jié)點(diǎn)收集一次數(shù)據(jù),并且全部傳送到匯聚節(jié)點(diǎn)的過程即為1輪。設(shè)定網(wǎng)絡(luò)中的死亡節(jié)點(diǎn)數(shù)達(dá)到全部節(jié)點(diǎn)的5%時(shí),此時(shí)節(jié)點(diǎn)存活的輪數(shù)就是傳感器網(wǎng)絡(luò)的生命周期。

2)數(shù)據(jù)包到達(dá)率:數(shù)據(jù)包到達(dá)率測試的是數(shù)據(jù)包最終到達(dá)匯聚節(jié)點(diǎn)的成功率。

3)能耗:能耗指標(biāo)通過當(dāng)網(wǎng)絡(luò)執(zhí)行完若干次查詢指令后,網(wǎng)絡(luò)所有節(jié)點(diǎn)的瞬時(shí)能量損耗分布圖來表示。能耗指標(biāo)能夠直觀地反映出網(wǎng)絡(luò)能耗的分布情況,來檢驗(yàn)不同的路由算法在負(fù)載均衡上的性能。

3.1 小規(guī)模節(jié)點(diǎn)規(guī)則分布的傳感器網(wǎng)絡(luò)

我們首先采用小規(guī)模的傳感器網(wǎng)絡(luò)模型來檢驗(yàn)三種路由算法性能。在實(shí)際應(yīng)用中,一些室內(nèi)環(huán)境如廠房、溫室大棚等,多為小規(guī)模的傳感器網(wǎng)絡(luò)。由于網(wǎng)絡(luò)范圍不大,傳感器節(jié)點(diǎn)可以手動地規(guī)則放置。網(wǎng)絡(luò)中的空洞可能是由于放置一些大型的儀器設(shè)備的地方無法部署傳感器節(jié)點(diǎn)造成的。網(wǎng)絡(luò)模型的主要參數(shù)如下:在一個(gè)長200m、寬200m的監(jiān)測區(qū)域內(nèi),規(guī)則部署了91個(gè)傳感器節(jié)點(diǎn)。節(jié)點(diǎn)的無線傳輸半徑約為30m。在監(jiān)測區(qū)域范圍外,部署了一個(gè)匯聚節(jié)點(diǎn),匯聚節(jié)點(diǎn)坐標(biāo)為(120.0,220.0)。圖3為傳感器網(wǎng)絡(luò)節(jié)點(diǎn)分布圖。表1為仿真中用到的參數(shù)設(shè)置。

表1 小規(guī)模傳感器網(wǎng)絡(luò)仿真中的參數(shù)設(shè)置

圖3 小規(guī)模節(jié)點(diǎn)規(guī)則分布的傳感器網(wǎng)絡(luò)

圖4 給出了無線傳感器網(wǎng)絡(luò)分別采用GRS、GEAR和GPSR路由算法,在網(wǎng)絡(luò)生命周期性能上的比較。X軸為傳感器節(jié)點(diǎn)的初始能量,Y軸為網(wǎng)絡(luò)生命周期。由于網(wǎng)絡(luò)中存在空洞,GRS采用貪婪轉(zhuǎn)發(fā)策略會頻繁遭遇路由空洞,并采用泛洪方式繼續(xù)數(shù)據(jù)傳輸,故節(jié)點(diǎn)能量消耗很大,網(wǎng)絡(luò)生命周期很短。GPSR算法在遭遇路由空洞時(shí)采用邊緣轉(zhuǎn)發(fā)方式繼續(xù)數(shù)據(jù)轉(zhuǎn)發(fā),避免了采用泛洪機(jī)制,節(jié)省了節(jié)點(diǎn)能量消耗,延長了網(wǎng)絡(luò)生命周期。GEAR算法結(jié)合距離和節(jié)點(diǎn)剩余能量計(jì)算路由代價(jià),生成了節(jié)點(diǎn)能耗更加均衡的路由,所以GEAR算法的網(wǎng)絡(luò)生命周期最長。

圖5給出了隨著網(wǎng)絡(luò)查詢輪數(shù)的增加,三種路由算法在數(shù)據(jù)包到達(dá)率上的比較。GPSR和GRS的數(shù)據(jù)包到達(dá)率比較接近,在執(zhí)行到第250次查詢時(shí),就已經(jīng)開始出現(xiàn)丟包的現(xiàn)象。在執(zhí)行到600次查詢時(shí),數(shù)據(jù)包到達(dá)率約為93%。GEAR算法在執(zhí)行至第400次查詢時(shí),出現(xiàn)丟包現(xiàn)象。隨后數(shù)據(jù)包到達(dá)率下降很快,在600次查詢時(shí),數(shù)據(jù)包到達(dá)率約為91%。

圖4 小規(guī)模傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)生命周期的比較

圖5 小規(guī)模傳感器網(wǎng)絡(luò)數(shù)據(jù)包到達(dá)率的比較

圖6 給出了在節(jié)點(diǎn)初始能量為1.5J時(shí),GPSR、GEAR和SIENGR算法在執(zhí)行第200個(gè)查詢后,網(wǎng)絡(luò)節(jié)點(diǎn)的能量損耗瞬時(shí)圖。在這個(gè)圖中,X軸和Y軸是傳感器節(jié)點(diǎn)的坐標(biāo),Z軸是能耗。從圖6(a)中可以看出,GRS算法的節(jié)點(diǎn)能耗非常大,而且在200輪的時(shí)候網(wǎng)絡(luò)中很多節(jié)點(diǎn)的能量消耗已經(jīng)到達(dá)了1.5J。圖6(b)中可以看出,GPSR算法在遇到路由空洞時(shí),邊緣轉(zhuǎn)發(fā)的方式代替GRS的泛洪來繼續(xù)數(shù)據(jù)轉(zhuǎn)發(fā),大幅減少了節(jié)點(diǎn)的能耗。但是GPSR節(jié)點(diǎn)的能耗分布不均衡,位于空洞邊緣的節(jié)點(diǎn)和位于匯聚節(jié)點(diǎn)附近的節(jié)點(diǎn)能量消耗很大。從圖6(c)中可以看出,GEAR算法的能耗相對于GPSR更為均橫。

3.2 大規(guī)模節(jié)點(diǎn)隨機(jī)分布的傳感器網(wǎng)絡(luò)

我們接著通過大規(guī)模節(jié)點(diǎn)隨機(jī)分布的無線傳感器網(wǎng)絡(luò)來檢驗(yàn)三種路由算法性能。在實(shí)際應(yīng)用中,如果在監(jiān)測范圍較大的野外,傳感器節(jié)點(diǎn)的布置方式多采用的是飛機(jī)空中大規(guī)模的播撒[1],所以節(jié)點(diǎn)的分布狀態(tài)為隨機(jī)分布。網(wǎng)絡(luò)中大規(guī)模的空洞可能為自然環(huán)境中的水塘、沼澤等。圖7為仿真中的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)分布圖。傳感器網(wǎng)絡(luò)模型的主要參數(shù)如下:在一個(gè)長800m、寬800m的監(jiān)測區(qū)域內(nèi),隨機(jī)部署了1000個(gè)傳感器節(jié)點(diǎn)。節(jié)點(diǎn)無線傳輸半徑約為50m。監(jiān)測區(qū)域內(nèi),存在著一個(gè)大小約為200*200m2的不規(guī)則空洞區(qū)域不部署傳感器節(jié)點(diǎn),以模擬現(xiàn)實(shí)環(huán)境中的真實(shí)空洞。同時(shí),由于節(jié)點(diǎn)部署的隨機(jī)性,在網(wǎng)絡(luò)中間也存在著一些由于節(jié)點(diǎn)分布不均勻產(chǎn)生的小空洞,如圖7中坐標(biāo)(200.0,300.0)附近形成的一個(gè)小空洞區(qū)域。在監(jiān)測區(qū)域范圍內(nèi),部署了一個(gè)匯聚節(jié)點(diǎn),匯聚節(jié)點(diǎn)坐標(biāo)為(400.0,800.0)。表2為仿真中用到的參數(shù)設(shè)置。

圖6 小規(guī)模傳感器網(wǎng)絡(luò)GRS、GPSR和GEAR的能量損耗瞬時(shí)圖

圖7 大規(guī)模節(jié)點(diǎn)隨機(jī)分布的傳感器網(wǎng)絡(luò)

表2 大規(guī)模的傳感器網(wǎng)絡(luò)仿真中的參數(shù)設(shè)置

圖8給出了在大規(guī)模節(jié)點(diǎn)隨機(jī)分布的網(wǎng)絡(luò)環(huán)境中,分別采用GRS、GPSR和GEAR路由算法在網(wǎng)絡(luò)生命周期性能上的比較。GRS的網(wǎng)絡(luò)生命周期最短,GEAR的網(wǎng)絡(luò)生命周期最長。圖9給出了隨著網(wǎng)絡(luò)查詢輪數(shù)的增加,三種路由算法在數(shù)據(jù)包到達(dá)率上的比較??梢钥闯鲈诖笠?guī)模節(jié)點(diǎn)隨機(jī)分布的網(wǎng)絡(luò)環(huán)境中,隨著節(jié)點(diǎn)查詢輪數(shù)的增加,GRS和GPSR的數(shù)據(jù)包到達(dá)率比GEAR高一些。圖10給出了GRS、GPSR和GEAR算法在執(zhí)行第200個(gè)查詢后,網(wǎng)絡(luò)節(jié)點(diǎn)的能量損耗瞬時(shí)圖。從圖10(a)中可以看出,GRS在網(wǎng)絡(luò)中出現(xiàn)較大空洞時(shí)頻繁采用泛洪機(jī)制,導(dǎo)致網(wǎng)絡(luò)能耗非常大。從圖10(b)和圖10(c)中可以看出GPSR和GEAR算法的能耗較之GRS有了很大的降低,但是在大空洞邊緣的節(jié)點(diǎn)和位于匯聚節(jié)點(diǎn)附近的節(jié)點(diǎn)能量消耗較大,在網(wǎng)絡(luò)中小空洞的周圍也會出現(xiàn)能量消耗較為突出的小峰值。

圖8 大規(guī)模傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)生命周期的比較

圖9 大規(guī)模傳感器網(wǎng)絡(luò)數(shù)據(jù)包到達(dá)率的比較

4 結(jié)語

本文針對無線傳感器網(wǎng)絡(luò)中地理信息路由進(jìn)行基于NS2的仿真和研究,詳細(xì)說明了在NS2中添加新路由協(xié)議的實(shí)現(xiàn)方法,并選取GRS、GEAR和GPSR這三種經(jīng)典的地理信息路由協(xié)議進(jìn)行仿真實(shí)驗(yàn)。仿真分別選取小規(guī)模節(jié)點(diǎn)規(guī)則分布和大規(guī)模節(jié)點(diǎn)隨機(jī)分布的兩種存在路由空洞的復(fù)雜網(wǎng)絡(luò)環(huán)境,選擇能耗、網(wǎng)絡(luò)生命周期、數(shù)據(jù)包到達(dá)率等算法指標(biāo),分析三種路由算法在不同網(wǎng)絡(luò)環(huán)境中的性能,為進(jìn)一步研究無線傳感器網(wǎng)絡(luò)中的地理信息路由算法提供依據(jù)。

圖10 大規(guī)模傳感器網(wǎng)絡(luò)GRS、GPSR和GEAR的能量損耗瞬時(shí)圖

[1]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2006.8-165.SUN Limin,LI Jianzhong,CHEN Yu,et al.Wireless Sen?sor Networks[M].Beijing:Tsinghua University Press,2006.8-165

[2]Fraser Cadger,Kevin Curran,Jose Santos and Sandra Mof?fett.A Survey of Geographical Routing in Wireless Ad-Hoc Networks[J].IEEE Communications Surveys and Tutorials,2012,15(2):1-33.

[3]王建新,趙湘寧,劉輝宇.一種基于兩跳鄰居信息的貪婪 地 理 路 由 算 法[J].電 子 學(xué) 報(bào) ,2008,36(10):1903-1909.WANG Jianxin,ZHAO Xiangning,LIU Huiyu.A Greedy Geographic Routing Algorithm based on 2-hop Neighbors[J].Chinese Journal of Electronics,2008,36(10):1903-1909.

[4]Tan G,Kermarrec A M.Greedy Geographic Routing in Large-Scale Sensor Networks:A Minimum Network De?composition Approach[J].IEEE.ACM Transactions on Networking,2012,20(3):864-877.

[5]Cao Y,Sun Z,Wang N,et al.Converge-and-Diverge:A Geographic Routing for Delay/Disruption-Tolerant Net?works Using a Delegation Replication Approach[J].IEEE Transactions on Vehicular Technology,2013,62(5):2339-2343.

[6]Popescu A M,Salman N,Kemp A H.Energy Efficient Geo?graphic Routing Robust Against Location Errors[J].IEEE Sensors Journal,2014,14(6):1944-1951.

[7]Boulaiche M,Bouallouche-Medjkoune L.EGGR:Ener?gy-aware and delivery Guarantee Geographic Routing pro?tocol[J].Wireless Networks,2014:1-10.

[8]趙湘寧.一種基于信號機(jī)制的能量感知地理路由算法[J].電子學(xué)報(bào),2015,43(5):788-796.ZHAO Xiangning.A Signal Mechanism Based Ener?gy-Aware Geographic Routing Algorithm[J].Acta Elec?tronica Sinica,2015,43(5):788-796.

[9]黃化吉,馮穗力,秦麗姣,等.NS網(wǎng)絡(luò)模擬和協(xié)議仿真[M].北京:人民郵電出版社,2010.1-102.HUANG Huaji,F(xiàn)ENG Huili,QIN Lijiao,et al.NS network and protocol simulation[M].Beijing:Posts and Telecom Press,2010.1-102.

[10]G G Finn.Routing and Addressing Problems in Large Metropolitan Scale Internetworks[R].ISI res.repISU/RR-87-180.Mar 1987.

[11]De Couto DSJ,Robert Morris.Location proxies and inter?mediate node forwarding for practical geographic forward?ing[R].Boston:MIT Laboratory for Computer Science,2001.

[12]Yu Y,Govindan R,Estrin D.Geographical and energy aware routing:A recursive data dissemination protocol for wireless sensor networks[R].Technical report ucla,UCLA Computer Science Department,2001.

[13]B.Karp,H.T.Kung.GPSR:Greedy perimeter stateless routing for wireless sensor networks[C]//Proceedings of the 6th Annual ACM/IEEE International Conference on Mobile Computing and Networking(MobiCom_00),Bos?ton,2000:243-254.

Simulation and Research on Geographic Routing Protocol of Wireless Sensor Networks Based on NS2

ZHAO XiangningLIANG Zhong
(College of Computer and Information Sciences,F(xiàn)ujian Agriculture and Forestry University,F(xiàn)uzhou 350002)

Geographic routing protocols are widely used in wireless sensor networks because of their simplicity,efficiency and low cost.This paper uses NS2 simulator platform to research three routing protocols,which are GRS,GPSR and GEAR,and presents the approach of adding new routing protocol into NS2 in details.Simulations choose two different network environments with routing voids,which are small-scale regular node distribution networks and large-scale random node distribution networks.Protocols'perfor?mances are evaluated by energy consumption,lifetime of sensor networks,packet delivery rate.

wireless sensor networks,geographic routing,NS2 simulation,routing void,load balancing

Class Number TP393

TP393

10.3969/j.issn.1672-9722.2017.12.025

2017年6月9日,

2017年7月20日

國家自然科學(xué)基金項(xiàng)目“基于X射線影像的腔內(nèi)支架動力特性評價(jià)關(guān)鍵技術(shù)研究”(編號:61501120);福建省教育廳科技項(xiàng)目“基于地理信息路由的能量空洞避免策略研究”(編號:JAT160152)資助。

趙湘寧,女,碩士,實(shí)驗(yàn)師,研究方向:無線傳感器網(wǎng)絡(luò)。梁忠,男,高級實(shí)驗(yàn)師,研究方向:算法優(yōu)化、無線傳感器網(wǎng)絡(luò)。

猜你喜歡
空洞數(shù)據(jù)包路由
二維隱蔽時(shí)間信道構(gòu)建的研究*
番茄出現(xiàn)空洞果的原因及防治措施
民用飛機(jī)飛行模擬機(jī)數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
如何避免想象作文空洞無“精神”
數(shù)據(jù)通信中路由策略的匹配模式
路由選擇技術(shù)對比
路由重分發(fā)時(shí)需要考慮的問題
C#串口高效可靠的接收方案設(shè)計(jì)
空洞的眼神
基于AODV 的物聯(lián)網(wǎng)路由算法改進(jìn)研究