汪鈺斌
(江西農(nóng)業(yè)大學(xué)南昌商學(xué)院,江西 共青城 332020)
復(fù)雜網(wǎng)絡(luò)是指呈現(xiàn)高度復(fù)雜性的網(wǎng)絡(luò),復(fù)雜網(wǎng)絡(luò)具有六大特征;節(jié)點(diǎn)數(shù)目巨大、網(wǎng)絡(luò)結(jié)構(gòu)不斷發(fā)生變化、節(jié)點(diǎn)之間的連接權(quán)重存在差異、節(jié)點(diǎn)集屬于非線性動(dòng)力學(xué)系統(tǒng)、復(fù)雜網(wǎng)絡(luò)中的節(jié)點(diǎn)可以代表任何事物、多重復(fù)雜性融合,安裝復(fù)雜網(wǎng)絡(luò)設(shè)備非常必要。復(fù)雜網(wǎng)絡(luò)的不斷發(fā)展,復(fù)雜網(wǎng)絡(luò)設(shè)備也應(yīng)運(yùn)而生,并且逐漸被各領(lǐng)域所接受,例如空氣污染監(jiān)控方面。IP地址是用來(lái)標(biāo)識(shí)節(jié)點(diǎn),使能網(wǎng)絡(luò)通信協(xié)議,在復(fù)雜網(wǎng)絡(luò)中扮演著重要角色,但是由于網(wǎng)絡(luò)中設(shè)備數(shù)量較大以及網(wǎng)絡(luò)動(dòng)態(tài)性,如果手動(dòng)地為復(fù)雜網(wǎng)絡(luò)設(shè)備進(jìn)行IP地址分配是一件非常繁瑣工作甚至是不可能實(shí)現(xiàn)的。迫切需要研究一種IP地址分配方案。周林等人[1]提出了一種基于動(dòng)態(tài)參數(shù)的按需可擴(kuò)展地址分配算法,根據(jù)分布式地址分配機(jī)制(DAAM)對(duì)16 bit地址空間進(jìn)行分塊,根據(jù)網(wǎng)絡(luò)狀況來(lái)動(dòng)態(tài)調(diào)整參數(shù)以及進(jìn)行地址一次或者多次擴(kuò)展;同時(shí)改進(jìn)路由算法,使其與Cluster-Tree協(xié)議兼容,該方法分配效率較高,但是可操作性較差;袁利永等人[2]提出了一種兩段地址分配策略TFA,它將16位地址分成兩段,前段地址用于全功能設(shè)備的地址分配,后段地址用于精簡(jiǎn)功能設(shè)備的地址分配。分析了TFA的mesh路由優(yōu)化特性,提出了基于TFA的mesh路由算法,該方法地址分配成功率較高,但耗時(shí)較長(zhǎng)。李鴻健等人[3]提出了一種基于地址映射的分段式地址分配算法,通過(guò)對(duì)子節(jié)點(diǎn)路由節(jié)點(diǎn)以及終端節(jié)點(diǎn)的地址進(jìn)行擴(kuò)展,建立了從子節(jié)點(diǎn)地址到擴(kuò)展地址的映射,增加了路由節(jié)點(diǎn)所能擁有的子節(jié)點(diǎn)的最大個(gè)數(shù),從而提高了節(jié)點(diǎn)的入網(wǎng)概率和孤立節(jié)點(diǎn)數(shù)量;同時(shí)給出了地址回收機(jī)制以及改進(jìn)的路由算法,使其與cluster-tree協(xié)議兼容,該方法平均分配耗時(shí)較短,但是分配準(zhǔn)確率較低。
針對(duì)上述問(wèn)題,提出一種基于改進(jìn)DAAM的IP地址動(dòng)態(tài)分配方案。
復(fù)雜網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)數(shù)學(xué)模型表達(dá)式如下
G=(V,E)
(1)
式中,E代表復(fù)雜網(wǎng)絡(luò)設(shè)備zigBee網(wǎng)絡(luò)中所有對(duì)稱無(wú)線通信鏈路的集合;V代表復(fù)雜網(wǎng)絡(luò)設(shè)備zigBee網(wǎng)絡(luò)中所有設(shè)備的集合,表達(dá)式如下
V={t}∪Vr∪Ve
(2)
其中,t代表復(fù)雜網(wǎng)絡(luò)設(shè)備zigBee網(wǎng)絡(luò)協(xié)調(diào)器;Vr代表zigBee網(wǎng)絡(luò)所有路由設(shè)備的集合;Ve代表復(fù)雜網(wǎng)絡(luò)設(shè)備zigBee網(wǎng)絡(luò)所有終端設(shè)備的集合[4]。
在上述模型的基礎(chǔ)上,為了便于研究復(fù)雜網(wǎng)絡(luò)設(shè)備IP地址分配方案,做了以下定義:
定義1:復(fù)雜網(wǎng)絡(luò)設(shè)備IP地址空間,是指具有一定位數(shù)的IP地址集合。
定義2:復(fù)雜網(wǎng)絡(luò)設(shè)備IP地址分段,是指將一個(gè)IP地址空間劃分為若干個(gè)容量更小的IP地址空間。
研究發(fā)現(xiàn),傳統(tǒng)的分布式地址分配方案(DAAM)定義的IP地址空間上限很少達(dá)到65535(216-1),這意味著絕大多數(shù)情況下復(fù)雜網(wǎng)絡(luò)設(shè)備zigBee網(wǎng)絡(luò)中有剩余IP地址空間可供利用。對(duì)傳統(tǒng)方法用16bit IP地址空間的概率進(jìn)行推導(dǎo)。
根據(jù)傳統(tǒng)方法的基本原理[5],假設(shè)SDAAM代表復(fù)雜網(wǎng)絡(luò)設(shè)備的IP地址空間;Am代表監(jiān)控設(shè)備分配的最大IP地址,則有
SDAAM={1,Am}
(3)
Am=Cskip(0)×Rm+Cm-Rm
(4)
式中,Cskip(0)表示復(fù)雜網(wǎng)絡(luò)設(shè)備之間的IP地址間隔;Rm表示復(fù)雜網(wǎng)絡(luò)中每個(gè)父節(jié)點(diǎn)擁有的子節(jié)點(diǎn)中路由器的最大數(shù)目;Cm表示復(fù)雜網(wǎng)絡(luò)中每個(gè)父節(jié)點(diǎn)擁有的子節(jié)點(diǎn)最大數(shù)目。
1)當(dāng)Rm=1時(shí),有:
Am=Cm×(Lm-1))×Rm+Cm-Rm=CmLm
(5)
其中,Lm表示復(fù)雜網(wǎng)絡(luò)最大深度。
欲使Am=65535,須使CmRm=65535,通過(guò)因式分解可知65535是四個(gè)素?cái)?shù)的乘積[6],表達(dá)式如下
65535=3×5×17×257
(6)
根據(jù)上式可知,滿足條件的RmLm組合個(gè)數(shù)為

