2021-4-9 | 互聯(lián)網(wǎng)管理論文
1概述
無線傳感器網(wǎng)絡(luò)(WirelessSensorNetwork,WSN)是以自組網(wǎng)形式構(gòu)成的無線網(wǎng)絡(luò),網(wǎng)絡(luò)節(jié)點(diǎn)具有稠密布置、隨機(jī)撒播的特性,傳感器節(jié)點(diǎn)協(xié)同地感知、采集、處理網(wǎng)絡(luò)覆蓋范圍的信息,并提供給用戶。無線傳感器網(wǎng)絡(luò)的工作方式與傳統(tǒng)網(wǎng)絡(luò)有很大差異:通信能量消耗大于數(shù)據(jù)處理能量消耗;傳感器節(jié)點(diǎn)的能量有限;傳感器各節(jié)點(diǎn)負(fù)擔(dān)的任務(wù)量不同以致各節(jié)點(diǎn)能量消耗不平均;通常散布在無人值守的區(qū)域,一旦節(jié)點(diǎn)失效或能量耗盡也無法對(duì)它進(jìn)行修復(fù)或充電[1]。因此,無線傳感器網(wǎng)絡(luò)的節(jié)能問題是研究的關(guān)鍵[2]。網(wǎng)絡(luò)管理與網(wǎng)絡(luò)本身息息相關(guān),無線傳感器網(wǎng)絡(luò)與其他的無線網(wǎng)絡(luò)相比,有不同的網(wǎng)絡(luò)結(jié)構(gòu)和需求。無線傳感器網(wǎng)絡(luò)是多跳的,每個(gè)節(jié)點(diǎn)都可以作為路由器使用,進(jìn)行路徑的存儲(chǔ)。傳感器網(wǎng)絡(luò)的流量有相對(duì)靜態(tài)的特性,從傳感器節(jié)點(diǎn)到匯聚(Sink)節(jié)點(diǎn)的數(shù)據(jù)流遠(yuǎn)大于反方向的流量。另外,傳感器網(wǎng)絡(luò)的主要目標(biāo)在于盡量降低系統(tǒng)功耗,延長(zhǎng)網(wǎng)絡(luò)的生命周期,它的節(jié)點(diǎn)通常運(yùn)行在人無法接近的惡劣或者危險(xiǎn)的遠(yuǎn)程環(huán)境中,更換電池是非常困難的(甚至是不可能的)。因此,有效地利用無線傳感器網(wǎng)絡(luò)的資源,保障其提供信息服務(wù)的質(zhì)量,降低能量消耗、延長(zhǎng)網(wǎng)絡(luò)運(yùn)行周期是無線傳感器網(wǎng)絡(luò)管理技術(shù)的重要目標(biāo)。文獻(xiàn)[3]從傳統(tǒng)網(wǎng)絡(luò)管理功能角度研究了無線傳感器網(wǎng)絡(luò)管理技術(shù),并對(duì)網(wǎng)絡(luò)管理的關(guān)鍵技術(shù)進(jìn)行論述。文獻(xiàn)[4]綜述了無線傳感器網(wǎng)絡(luò)管理技術(shù),并重點(diǎn)概述了現(xiàn)存的無線傳感器網(wǎng)絡(luò)管理系統(tǒng)和方法。文獻(xiàn)[5]重點(diǎn)描述了無線傳感器網(wǎng)絡(luò)管理的協(xié)議框架,建立層次型管理體系。目前眾多的研究者開展了無線傳感器網(wǎng)絡(luò)管理技術(shù)的研究,但這些研究中并沒有針對(duì)無線傳感器網(wǎng)絡(luò)的節(jié)能需要研究網(wǎng)絡(luò)管理技術(shù)。為此,本文通過虛擬對(duì)象標(biāo)示符(VirtualObjectIdentifier,VOID)技術(shù),研究無線傳感器網(wǎng)管理協(xié)議,通過減少管理站與被管節(jié)點(diǎn)的通信,降低網(wǎng)絡(luò)管理給無線傳感器網(wǎng)絡(luò)帶來的能耗。
2管理信息庫(kù)設(shè)計(jì)
管理信息庫(kù)(ManagementInformationBase,MIB)是在代理端存放被管對(duì)象數(shù)據(jù)的一個(gè)數(shù)據(jù)庫(kù)。MIB的結(jié)構(gòu)見圖1。在MIB中用OID標(biāo)記被管理對(duì)象的參數(shù),在管理協(xié)議中對(duì)它的使用是最頻繁的,所以,可以通過減少OID的長(zhǎng)度來減小通信量。為了減少M(fèi)IB中OID的長(zhǎng)度,該管理協(xié)議把MIB的OID分成對(duì)象監(jiān)控OID表、原始OID和虛擬OID表3個(gè)部分。在WSN(29647)節(jié)點(diǎn)下的OID編號(hào)為1~127表示原始的OID,128編號(hào)表示對(duì)象監(jiān)控OID表,129~255表示虛擬的OID表。為了減少管理站的查詢請(qǐng)求,傳感器代理中提供了間隔某個(gè)時(shí)間的本地輪詢功能。本地輪詢功能是在MIB中特定的表中定義的,通過修改相應(yīng)表中的值就可方便地修改論詢的值。輪詢功能是在間隔時(shí)間到達(dá)時(shí),判斷相應(yīng)的監(jiān)測(cè)參數(shù)的值是否觸發(fā)某個(gè)事件。與RMON相比,RMON是監(jiān)視一個(gè)網(wǎng)段的功能,本地輪詢功能是監(jiān)視本代理的一些變量,在一定情況下向管理站發(fā)送報(bào)告。在傳感器代理中,監(jiān)測(cè)的參數(shù)能夠觸發(fā)的條件有2個(gè),一個(gè)是大于某個(gè)值monHighVal,另一個(gè)是小于某個(gè)值monLowVal。如果監(jiān)控表中的monLowVal(3)和monHighVal(4)的值都設(shè)置為0,則表示定時(shí)向管理站發(fā)送monOID(0)標(biāo)明的數(shù)據(jù)值。通過輪詢某OID變量,就可實(shí)現(xiàn)網(wǎng)絡(luò)管理中OID的監(jiān)控功能。虛擬OID變量是一種只定義其求值的方法而不在MIB中保存它的實(shí)時(shí)值的一種OID變量。它與傳統(tǒng)的網(wǎng)絡(luò)管理系統(tǒng)中的OID變量不同。虛擬OID在執(zhí)行網(wǎng)絡(luò)管理過程中定義;它的變量值并不是對(duì)應(yīng)于被管對(duì)象中的某個(gè)實(shí)際參數(shù)值,而是通過已有的OID變量進(jìn)行運(yùn)算而得到的;它并不在MIB中保存它的實(shí)際值,只保存值的一種計(jì)算方式;對(duì)虛擬OID的運(yùn)算,一般都是只能進(jìn)行取值運(yùn)算,而不能進(jìn)行設(shè)置值運(yùn)算。SNMP中的OID變量,它一般都是在代理的設(shè)計(jì)和實(shí)現(xiàn)過程定義的;它的變量值一般都是對(duì)應(yīng)于被管理對(duì)象中的某個(gè)實(shí)際參數(shù)值;它的值會(huì)隨著被管理對(duì)象中的實(shí)際參數(shù)值實(shí)時(shí)改變。另外,虛擬OID變量和傳統(tǒng)的網(wǎng)絡(luò)管理系統(tǒng)中的OID變量也有類似情況。首先它們都是為網(wǎng)絡(luò)管理服務(wù)的;其次它們都是對(duì)網(wǎng)絡(luò)狀態(tài)的一種表示;最后它們都能通過網(wǎng)絡(luò)管理協(xié)議進(jìn)行訪問。本文為實(shí)現(xiàn)虛擬OID功能,在SNMP協(xié)議中提供AddVirtualOID和RemoveVirtualOID操作原語(yǔ)來管理虛擬OID變量。在虛擬OID中的值是根據(jù)表達(dá)式valExpression所表示的含義來求解。為減少存儲(chǔ)valExpression長(zhǎng)度和增加求解虛擬OID速度,valExpression采用后綴表達(dá)式表示。
3虛擬OID操作原語(yǔ)設(shè)計(jì)
虛擬OID提供一種代理端的計(jì)算功能。虛擬OID的值把虛擬OID下的paramOID和paramValue中的參數(shù),代入valExpression中求得。參數(shù)paramOIDsTable是代理中已經(jīng)存在的OID變量,它可以是原始OID變量或者其他虛擬OID變量。參數(shù)paramValuesTable是計(jì)算虛擬OID值時(shí)用到的常量。valExpression是計(jì)算虛擬OID值的表達(dá)式,為減少表達(dá)式的長(zhǎng)度和計(jì)算的速度,valExpression用后輟表達(dá)式表示計(jì)算方式。valExpression中的4位段格式如圖2所示。valExpression可以為多個(gè)字節(jié),valExpression被分成多個(gè)4位段,每個(gè)4位段表示一個(gè)操作數(shù)或一個(gè)運(yùn)算符,每段開始的第1位為0表示運(yùn)算符,為1表示操作數(shù)。運(yùn)算符的第2位~第4位表示運(yùn)算符的類型代碼,0000表示valExpression結(jié)束,共有321種運(yùn)算符,運(yùn)算符代碼見表1。valExpression中的操作數(shù)的第2位表示操作數(shù)類別標(biāo)志位,為0表示后面剩下的2位為常量參數(shù)的序號(hào),為1表示后面剩下的2位為OID參數(shù)的序號(hào)。后綴表達(dá)式中沒有括號(hào),只需從左向右掃描一遍表達(dá)式就可計(jì)算其值。它的計(jì)算流程如圖3所示。
3.1虛擬OID原語(yǔ)協(xié)議數(shù)據(jù)單元設(shè)計(jì)
為了實(shí)現(xiàn)虛擬OID功能,提供2個(gè)對(duì)虛擬OID操作的原語(yǔ),分別為AddVirtualOID和RemoveVirtualOID。AddVirtualOID是向無線傳感器網(wǎng)絡(luò)傳感器代理中添加一個(gè)虛擬OID,RemoveVirtualOID是從傳感器代理中刪除一個(gè)虛擬OID,它們的具體定義如下:(1)AddVirtualOID操作原語(yǔ)。AddVirtualOID操作原語(yǔ)是用于向虛擬MIB表中添加虛擬的OID定義。AddVirtualOID原語(yǔ)的協(xié)議數(shù)據(jù)單元(PDU)定義如下:(2)RemoveVirtualOID操作原語(yǔ)。RemoveVirtualOID操作原語(yǔ)的功能正好和AddVirtualOID操作原語(yǔ)的功能相反,它是用于刪除虛擬MIB表中的某個(gè)虛擬OID定義。在刪除過程中,只用標(biāo)識(shí)出要?jiǎng)h除的虛擬OID即可。RemoveVirtualOID操作原語(yǔ)的PDU定義如下:}