張海剛
摘要:防火墻是網(wǎng)絡(luò)安全管理當(dāng)中最常使用的設(shè)備,承擔(dān)著關(guān)鍵的數(shù)據(jù)流量的過濾功能。但目前隨著網(wǎng)絡(luò)數(shù)據(jù)流量的日益增加,單臺防火墻的性能已經(jīng)無法跟上網(wǎng)絡(luò)規(guī)模的發(fā)展速度了,因此大多數(shù)數(shù)據(jù)傳輸樞紐單位均已采用了集群防火墻設(shè)備來提供更充分的數(shù)據(jù)篩選和保護(hù)功能。通過將多臺防火墻設(shè)備聯(lián)立來分?jǐn)倲?shù)據(jù)過濾的任務(wù),從而加快對大規(guī)模數(shù)據(jù)包的處理效率,提高用戶的體驗度。在集群防火墻技術(shù)中,對系統(tǒng)處理性能影響最大的環(huán)節(jié)就是負(fù)載均衡策略的選定與執(zhí)行。該文針對這一領(lǐng)域展開研究,提出一種基于哈希函數(shù)的負(fù)載均衡優(yōu)化算法,并通過仿真評估驗證了該算法的有效性,具有一定的實用價值。
關(guān)鍵詞:集群防火墻;負(fù)載均衡;哈希函數(shù)
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)34-0070-02
集群防火墻統(tǒng)合了多臺設(shè)備資源并實現(xiàn)了對數(shù)據(jù)過濾任務(wù)的合理分配,將原先由單臺防火墻處理的數(shù)據(jù)包分散到多臺設(shè)備中并行處理,極大地提高了防火墻的工作性能,同時也明顯地降低了防護(hù)墻的處理時延,對網(wǎng)絡(luò)用戶的體驗度產(chǎn)生了很好的促進(jìn)影響;另一方面,從穩(wěn)定性方面考慮,由于采用了多臺設(shè)備,因此防火墻系統(tǒng)的可靠性也得到了顯著的提高,即使由于種種原因?qū)е履撑_設(shè)備出現(xiàn)故障,也可通過及時的任務(wù)調(diào)配機制,將原本由該設(shè)備處理的數(shù)據(jù)包轉(zhuǎn)移到其他設(shè)備中去,從而保障了數(shù)據(jù)處理工作的正常運行。目前,集群防火墻的研究重點落在了對負(fù)載均衡策略的優(yōu)化方面,通過引入更有效的優(yōu)化算法,來提高在多臺設(shè)備間分?jǐn)倲?shù)據(jù)包的效率。本文首先介紹了群防火墻的組成原理,對各個部件進(jìn)行了分析,在此基礎(chǔ)上結(jié)合哈希函數(shù)設(shè)計了一款自適應(yīng)負(fù)載均衡算法,提高了數(shù)據(jù)包分配的有效性與合理性,并實現(xiàn)了通過識別連接來確定由某一確定節(jié)點來負(fù)責(zé)該連接所有數(shù)據(jù)包的處理,保障了數(shù)據(jù)處理的連貫性和可靠性。
1 集群防火墻的基本結(jié)構(gòu)
根據(jù)功能劃分模式,可將集群防火墻系統(tǒng)分為三個部件,分別為負(fù)載均衡子系統(tǒng)、容錯防火墻子系統(tǒng)和在線監(jiān)控子系統(tǒng),其中容錯防火墻系統(tǒng)還可細(xì)分為多臺子系統(tǒng)。
如上圖所示,集群設(shè)備從網(wǎng)絡(luò)中接到待處理的數(shù)據(jù)分組后,第一個環(huán)節(jié)就是在負(fù)載均衡子系統(tǒng)中利用負(fù)載均衡算法進(jìn)行任務(wù)分配,該環(huán)節(jié)能否有效的實現(xiàn)數(shù)據(jù)包處理任務(wù)的合理分配,直接影響到了集群防火墻系統(tǒng)的整體性能;在完成分配之后,數(shù)據(jù)包流向了其對應(yīng)的處理系統(tǒng),即容錯子系統(tǒng),在該系統(tǒng)中進(jìn)行分析和過濾;在線監(jiān)控子系統(tǒng)則負(fù)責(zé)對各個節(jié)點進(jìn)行監(jiān)測與管理,如規(guī)則集的維護(hù)與調(diào)整,對某設(shè)備的故障予以記錄和報警等。由以上幾個部件的介紹可以看出,對負(fù)載均衡算法進(jìn)行改進(jìn),可以有效地提高數(shù)據(jù)包分配效率,從而增強集群防火墻系統(tǒng)的工作性能。
2 負(fù)載均衡優(yōu)化算法設(shè)計
2.1 算法流程設(shè)計
集群防火墻設(shè)備介于外網(wǎng)和內(nèi)網(wǎng)之間,系統(tǒng)中的每個節(jié)點設(shè)備都應(yīng)該能夠正常接收外部數(shù)據(jù)包的訪問請求。而在這些訪問請求的數(shù)據(jù)包中,包含了諸多與發(fā)送方和接收方相關(guān)的重要信息,本算法摘取其中的源\目的IP、源\目的端口和協(xié)議號這五個字段作為算法的輸入?yún)?shù),并代入哈希函數(shù)進(jìn)行運算,得到關(guān)于該集群的哈希值,接著對系統(tǒng)內(nèi)的所有節(jié)點設(shè)備進(jìn)行加權(quán)統(tǒng)計,將集群哈希值加權(quán)均分到每個節(jié)點,從而使每個節(jié)點都能得到一個權(quán)值區(qū)間,并以此作為是否接受數(shù)據(jù)包的判定依據(jù)。
當(dāng)某節(jié)點設(shè)備收到一數(shù)據(jù)包后,根據(jù)其首部當(dāng)中的地址端口等信息計算出該數(shù)據(jù)包的哈希值,并判斷計算出的結(jié)果是否落在本節(jié)點設(shè)備擁有的權(quán)值區(qū)間內(nèi),如果是的話則接受該數(shù)據(jù)包進(jìn)行下一步的處理,并向系統(tǒng)匯報接受情況,集群系統(tǒng)在維護(hù)表中記錄這一接受情況,并在下一輪分配時,優(yōu)先將同IP地址的數(shù)據(jù)包分配給同一個節(jié)點,提高數(shù)據(jù)處理的連貫性;如果不是則丟棄該數(shù)據(jù)包。
2.2 哈希算法設(shè)計
由算法流程可以看出,本優(yōu)化策略最核心的內(nèi)容就是利用哈希函數(shù)得到相關(guān)的哈希值,并以其為依據(jù)設(shè)定不同節(jié)點的權(quán)值,因此哈希算法的優(yōu)劣與否決定著整個優(yōu)化策略的性能和效率。本文從算法的簡單性、易維護(hù)性、可靠性和低耗性等多方面考慮,設(shè)計了本系統(tǒng)的哈希算法:
設(shè)防火墻集群為[F=F0,F(xiàn)1,F(xiàn)2,…,F(xiàn)n-1],[P(Fi)]表示第i臺設(shè)備[Fi]的權(quán)值,即集群防火墻系統(tǒng)的權(quán)值,[i=0n-1P(Fi)]為取模參數(shù),則有:
1) 基于權(quán)值的源/目的地址哈希算法結(jié)果
[H(?)=(S1⊕S2⊕S3⊕S4⊕D1⊕D2⊕D3⊕D4)]mod[i=0n-1P(Fi)]
其中,[Si]和[Di]分別是源、目的IP的第i個8位字節(jié)。該算法先將[Si]和[Di]執(zhí)行XOR運算,并將[i=0n-1P(Fi)]作為取模參數(shù),并以此求得哈希值。
2) 根據(jù)第i個防火墻的處理能力對[H(?)]的值映射到對應(yīng)的節(jié)點設(shè)備,表1給出了相關(guān)的映射表示例。其中,[k∈(0,n-1)]。表中的[P(Fi)]反映了第i臺設(shè)備在本周期內(nèi)的處理性能,該值可根據(jù)應(yīng)用場合的不同而靈活的設(shè)置修改周期。一般而言,只有當(dāng)集群內(nèi)設(shè)備配置更新、替換、增加或移除時才需要調(diào)整該值,調(diào)整與維護(hù)工作可由在線監(jiān)控系統(tǒng)中的監(jiān)控器負(fù)責(zé)。
3 算法性能評估
3.1 評估模型
由于在實用環(huán)境中遇到的干擾因素過多,且關(guān)聯(lián)復(fù)雜,無法明確的評價算法的有效性,因此在本評估模型中,去除了監(jiān)控子系統(tǒng)和容錯子系統(tǒng),僅保留負(fù)載均衡子系統(tǒng),這種簡化后的評估模型可以較為有效的評測負(fù)載均衡算法的優(yōu)化程度;另一方面,對模擬的集群防火墻使用環(huán)境也做了一定的理想化設(shè)定,如不考慮數(shù)據(jù)包在處理過程中的容錯性問題,評價算法是否有效的依據(jù)就是該系統(tǒng)是否能夠?qū)⒕W(wǎng)絡(luò)流量按照預(yù)定義的比例進(jìn)行合理的分配,經(jīng)過簡化后的系統(tǒng)模型如圖2所示。
現(xiàn)假設(shè)在本系統(tǒng)中存在N個節(jié)點設(shè)備,其實際處理性能分別為[μ1],[μ2,…μN],用[Gi(Δt)]表示第i臺節(jié)點設(shè)備在[Δt]時間內(nèi)的負(fù)載量。在所有節(jié)點設(shè)備均以最高效率運轉(zhuǎn)的情況下,負(fù)載均衡系統(tǒng)也應(yīng)當(dāng)以近似于零時延的速度進(jìn)行數(shù)據(jù)包的分配,此時在吞吐能力方面,負(fù)載均衡子系統(tǒng)就相當(dāng)于處理能力為[μi]的一個處理單元,根據(jù)這一推理,得出在理想狀態(tài)下,負(fù)載均衡系統(tǒng)需滿足的條件為:[Gi(Δt)Gj(Δt)=μiμj],意味著[Δt]時間段內(nèi)某節(jié)點處理的數(shù)據(jù)包數(shù)量就是該節(jié)點接收到的數(shù)據(jù)報數(shù)量總和。當(dāng)然,在在實際運行中,由于運行環(huán)境中出現(xiàn)的隨機干擾因素,以及數(shù)據(jù)流量本身存在突發(fā)性等特點,且集群防火墻中的節(jié)點設(shè)備可能性能存在差異,很難對其作出精確的性能評價,這些不穩(wěn)定因素都會對算法的運行質(zhì)量帶來負(fù)面影響。
3.2 性能分析
根據(jù)上文中提出的設(shè)計方案構(gòu)建防火墻集群并加以測試,在本次測試中,分別采用單臺、2臺和4臺節(jié)點設(shè)備分別構(gòu)成防火墻系統(tǒng),并通過不同規(guī)模的數(shù)據(jù)流量進(jìn)行防火墻處理性能的評估,選定的評估指標(biāo)為系統(tǒng)平均延遲和吞吐量。圖3則給出了單臺設(shè)備、兩臺設(shè)備和四臺設(shè)備的情況下系統(tǒng)的數(shù)據(jù)吞吐量變化曲線。
測試結(jié)果表明在平均時延方面,單臺設(shè)備與多臺設(shè)備表現(xiàn)差異不大,究其原因,在于多臺設(shè)備形成集群系統(tǒng)后,彼此間的數(shù)據(jù)采集、調(diào)控與流量分配耗用了較多的處理時延,且隨著系統(tǒng)規(guī)模的擴(kuò)大,設(shè)備數(shù)量的增加,這一時延也會相應(yīng)提升,因此,若想要進(jìn)一步提高集群防火墻系統(tǒng)的整體性能,則應(yīng)當(dāng)盡量減少系統(tǒng)內(nèi)無用或低效率節(jié)點;從吞吐量測試數(shù)據(jù)看,集群設(shè)備與單臺設(shè)備比較,單向數(shù)據(jù)流的吞吐量性能大約提高了65%左右,效果明顯。綜合以上結(jié)果可以看出,集群安全與邊界設(shè)備的啟用,對解決大規(guī)模數(shù)據(jù)過濾,保護(hù)內(nèi)網(wǎng)數(shù)據(jù)安全而言是非常有效的。
4 結(jié)論
集群防火墻系統(tǒng)目前已經(jīng)廣泛地應(yīng)用在了各種數(shù)據(jù)通信領(lǐng)域,本文提出的基于哈希函數(shù)的負(fù)載均衡算法能夠較好地反映出集群系統(tǒng)內(nèi)各個節(jié)點設(shè)備的工作性能,并根據(jù)加權(quán)分配的方式進(jìn)行任務(wù)的合理分配,將多臺設(shè)備真正有機地結(jié)合到了一起,實現(xiàn)了資源的統(tǒng)合利用,同時壓縮了防火墻系統(tǒng)的處理時延,盡可能的保障了網(wǎng)絡(luò)數(shù)據(jù)的通暢傳輸,提高了用戶的體驗度。相信隨著信息科技人工智能領(lǐng)域的不斷發(fā)展,會有越來越多的新型算法被應(yīng)用到集群防火墻優(yōu)化領(lǐng)域,進(jìn)一步提高防火墻的工作性能,為數(shù)據(jù)通信提供更優(yōu)質(zhì)的保障服務(wù)。
參考文獻(xiàn):
[1] Goddard S, Kieckhafer R, Zhang Yuping. An Unavailability Analysis of Firewall Sandwich Configurations[C]//Proc. of the 6th IEEE International Symposium on High Assurance Systems Engineering. Boca Raton,USA:[s.n.],2009:139-148.
[2] 馬維晏,李忠誠.基于流的網(wǎng)絡(luò)流量特征分析[J].小型微型計算機系統(tǒng),2013,9(10):54-58.
[3] Horvath M R, Fulp E W, Wheeler P S. Policy Distribution Methods for Function Parallel Firewalls[C]//Proc. of the 17th IEEE International Conference on Computer Communications and Networks. Virgin Islands,USA,2009:620-625.
[4] Schroeder T,Goddard S, Ramamurthy B. Scalable Web Server Clustering Technologies[J].IEEE Network,2015(05/06):38-45.
[5] 王春娟,董麗麗,賈麗.Web集群系統(tǒng)的負(fù)載均衡算法[J].計算機工程,2014,36(2):102-104.