(7)
2)當(dāng)Rm>1時(shí),有

(8)


(9)
根據(jù)已知條件,Rm>1、Cm≥Rm和Lm≥1進(jìn)行遍歷搜索,得到滿足上式條件的CmRmLm組合個(gè)數(shù)為3,即(4369,2,4)、(13107,4,2)、(21845,2,2)。
綜上分析和計(jì)算可知,DAAM方案用完復(fù)雜網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò)16bitIP地址空間的方式有16+3=19種;由于Lm∈{1,65535},Cm∈{1,65535},則設(shè)備總的IP地址分配方案數(shù)量大于655352,則DAAM方案用完監(jiān)控設(shè)備網(wǎng)絡(luò)IP地址空間的概率為
P<19/655352(≈4.42×10-9)
(10)
根據(jù)上述式(10),近似地P≈0。
復(fù)雜網(wǎng)絡(luò)設(shè)備ZigBee標(biāo)準(zhǔn)默認(rèn)的IP地址分配機(jī)制為DAAM,具體組網(wǎng)步驟如下:
1)假設(shè)復(fù)雜網(wǎng)絡(luò)協(xié)調(diào)器設(shè)備IP地址為0;確定組網(wǎng)參數(shù):Cm、Rm和Lm,采用泛洪的方式通知整個(gè)監(jiān)控網(wǎng)絡(luò)。
2)復(fù)雜網(wǎng)絡(luò)設(shè)備通過(guò)對(duì)網(wǎng)絡(luò)鄰居表的查詢,找出未被標(biāo)記的深度最小的潛在父節(jié)點(diǎn)(有多個(gè)時(shí)隨機(jī)選取)向其發(fā)送申請(qǐng)加入監(jiān)控網(wǎng)絡(luò)的信息,如果沒(méi)有收到答復(fù),則可以周期性地發(fā)送入網(wǎng)申請(qǐng)信息。
3)復(fù)雜網(wǎng)絡(luò)中IP地址為Aparene的網(wǎng)內(nèi)路由設(shè)備收到未入網(wǎng)的設(shè)備的入網(wǎng)請(qǐng)求后,作為父節(jié)點(diǎn),根據(jù)申請(qǐng)?jiān)O(shè)備類型以及申請(qǐng)入網(wǎng)的先后順序按照以下公式為申請(qǐng)入網(wǎng)的監(jiān)控設(shè)備分配IP地址

