汪鈺斌
(江西農(nóng)業(yè)大學(xué)南昌商學(xué)院,江西 共青城 332020)
復(fù)雜網(wǎng)絡(luò)是指呈現(xiàn)高度復(fù)雜性的網(wǎng)絡(luò),復(fù)雜網(wǎng)絡(luò)具有六大特征;節(jié)點數(shù)目巨大、網(wǎng)絡(luò)結(jié)構(gòu)不斷發(fā)生變化、節(jié)點之間的連接權(quán)重存在差異、節(jié)點集屬于非線性動力學(xué)系統(tǒng)、復(fù)雜網(wǎng)絡(luò)中的節(jié)點可以代表任何事物、多重復(fù)雜性融合,安裝復(fù)雜網(wǎng)絡(luò)設(shè)備非常必要。復(fù)雜網(wǎng)絡(luò)的不斷發(fā)展,復(fù)雜網(wǎng)絡(luò)設(shè)備也應(yīng)運而生,并且逐漸被各領(lǐng)域所接受,例如空氣污染監(jiān)控方面。IP地址是用來標識節(jié)點,使能網(wǎng)絡(luò)通信協(xié)議,在復(fù)雜網(wǎng)絡(luò)中扮演著重要角色,但是由于網(wǎng)絡(luò)中設(shè)備數(shù)量較大以及網(wǎng)絡(luò)動態(tài)性,如果手動地為復(fù)雜網(wǎng)絡(luò)設(shè)備進行IP地址分配是一件非常繁瑣工作甚至是不可能實現(xiàn)的。迫切需要研究一種IP地址分配方案。周林等人[1]提出了一種基于動態(tài)參數(shù)的按需可擴展地址分配算法,根據(jù)分布式地址分配機制(DAAM)對16 bit地址空間進行分塊,根據(jù)網(wǎng)絡(luò)狀況來動態(tài)調(diào)整參數(shù)以及進行地址一次或者多次擴展;同時改進路由算法,使其與Cluster-Tree協(xié)議兼容,該方法分配效率較高,但是可操作性較差;袁利永等人[2]提出了一種兩段地址分配策略TFA,它將16位地址分成兩段,前段地址用于全功能設(shè)備的地址分配,后段地址用于精簡功能設(shè)備的地址分配。分析了TFA的mesh路由優(yōu)化特性,提出了基于TFA的mesh路由算法,該方法地址分配成功率較高,但耗時較長。李鴻健等人[3]提出了一種基于地址映射的分段式地址分配算法,通過對子節(jié)點路由節(jié)點以及終端節(jié)點的地址進行擴展,建立了從子節(jié)點地址到擴展地址的映射,增加了路由節(jié)點所能擁有的子節(jié)點的最大個數(shù),從而提高了節(jié)點的入網(wǎng)概率和孤立節(jié)點數(shù)量;同時給出了地址回收機制以及改進的路由算法,使其與cluster-tree協(xié)議兼容,該方法平均分配耗時較短,但是分配準確率較低。
針對上述問題,提出一種基于改進DAAM的IP地址動態(tài)分配方案。
復(fù)雜網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)數(shù)學(xué)模型表達式如下
G=(V,E)
(1)
式中,E代表復(fù)雜網(wǎng)絡(luò)設(shè)備zigBee網(wǎng)絡(luò)中所有對稱無線通信鏈路的集合;V代表復(fù)雜網(wǎng)絡(luò)設(shè)備zigBee網(wǎng)絡(luò)中所有設(shè)備的集合,表達式如下
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地址分段,是指將一個IP地址空間劃分為若干個容量更小的IP地址空間。
研究發(fā)現(xiàn),傳統(tǒng)的分布式地址分配方案(DAAM)定義的IP地址空間上限很少達到65535(216-1),這意味著絕大多數(shù)情況下復(fù)雜網(wǎng)絡(luò)設(shè)備zigBee網(wǎng)絡(luò)中有剩余IP地址空間可供利用。對傳統(tǒng)方法用16bit IP地址空間的概率進行推導(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ò)中每個父節(jié)點擁有的子節(jié)點中路由器的最大數(shù)目;Cm表示復(fù)雜網(wǎng)絡(luò)中每個父節(jié)點擁有的子節(jié)點最大數(shù)目。
1)當(dāng)Rm=1時,有:
Am=Cm×(Lm-1))×Rm+Cm-Rm=CmLm
(5)
其中,Lm表示復(fù)雜網(wǎng)絡(luò)最大深度。
欲使Am=65535,須使CmRm=65535,通過因式分解可知65535是四個素數(shù)的乘積[6],表達式如下
65535=3×5×17×257
(6)
根據(jù)上式可知,滿足條件的RmLm組合個數(shù)為
(7)
2)當(dāng)Rm>1時,有
(8)
(9)
根據(jù)已知條件,Rm>1、Cm≥Rm和Lm≥1進行遍歷搜索,得到滿足上式條件的CmRmLm組合個數(shù)為3,即(4369,2,4)、(13107,4,2)、(21845,2,2)。
綜上分析和計算可知,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標準默認的IP地址分配機制為DAAM,具體組網(wǎng)步驟如下:
1)假設(shè)復(fù)雜網(wǎng)絡(luò)協(xié)調(diào)器設(shè)備IP地址為0;確定組網(wǎng)參數(shù):Cm、Rm和Lm,采用泛洪的方式通知整個監(jiān)控網(wǎng)絡(luò)。
2)復(fù)雜網(wǎng)絡(luò)設(shè)備通過對網(wǎng)絡(luò)鄰居表的查詢,找出未被標記的深度最小的潛在父節(jié)點(有多個時隨機選取)向其發(fā)送申請加入監(jiān)控網(wǎng)絡(luò)的信息,如果沒有收到答復(fù),則可以周期性地發(fā)送入網(wǎng)申請信息。
3)復(fù)雜網(wǎng)絡(luò)中IP地址為Aparene的網(wǎng)內(nèi)路由設(shè)備收到未入網(wǎng)的設(shè)備的入網(wǎng)請求后,作為父節(jié)點,根據(jù)申請設(shè)備類型以及申請入網(wǎng)的先后順序按照以下公式為申請入網(wǎng)的監(jiān)控設(shè)備分配IP地址
(11)
式中,d代表復(fù)雜網(wǎng)絡(luò)父節(jié)點的深度,等于父節(jié)點與網(wǎng)絡(luò)協(xié)調(diào)器之間的跳數(shù)Hp,d≤Lm-1;n代表子設(shè)備申請入網(wǎng)的順序,1≤n≤Rm;Cskip(d)代表復(fù)雜網(wǎng)絡(luò)中深度為d的路由設(shè)備在分配IP地址時的地址偏移量,計算表達式如下
(12)
4)當(dāng)監(jiān)控網(wǎng)絡(luò)中的潛在父節(jié)點收到設(shè)備入網(wǎng)申請后,沒有剩余的IP地址可以分配[7],則回復(fù)拒絕加入的信息,對拒絕加入的潛在父節(jié)點進行標記,然后跳轉(zhuǎn)回步驟(2)重新進行下一輪的入網(wǎng)申請。
傳統(tǒng)的DAAM方案是定制式的,即每一級都嚴格按照三個組網(wǎng)參數(shù)Cm、Rm和Lm的值對設(shè)備IP地址進行分配,對于處理復(fù)雜網(wǎng)絡(luò)動態(tài)網(wǎng)絡(luò)中設(shè)備IP地址的分配無能為力,只適用于靜態(tài)網(wǎng)絡(luò)。根據(jù)第1節(jié)分析可知,由于傳統(tǒng)的DAAM方案無法動態(tài)地平衡復(fù)雜網(wǎng)絡(luò)樹,所有的剩余IP地址(即網(wǎng)絡(luò)協(xié)調(diào)器未分配的IP地址)一直都未使用,造成了IP地址資源的浪費[8]。
已知復(fù)雜網(wǎng)絡(luò)的動態(tài)性有三個方面的體現(xiàn),分別與參數(shù)Cm、Rm和Lm相對應(yīng),即:
①復(fù)雜網(wǎng)絡(luò)局部范圍內(nèi)的路由設(shè)備接收的子路由設(shè)備已經(jīng)飽和,數(shù)量達到Rm,但是在該范圍內(nèi)還有需要接入網(wǎng)絡(luò)的子路由監(jiān)控設(shè)備;
②復(fù)雜網(wǎng)絡(luò)局部范圍內(nèi)的路由設(shè)備接收的子終端設(shè)備已經(jīng)飽和,數(shù)量達到了Cm-Rm,但是在該范圍內(nèi)仍然有未入網(wǎng)的子終端監(jiān)控設(shè)備;
③某個復(fù)雜網(wǎng)絡(luò)深度為Lm的設(shè)備,還需要接收子設(shè)備入網(wǎng),即監(jiān)控網(wǎng)絡(luò)中需要有深度更深的設(shè)備來擴大整體網(wǎng)絡(luò)的監(jiān)控覆蓋范圍[9]。
上述三種情況在傳統(tǒng)的DAAM方案中均會以失敗告終,研究提出一種IP地址動態(tài)分配方案,能夠有效解決上述存在的問題。
復(fù)雜網(wǎng)絡(luò)設(shè)備IP地址動態(tài)分配方案采用以下式(13)計算地址偏移量
(13)
式中,?x」代表不大于x的最大整數(shù);Rm(d)和Tm(d)分別表示監(jiān)控網(wǎng)絡(luò)中深度為d的路由設(shè)備所能接收的最大子路由設(shè)備數(shù)量和最大子終端設(shè)備數(shù)量。
根據(jù)上述公式可知,相對于傳統(tǒng)方法,所提方法移除了參數(shù)Lm,以實現(xiàn)復(fù)雜網(wǎng)絡(luò)深度的動態(tài)拓展。
在上述式(13)中除監(jiān)控網(wǎng)絡(luò)協(xié)調(diào)器外每層的地址偏移量以上一層的地址偏移量為基礎(chǔ)進行計算,網(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個,其中有3個保留的特殊IP地址0×0000、0×FFFF、0×FFFF,分別代表監(jiān)控網(wǎng)絡(luò)協(xié)調(diào)器IP地址、設(shè)備使用64位長IP地址通信;無效的短IP地址,是監(jiān)控設(shè)備沒有入網(wǎng)的標志。因此,可用于復(fù)雜網(wǎng)絡(luò)設(shè)備正常分配的IP地址有65533個,從中預(yù)留Tm(d)個IP地址給網(wǎng)絡(luò)終端設(shè)備,其余的分給Rm(d)個路由設(shè)備。如果65533-Tm(d)不能被Rm(d)整除,則利用余數(shù)來處理監(jiān)控網(wǎng)絡(luò)終端設(shè)備的入網(wǎng),其余各層的處理方式與網(wǎng)絡(luò)協(xié)調(diào)器同理。復(fù)雜網(wǎng)絡(luò)不同深度的設(shè)備IP地址余數(shù)計算公式如下
(14)
在傳統(tǒng)的DAAM方案中,處于復(fù)雜網(wǎng)絡(luò)邊緣的新增設(shè)備,通常無法動態(tài)入網(wǎng),這是由于邊緣設(shè)備往往已經(jīng)達到最大深度,而監(jiān)控網(wǎng)絡(luò)最大深度值一般設(shè)置較小(默認設(shè)置為5)。而所提方法中,移除了參數(shù)Lm來計算地址偏移量,解除了監(jiān)控網(wǎng)絡(luò)深度拓展的束縛,并且可以通過調(diào)整組網(wǎng)參數(shù)改變監(jiān)控網(wǎng)絡(luò)深度,具有深度動態(tài)可拓展性。
在上述計算的基礎(chǔ)上,引入借地址的策略,即動態(tài)IP地址均衡的基本原理,通過定義以下四種命令控制幀解決復(fù)雜網(wǎng)絡(luò)IP地址動態(tài)入網(wǎng)的問題。①強制入網(wǎng)申請命令;②強制入網(wǎng)應(yīng)答命令;③借址申請命令;④借址應(yīng)答命令。
實驗中將基于動態(tài)參數(shù)的分配方法(文獻[1]方法)、基于地址映射的分配方法(文獻[3]方法)與所提方法進行對比實驗,通過實驗測試對比復(fù)雜網(wǎng)絡(luò)設(shè)備兩種不同IP地址分配方案的分配效果、監(jiān)控網(wǎng)絡(luò)穩(wěn)定性和運算效率等方面的性能差異性。
采用Windows7平臺上的OPNET模擬軟件對兩種IP地址分配方案進行模擬。復(fù)雜網(wǎng)絡(luò)覆蓋面積為1000m×1000m,監(jiān)控網(wǎng)絡(luò)中路由設(shè)備的數(shù)量分別為1000,2000,3000,5000,8000個,設(shè)備密度范圍為350~20m2/個,設(shè)備在實驗區(qū)域內(nèi)隨機分布,網(wǎng)絡(luò)協(xié)調(diào)局位于實驗區(qū)域的中心位置,各個設(shè)備之間的通信距離為50m。監(jiān)控網(wǎng)絡(luò)組網(wǎng)初始化參數(shù)為:Cm=8,Rm=8,每個實驗進行20次,取平均值。實驗結(jié)果如圖1所示。
圖1 不同方法的監(jiān)控設(shè)備IP地址分配結(jié)果
圖1(a)為圓點表示需要進行復(fù)雜網(wǎng)絡(luò)的布控點,三角形表示進行基于動態(tài)參數(shù)的分配方法監(jiān)控設(shè)備IP地址分配結(jié)果,很多布控的點并沒有與黑色三角形點重合,說明部分監(jiān)控設(shè)備甚至沒有分配到IP地址。圖1(b)中的黑色小正方形表示基于地址映射的分配方法的監(jiān)控設(shè)備IP地址分配結(jié)果,從圖中可以看出,采用傳統(tǒng)方法進行監(jiān)控設(shè)備IP地址分配,存在重疊現(xiàn)象,即對同一空氣污染監(jiān)控設(shè)備分配了兩個或兩個以上IP地址,有的監(jiān)控設(shè)備甚至沒有分配到IP地址。圖1(c)中的菱形小黑點表示采用所提方法進行監(jiān)控設(shè)備IP地址分配結(jié)果,所提方法菱形小黑點與需要布控的點完全重合,說明采用所提方法實現(xiàn)了復(fù)雜網(wǎng)絡(luò)設(shè)備的IP地址分配,這是由于所提方法有效地利用了監(jiān)控網(wǎng)絡(luò)的剩余IP地址空間,不受組網(wǎng)參數(shù)Lm的限制,使得更多的設(shè)備能夠及時加入監(jiān)控網(wǎng)絡(luò)中,同時采用的借地址策略使得監(jiān)控設(shè)備分配到的IP地址更加均衡。
為了驗證所提方法的分配效率,以控制報文數(shù)量為測量指標,同樣的監(jiān)控設(shè)備,所需的控制報文數(shù)量越小,說明IP地址分配效率越高。實驗結(jié)果如圖2所示。
圖2 不同方法的控制報文開銷
圖2展示了傳統(tǒng)方法的控制報文在各類復(fù)雜網(wǎng)絡(luò)中均小于所提方法,同時實驗結(jié)果驗證了隨著監(jiān)控網(wǎng)絡(luò)中設(shè)備數(shù)量的增加,所提方法的優(yōu)勢顯著高于對比方案,這是由于采用傳統(tǒng)方法進行監(jiān)控設(shè)備IP地址分配時,當(dāng)監(jiān)控規(guī)模變大時,監(jiān)控網(wǎng)絡(luò)中無法分配到IP地址的設(shè)備數(shù)量迅速增加,造成了多次的設(shè)備IP地址入網(wǎng)申請,出現(xiàn)了控制報文開銷較大的問題,而所提方法受到的影響卻很小。
為了進一步驗證所提方法的設(shè)備IP地址分配平均耗時,進行如下實驗,實驗結(jié)果如圖3所示。
圖3 不同方案的設(shè)備IP地址分配平均耗時
如圖3所示傳統(tǒng)方法對復(fù)雜網(wǎng)絡(luò)設(shè)備進行IP地址分配的平均耗時整體上小于所提方法,這是由于傳統(tǒng)方法中對于空氣污染監(jiān)控網(wǎng)絡(luò)中無IP地址的設(shè)備會多次向鄰居設(shè)備申請IP地址,增加了IP地址分配延時,當(dāng)監(jiān)控網(wǎng)絡(luò)中的設(shè)備規(guī)模較小時,兩種方案的平均耗時沒有太大差別,而當(dāng)監(jiān)控網(wǎng)絡(luò)的規(guī)模變大時,所提方法顯示出優(yōu)越性。
研究對傳統(tǒng)的DAAM方案進行了細致分析,并對傳統(tǒng)方法應(yīng)對復(fù)雜網(wǎng)絡(luò)動態(tài)網(wǎng)絡(luò)三個方面存在的缺陷與不足進行了改進,提出了一種基于改進DAAM的IP地址動態(tài)分配方案。該方案提出了監(jiān)控網(wǎng)絡(luò)深度可調(diào)整的地址偏移計算方法和借地址機制。通過實驗證明了所提方案的有效性和優(yōu)越性。
但是所提方法并沒有考慮復(fù)雜網(wǎng)絡(luò)復(fù)雜情況下的設(shè)備IP地址借址策略的調(diào)整與適用性,下一步工作將以此為基礎(chǔ)進行開展。