李 琴,張 帥
(濰坊工程職業(yè)學(xué)院 信息工程系,山東 青州 262500)
近年來,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)逐漸增強(qiáng),網(wǎng)絡(luò)中所有數(shù)據(jù)包和服務(wù)器的連接方式呈現(xiàn)出多樣化特征,網(wǎng)絡(luò)惡意攻擊導(dǎo)致數(shù)據(jù)泄露問題已經(jīng)成為網(wǎng)絡(luò)安全中存在的重要隱患[1]。當(dāng)前,經(jīng)常出現(xiàn)的網(wǎng)絡(luò)惡意攻擊方法有很多種,例如:網(wǎng)絡(luò)數(shù)據(jù)受木馬、病毒干擾,防火墻遭受黑客攻擊等現(xiàn)象,這些方法在通常情況下都會(huì)針對(duì)網(wǎng)絡(luò)安全漏洞來進(jìn)行攻擊。近幾年來,Clos網(wǎng)絡(luò)呈爆炸式增長(zhǎng),導(dǎo)致數(shù)據(jù)在傳輸?shù)倪^程中很容易發(fā)生擁堵的情況,如何針對(duì)Clos網(wǎng)絡(luò)分布式數(shù)據(jù)進(jìn)行調(diào)度[2-3]已成為當(dāng)前研究的熱點(diǎn)話題。但目前的網(wǎng)絡(luò)調(diào)度過程中,普遍存在調(diào)度完成總時(shí)間較長(zhǎng)、能量消耗較大、平均帶寬利用率較低等問題。如何合理調(diào)度Clos網(wǎng)絡(luò)已成為當(dāng)今社會(huì)亟待解決的問題[4-5]。
文獻(xiàn)[6]提出了一種基于MVB網(wǎng)絡(luò)數(shù)據(jù)分布式調(diào)度優(yōu)化方法,該方法將網(wǎng)絡(luò)中最小負(fù)載作為目標(biāo)組建分布式調(diào)度模型,同時(shí)采用免疫遺傳算法對(duì)模型進(jìn)行求解,具有較快的收斂速度,但是耗時(shí)較長(zhǎng)。文獻(xiàn)[7]提出了一種基于Storm網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)分布式調(diào)度方法,該方法結(jié)合網(wǎng)絡(luò)數(shù)據(jù)通信過程中存在的優(yōu)勢(shì)以及熱邊概念,有效降低網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)臄?shù)量,提升Storm集群的性能,快速實(shí)現(xiàn)網(wǎng)絡(luò)分布式調(diào)度。該方法調(diào)度完成總時(shí)間較短,但是在數(shù)據(jù)調(diào)度過程中消耗了大量的能量。文獻(xiàn)[8]提出了一種基于加權(quán)最小連接數(shù)的分布式調(diào)度方法,通過網(wǎng)絡(luò)服務(wù)端中最小的連接數(shù)負(fù)載因子獲取網(wǎng)絡(luò)中不同服務(wù)器之間的最好的方案,并且選取最小的服務(wù)器進(jìn)行連接,以實(shí)現(xiàn)網(wǎng)絡(luò)分布式調(diào)度。該方法穩(wěn)定性較好,但是也存在耗時(shí)較長(zhǎng)的問題。
針對(duì)上述方法存在的問題,提出一種基于貓群優(yōu)化算法的Clos網(wǎng)絡(luò)分布式調(diào)度方法。實(shí)驗(yàn)結(jié)果表明,本文方法調(diào)度完成總時(shí)間較短、能量消耗較小、平均帶寬利用率較高。
引用分布式網(wǎng)絡(luò)攻擊檢測(cè)算法來求出Clos網(wǎng)絡(luò)中數(shù)據(jù)包的信任值,并通過對(duì)閾值的設(shè)定,構(gòu)建Clos網(wǎng)絡(luò)抵抗泄露模型,當(dāng)Clos網(wǎng)絡(luò)數(shù)據(jù)包信任值低于所設(shè)定的閾值時(shí),則受到惡意攻擊,具體過程如下。
假設(shè)在Clos網(wǎng)絡(luò)系統(tǒng)中植入n個(gè)惡意病毒,并且使每個(gè)病毒都帶有自己獨(dú)特的特征,當(dāng)病毒集合為N={p1,p2,…,pn}時(shí),所有病毒自己特征所對(duì)應(yīng)的特征集合為p={x1,x2,…,xn},Clos網(wǎng)絡(luò)系統(tǒng)中數(shù)據(jù)包集合為Ω={σ1,σ2,…,σn},這時(shí)每個(gè)Clos網(wǎng)絡(luò)中數(shù)據(jù)包都有自己所對(duì)應(yīng)的信任值,如公式(1)所示。
(1)
式中,C(σi)表示Clos網(wǎng)絡(luò)中數(shù)據(jù)包的初始容量大小,C(σi)′表示該網(wǎng)絡(luò)中數(shù)據(jù)包在產(chǎn)生一定改變之后的容量大小。
在Clos網(wǎng)絡(luò)系統(tǒng)中,所有數(shù)據(jù)包和它所對(duì)應(yīng)的IP地址都是一個(gè)隨機(jī)變量,在遭受到惡意因素(病毒、木馬)進(jìn)行攻擊時(shí),這些惡意因素也將會(huì)隨機(jī)選擇網(wǎng)絡(luò)數(shù)據(jù)包和它所對(duì)應(yīng)的IP地址來進(jìn)行選擇性攻擊,在這個(gè)過程中,這個(gè)惡意因素也是一個(gè)隨機(jī)變量,并且每個(gè)變量之間都是相互獨(dú)立存在的,針對(duì)這個(gè)問題,引入概率密度函數(shù)(公式(2))來體現(xiàn)病毒的分布情況。
(2)
假設(shè)Clos網(wǎng)絡(luò)中含有xi個(gè)特征的惡意攻擊病毒pi從IP地址為ipj的服務(wù)器進(jìn)入,被入侵的Clos網(wǎng)絡(luò)數(shù)據(jù)包為σj,這時(shí)就會(huì)對(duì)ipt服務(wù)器進(jìn)行攻擊。利用公式(3)給出惡意攻擊病毒pi攻擊Clos網(wǎng)絡(luò)數(shù)據(jù)包σj之后,Clos網(wǎng)絡(luò)數(shù)據(jù)包信任值的變化情況。
(3)
式中,(ipt-ipj)表示Clos網(wǎng)絡(luò)IP地址的二進(jìn)制差值,對(duì)Clos網(wǎng)絡(luò)系統(tǒng)中數(shù)據(jù)包的信任值進(jìn)行閾值T(ω)設(shè)定,當(dāng)Clos網(wǎng)絡(luò)數(shù)據(jù)包的信任值小于T(ω)時(shí),Clos網(wǎng)絡(luò)數(shù)據(jù)包受到病毒的惡意攻擊,將會(huì)導(dǎo)致Clos網(wǎng)絡(luò)數(shù)據(jù)泄露,利用公式(3)可以對(duì)Clos網(wǎng)絡(luò)攻擊的病毒進(jìn)行追擊,以此來查找出IP地址。
為了使后期的Clos網(wǎng)絡(luò)數(shù)據(jù)包信任值能夠通過Clos網(wǎng)絡(luò)系統(tǒng)確定出危險(xiǎn)等級(jí),這時(shí)就需要對(duì)惡意攻擊的危險(xiǎn)等級(jí)進(jìn)行評(píng)估,當(dāng)病毒惡意攻擊危險(xiǎn)等級(jí)越大時(shí),病毒攻擊的危險(xiǎn)性就越大,Clos網(wǎng)絡(luò)數(shù)據(jù)泄露的可能性就越大,結(jié)合Clos網(wǎng)絡(luò)系統(tǒng)中病毒惡意攻擊的危險(xiǎn)等級(jí),組建基于抵抗泄露攻擊的Clos網(wǎng)絡(luò)分布式調(diào)度模型。
Li=F(ipj)F(xi)F(ωj)
(4)
式中,F(ipj)表示Clos網(wǎng)絡(luò)中服務(wù)器IP地址為ipj的危險(xiǎn)度函數(shù),F(xi)表示Clos網(wǎng)絡(luò)系統(tǒng)中含有xi個(gè)特征病毒的危險(xiǎn)度函數(shù),F(ωj)表示Clos網(wǎng)絡(luò)數(shù)據(jù)包信任值ωj的危險(xiǎn)度函數(shù)。
以1.1節(jié)構(gòu)建的Clos網(wǎng)絡(luò)抵抗泄露模型為依據(jù),結(jié)合最短實(shí)踐以及最優(yōu)數(shù)據(jù)流負(fù)載因素,組建貓群算法[9]適應(yīng)度函數(shù),獲取Clos網(wǎng)絡(luò)分布式最優(yōu)調(diào)度方案。
貓群算法是一種模擬貓的日常全部生活狀態(tài)的一種優(yōu)化算法,主要利用搜索以及跟蹤獲取最優(yōu)解。其基本操作流程如下。
(1)將貓群進(jìn)行初始化處理;
(2)通過分組率將貓群隨機(jī)劃分為跟蹤以及搜尋2種不同的形式;
(3)根據(jù)貓的規(guī)定值對(duì)它所追蹤的對(duì)應(yīng)算子重新進(jìn)行位置更新;
(4)分別計(jì)算每只貓的適應(yīng)度,同時(shí)保留適應(yīng)度最優(yōu)的貓;
(5)假設(shè)滿足約束條件,則終止算法;否則返回步驟(1)。
跟蹤模式是模擬貓?zhí)幱诟櫊顟B(tài)下組建的模型,在該模型下,通過改變各個(gè)貓的維度進(jìn)行位置更新,其中更新模式主要通過以下2個(gè)步驟實(shí)現(xiàn)。
(1)速度更新
每只貓都有自己當(dāng)前的速度,將其記為:
Vi={Vi1,Vi2,…,Vit}
(5)
每只貓主要通過公式(6)進(jìn)行速度更新,將Xbest(t)作為當(dāng)前貓群里經(jīng)歷的最優(yōu)位置,即適應(yīng)度最好的貓。
(6)
其中,d代表“貓?jiān)赿維處的位置”,c代表“調(diào)節(jié)參數(shù)”,rand代表“(0,1)的隨機(jī)數(shù)”。
(2)位置更新
每只貓通過公式(7)進(jìn)行位置更新:
(7)
搜尋模式主要是模擬貓?jiān)谒阉饕约皩ふ蚁乱粋€(gè)地點(diǎn)所組建的模型。在該種狀態(tài)下,每只貓通過適應(yīng)度取值的大小在記憶池中選取最佳位置,具體的操作步驟如下。
(1)將自身位置進(jìn)行復(fù)制;
(2)執(zhí)行變異算子;
(3)計(jì)算記憶池中各個(gè)貓的適應(yīng)度,同時(shí)采用適應(yīng)度取值最高的貓代替當(dāng)前的貓[10],實(shí)現(xiàn)位置更新。
采用貓群算法進(jìn)行模型求解的具體過程如下。
(1)將參數(shù)進(jìn)行初始化;
(2)將貓群進(jìn)行初始化處理,隨機(jī)得到不同的初始解;
(3)計(jì)算每只貓的適應(yīng)度,其中適應(yīng)度函數(shù)表示為:
F=∑xijdij
(8)
其中,xij代表“城市i到城市j的訪問次數(shù)”,dij代表“城市i到城市j的距離”;
(4)將所有貓隨機(jī)分布到搜尋模式組以及跟蹤模式組;
(5)確定出所有貓的模式組,判斷每只貓所處的模式,同時(shí)對(duì)各組內(nèi)貓的個(gè)體執(zhí)行對(duì)應(yīng)的模式算子,分別計(jì)算每只貓的適應(yīng)度,且更新全局最優(yōu)貓;
(6)當(dāng)更新完所有貓之后,如果沒有達(dá)到最大迭代次數(shù),則返回至步驟(4)重新計(jì)算,直到滿足最大迭代次數(shù)后結(jié)束進(jìn)化;
(7)獲取最優(yōu)Clos網(wǎng)絡(luò)分布式調(diào)度方案。
為了驗(yàn)證基于貓群算法的Clos網(wǎng)絡(luò)分布式調(diào)度方法的綜合有效性,需要進(jìn)行實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)操作系統(tǒng)為Windows8,內(nèi)存為64 G,將本文方法與基于MVB網(wǎng)絡(luò)數(shù)據(jù)分布式調(diào)度優(yōu)化方法(方法1)和基于Storm網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)分布式調(diào)度方法(方法2)進(jìn)行對(duì)比實(shí)驗(yàn)。
(1)調(diào)度完成總時(shí)間/s
調(diào)度完成總時(shí)間越長(zhǎng),說明任務(wù)調(diào)度越慢;反之,則說明任務(wù)調(diào)度速度越快。表1詳細(xì)給出了3種不同方法的調(diào)度完成總時(shí)間對(duì)比結(jié)果。
表1 3種方法調(diào)度完成總時(shí)間變化情況Tab. 1 Changes in scheduling completion total time of 3 different methods
分析表1數(shù)據(jù)可知,隨著測(cè)試樣本數(shù)量的增加,3種方法的調(diào)度完成總時(shí)間均隨之增加。與方法1及方法2相比,本文方法的調(diào)度完成總時(shí)間增加速度明顯慢一些,說明本文方法能夠在較短的時(shí)間內(nèi)實(shí)現(xiàn)任務(wù)調(diào)度。
(2)平均帶寬利用率/%
平均帶寬利用率α為Clos網(wǎng)絡(luò)系統(tǒng)中每條網(wǎng)絡(luò)數(shù)據(jù)實(shí)際獲得的帶寬和指定帶寬之比值的平均值,主要表示Clos網(wǎng)絡(luò)數(shù)據(jù)的均衡程度,α的取值越高,說明網(wǎng)絡(luò)負(fù)載越均衡,具體計(jì)算式為:
(9)
其中,rrf代表“網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量”,arf代表“節(jié)點(diǎn)移動(dòng)利率”。
圖1為3種方法的平均帶寬利用率對(duì)比結(jié)果。
圖1 不同方法平均帶寬利用率對(duì)比Fig. 1 Comparison of average bandwidth utilization of different methods
由圖1可知,當(dāng)數(shù)據(jù)流量負(fù)荷持續(xù)增加時(shí),3種方法的平均帶寬利用率均呈現(xiàn)下降趨勢(shì)。其中本文方法充分考慮到Clos網(wǎng)絡(luò)中全部路徑數(shù)據(jù)負(fù)載情況之后進(jìn)行選擇,有效降低了網(wǎng)絡(luò)出現(xiàn)擁堵的概率,帶寬利用率明顯得到有效改善;方法1針對(duì)網(wǎng)絡(luò)中占有率最高的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行調(diào)度,在實(shí)際操作過程中忽視了對(duì)網(wǎng)絡(luò)服務(wù)質(zhì)量的需求,所以導(dǎo)致帶寬利用率下降。方法2采用網(wǎng)絡(luò)數(shù)據(jù)調(diào)度策略導(dǎo)致其發(fā)生數(shù)據(jù)的概率較大,促使帶寬利用率明顯偏低。3種方法中,本文方法的帶寬利用率明顯更高一些,說明本文方法具有更好的調(diào)度性能。
(3)調(diào)度能量消耗/J
對(duì)比3種方法的調(diào)度能量消耗,實(shí)驗(yàn)結(jié)果如表2所示。
由表2可知,不同調(diào)度方法的能量消耗均會(huì)隨著測(cè)試樣本數(shù)量的增加而增加。本文方法的調(diào)度能量消耗明顯更低一些,這說明本文方法的綜合性能相比另外2種方法有了很大程度的提升,同時(shí)也充分驗(yàn)證了本文方法的優(yōu)越性。
表2 3種方法調(diào)度能量消耗變化情況Tab. 2 Changes in scheduling energy consumption of 3 different methods
針對(duì)傳統(tǒng)的Clos網(wǎng)絡(luò)分布式調(diào)度方法中存在的各種不足,提出基于貓群優(yōu)化算法的Clos網(wǎng)絡(luò)分布式調(diào)度方法。利用該方法進(jìn)行網(wǎng)絡(luò)分布式調(diào)度可以節(jié)省調(diào)度時(shí)間,降低能量消耗,優(yōu)于其他傳統(tǒng)方法,具有一定的適用性。