(11)
式中,d代表復(fù)雜網(wǎng)絡(luò)父節(jié)點(diǎn)的深度,等于父節(jié)點(diǎn)與網(wǎng)絡(luò)協(xié)調(diào)器之間的跳數(shù)Hp,d≤Lm-1;n代表子設(shè)備申請(qǐng)入網(wǎng)的順序,1≤n≤Rm;Cskip(d)代表復(fù)雜網(wǎng)絡(luò)中深度為d的路由設(shè)備在分配IP地址時(shí)的地址偏移量,計(jì)算表達(dá)式如下

(12)
4)當(dāng)監(jiān)控網(wǎng)絡(luò)中的潛在父節(jié)點(diǎn)收到設(shè)備入網(wǎng)申請(qǐng)后,沒(méi)有剩余的IP地址可以分配[7],則回復(fù)拒絕加入的信息,對(duì)拒絕加入的潛在父節(jié)點(diǎn)進(jìn)行標(biāo)記,然后跳轉(zhuǎn)回步驟(2)重新進(jìn)行下一輪的入網(wǎng)申請(qǐng)。
傳統(tǒng)的DAAM方案是定制式的,即每一級(jí)都嚴(yán)格按照三個(gè)組網(wǎng)參數(shù)Cm、Rm和Lm的值對(duì)設(shè)備IP地址進(jìn)行分配,對(duì)于處理復(fù)雜網(wǎng)絡(luò)動(dòng)態(tài)網(wǎng)絡(luò)中設(shè)備IP地址的分配無(wú)能為力,只適用于靜態(tài)網(wǎng)絡(luò)。根據(jù)第1節(jié)分析可知,由于傳統(tǒng)的DAAM方案無(wú)法動(dòng)態(tài)地平衡復(fù)雜網(wǎng)絡(luò)樹(shù),所有的剩余IP地址(即網(wǎng)絡(luò)協(xié)調(diào)器未分配的IP地址)一直都未使用,造成了IP地址資源的浪費(fèi)[8]。
已知復(fù)雜網(wǎng)絡(luò)的動(dòng)態(tài)性有三個(gè)方面的體現(xiàn),分別與參數(shù)Cm、Rm和Lm相對(duì)應(yīng),即:
①?gòu)?fù)雜網(wǎng)絡(luò)局部范圍內(nèi)的路由設(shè)備接收的子路由設(shè)備已經(jīng)飽和,數(shù)量達(dá)到Rm,但是在該范圍內(nèi)還有需要接入網(wǎng)絡(luò)的子路由監(jiān)控設(shè)備;
②復(fù)雜網(wǎng)絡(luò)局部范圍內(nèi)的路由設(shè)備接收的子終端設(shè)備已經(jīng)飽和,數(shù)量達(dá)到了Cm-Rm,但是在該范圍內(nèi)仍然有未入網(wǎng)的子終端監(jiān)控設(shè)備;
③某個(gè)復(fù)雜網(wǎng)絡(luò)深度為L(zhǎng)m的設(shè)備,還需要接收子設(shè)備入網(wǎng),即監(jiān)控網(wǎng)絡(luò)中需要有深度更深的設(shè)備來(lái)擴(kuò)大整體網(wǎng)絡(luò)的監(jiān)控覆蓋范圍[9]。
上述三種情況在傳統(tǒng)的DAAM方案中均會(huì)以失敗告終,研究提出一種IP地址動(dòng)態(tài)分配方案,能夠有效解決上述存在的問(wèn)題。
復(fù)雜網(wǎng)絡(luò)設(shè)備IP地址動(dòng)態(tài)分配方案采用以下式(13)計(jì)算地址偏移量
(13)
式中,?x」代表不大于x的最大整數(shù);Rm(d)和Tm(d)分別表示監(jiān)控網(wǎng)絡(luò)中深度為d的路由設(shè)備所能接收的最大子路由設(shè)備數(shù)量和最大子終端設(shè)備數(shù)量。
根據(jù)上述公式可知,相對(duì)于傳統(tǒng)方法,所提方法移除了參數(shù)Lm,以實(shí)現(xiàn)復(fù)雜網(wǎng)絡(luò)深度的動(dòng)態(tài)拓展。
在上述式(13)中除監(jiān)控網(wǎng)絡(luò)協(xié)調(diào)器外每層的地址偏移量以上一層的地址偏移量為基礎(chǔ)進(jìn)行計(jì)算,網(wǎng)絡(luò)協(xié)調(diào)器深度為d=0,監(jiān)控網(wǎng)絡(luò)中所有設(shè)備的深度為d≥1。復(fù)雜網(wǎng)絡(luò)短IP地址的范圍是0~0×FFFF,共65535個(gè),其中有3個(gè)保留的特殊IP地址0×0000、0×FFFF、0×FFFF,分別代表監(jiān)控網(wǎng)絡(luò)協(xié)調(diào)器IP地址、設(shè)備使用64位長(zhǎng)IP地址通信;無(wú)效的短IP地址,是監(jiān)控設(shè)備沒(méi)有入網(wǎng)的標(biāo)志。因此,可用于復(fù)雜網(wǎng)絡(luò)設(shè)備正常分配的IP地址有65533個(gè),從中預(yù)留Tm(d)個(gè)IP地址給網(wǎng)絡(luò)終端設(shè)備,其余的分給Rm(d)個(gè)路由設(shè)備。如果65533-Tm(d)不能被Rm(d)整除,則利用余數(shù)來(lái)處理監(jiān)控網(wǎng)絡(luò)終端設(shè)備的入網(wǎng),其余各層的處理方式與網(wǎng)絡(luò)協(xié)調(diào)器同理。復(fù)雜網(wǎng)絡(luò)不同深度的設(shè)備IP地址余數(shù)計(jì)算公式如下

(14)
在傳統(tǒng)的DAAM方案中,處于復(fù)雜網(wǎng)絡(luò)邊緣的新增設(shè)備,通常無(wú)法動(dòng)態(tài)入網(wǎng),這是由于邊緣設(shè)備往往已經(jīng)達(dá)到最大深度,而監(jiān)控網(wǎng)絡(luò)最大深度值一般設(shè)置較小(默認(rèn)設(shè)置為5)。而所提方法中,移除了參數(shù)Lm來(lái)計(jì)算地址偏移量,解除了監(jiān)控網(wǎng)絡(luò)深度拓展的束縛,并且可以通過(guò)調(diào)整組網(wǎng)參數(shù)改變監(jiān)控網(wǎng)絡(luò)深度,具有深度動(dòng)態(tài)可拓展性。
在上述計(jì)算的基礎(chǔ)上,引入借地址的策略,即動(dòng)態(tài)IP地址均衡的基本原理,通過(guò)定義以下四種命令控制幀解決復(fù)雜網(wǎng)絡(luò)IP地址動(dòng)態(tài)入網(wǎng)的問(wèn)題。①?gòu)?qiáng)制入網(wǎng)申請(qǐng)命令;②強(qiáng)制入網(wǎng)應(yīng)答命令;③借址申請(qǐng)命令;④借址應(yīng)答命令。
實(shí)驗(yàn)中將基于動(dòng)態(tài)參數(shù)的分配方法(文獻(xiàn)[1]方法)、基于地址映射的分配方法(文獻(xiàn)[3]方法)與所提方法進(jìn)行對(duì)比實(shí)驗(yàn),通過(guò)實(shí)驗(yàn)測(cè)試對(duì)比復(fù)雜網(wǎng)絡(luò)設(shè)備兩種不同IP地址分配方案的分配效果、監(jiān)控網(wǎng)絡(luò)穩(wěn)定性和運(yùn)算效率等方面的性能差異性。
采用Windows7平臺(tái)上的OPNET模擬軟件對(duì)兩種IP地址分配方案進(jìn)行模擬。復(fù)雜網(wǎng)絡(luò)覆蓋面積為1000m×1000m,監(jiān)控網(wǎng)絡(luò)中路由設(shè)備的數(shù)量分別為1000,2000,3000,5000,8000個(gè),設(shè)備密度范圍為350~20m2/個(gè),設(shè)備在實(shí)驗(yàn)區(qū)域內(nèi)隨機(jī)分布,網(wǎng)絡(luò)協(xié)調(diào)局位于實(shí)驗(yàn)區(qū)域的中心位置,各個(gè)設(shè)備之間的通信距離為50m。監(jiān)控網(wǎng)絡(luò)組網(wǎng)初始化參數(shù)為:Cm=8,Rm=8,每個(gè)實(shí)驗(yàn)進(jìn)行20次,取平均值。實(shí)驗(yàn)結(jié)果如圖1所示。

圖1 不同方法的監(jiān)控設(shè)備IP地址分配結(jié)果
圖1(a)為圓點(diǎn)表示需要進(jìn)行復(fù)雜網(wǎng)絡(luò)的布控點(diǎn),三角形表示進(jìn)行基于動(dòng)態(tài)參數(shù)的分配方法監(jiān)控設(shè)備IP地址分配結(jié)果,很多布控的點(diǎn)并沒(méi)有與黑色三角形點(diǎn)重合,說(shuō)明部分監(jiān)控設(shè)備甚至沒(méi)有分配到IP地址。圖1(b)中的黑色小正方形表示基于地址映射的分配方法的監(jiān)控設(shè)備IP地址分配結(jié)果,從圖中可以看出,采用傳統(tǒng)方法進(jìn)行監(jiān)控設(shè)備IP地址分配,存在重疊現(xiàn)象,即對(duì)同一空氣污染監(jiān)控設(shè)備分配了兩個(gè)或兩個(gè)以上IP地址,有的監(jiān)控設(shè)備甚至沒(méi)有分配到IP地址。圖1(c)中的菱形小黑點(diǎn)表示采用所提方法進(jìn)行監(jiān)控設(shè)備IP地址分配結(jié)果,所提方法菱形小黑點(diǎn)與需要布控的點(diǎn)完全重合,說(shuō)明采用所提方法實(shí)現(xiàn)了復(fù)雜網(wǎng)絡(luò)設(shè)備的IP地址分配,這是由于所提方法有效地利用了監(jiān)控網(wǎng)絡(luò)的剩余IP地址空間,不受組網(wǎng)參數(shù)Lm的限制,使得更多的設(shè)備能夠及時(shí)加入監(jiān)控網(wǎng)絡(luò)中,同時(shí)采用的借地址策略使得監(jiān)控設(shè)備分配到的IP地址更加均衡。
為了驗(yàn)證所提方法的分配效率,以控制報(bào)文數(shù)量為測(cè)量指標(biāo),同樣的監(jiān)控設(shè)備,所需的控制報(bào)文數(shù)量越小,說(shuō)明IP地址分配效率越高。實(shí)驗(yàn)結(jié)果如圖2所示。

圖2 不同方法的控制報(bào)文開(kāi)銷
圖2展示了傳統(tǒng)方法的控制報(bào)文在各類復(fù)雜網(wǎng)絡(luò)中均小于所提方法,同時(shí)實(shí)驗(yàn)結(jié)果驗(yàn)證了隨著監(jiān)控網(wǎng)絡(luò)中設(shè)備數(shù)量的增加,所提方法的優(yōu)勢(shì)顯著高于對(duì)比方案,這是由于采用傳統(tǒng)方法進(jìn)行監(jiān)控設(shè)備IP地址分配時(shí),當(dāng)監(jiān)控規(guī)模變大時(shí),監(jiān)控網(wǎng)絡(luò)中無(wú)法分配到IP地址的設(shè)備數(shù)量迅速增加,造成了多次的設(shè)備IP地址入網(wǎng)申請(qǐng),出現(xiàn)了控制報(bào)文開(kāi)銷較大的問(wèn)題,而所提方法受到的影響卻很小。
為了進(jìn)一步驗(yàn)證所提方法的設(shè)備IP地址分配平均耗時(shí),進(jìn)行如下實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖3所示。

圖3 不同方案的設(shè)備IP地址分配平均耗時(shí)
如圖3所示傳統(tǒng)方法對(duì)復(fù)雜網(wǎng)絡(luò)設(shè)備進(jìn)行IP地址分配的平均耗時(shí)整體上小于所提方法,這是由于傳統(tǒng)方法中對(duì)于空氣污染監(jiān)控網(wǎng)絡(luò)中無(wú)IP地址的設(shè)備會(huì)多次向鄰居設(shè)備申請(qǐng)IP地址,增加了IP地址分配延時(shí),當(dāng)監(jiān)控網(wǎng)絡(luò)中的設(shè)備規(guī)模較小時(shí),兩種方案的平均耗時(shí)沒(méi)有太大差別,而當(dāng)監(jiān)控網(wǎng)絡(luò)的規(guī)模變大時(shí),所提方法顯示出優(yōu)越性。
研究對(duì)傳統(tǒng)的DAAM方案進(jìn)行了細(xì)致分析,并對(duì)傳統(tǒng)方法應(yīng)對(duì)復(fù)雜網(wǎng)絡(luò)動(dòng)態(tài)網(wǎng)絡(luò)三個(gè)方面存在的缺陷與不足進(jìn)行了改進(jìn),提出了一種基于改進(jìn)DAAM的IP地址動(dòng)態(tài)分配方案。該方案提出了監(jiān)控網(wǎng)絡(luò)深度可調(diào)整的地址偏移計(jì)算方法和借地址機(jī)制。通過(guò)實(shí)驗(yàn)證明了所提方案的有效性和優(yōu)越性。
但是所提方法并沒(méi)有考慮復(fù)雜網(wǎng)絡(luò)復(fù)雜情況下的設(shè)備IP地址借址策略的調(diào)整與適用性,下一步工作將以此為基礎(chǔ)進(jìn)行開(kāi)展。