雖然Linux2.4內(nèi)核中的防火墻是在IP層實現(xiàn)的,但它沒有對2.4的內(nèi)核網(wǎng)絡結(jié)構造成破壞,因為Netfilter結(jié)構把防火墻對數(shù)據(jù)包的處理過程引入IP層,防火墻的代碼與實現(xiàn)IP層的代碼完全分離,使得防火墻與網(wǎng)絡層在結(jié)構上很清晰;對防火墻的修改和功能擴充更加容易。
[摘要] 隨著網(wǎng)絡的不斷發(fā)展,互聯(lián)網(wǎng)已成為世界上規(guī)模最大、擁有用戶數(shù)最多、數(shù)據(jù)資源最為豐富的一個超大型計算機網(wǎng)絡。互聯(lián)網(wǎng)的商業(yè)化發(fā)展也為人們提供著各種各樣的服務,隨著寬帶業(yè)務進入人們的日常生活,人們對網(wǎng)絡的要求也越來越高,要求它能為人們提供更加安全、可靠、快速和多樣化的服務。數(shù)據(jù)包分類技術也是現(xiàn)在網(wǎng)絡多樣化服務的基礎,并且成為防火墻、路由器等一些網(wǎng)絡核心設備中最為關鍵的技術,它對網(wǎng)絡的控制、性能和安全會產(chǎn)生直接的影響。因此,會對高性能數(shù)據(jù)包分類算法的研究仍然是一個非常重要的課題。
[關鍵詞] Linux 防火墻 RFC算法
一、Linux防火墻的內(nèi)核機制
Linux內(nèi)核從2.4版本開始設計實現(xiàn)了Netfilter框架,該框架使得網(wǎng)絡協(xié)議代碼和防火墻之間有了比較清晰的界限。Linux2.4內(nèi)核防火墻的底層結(jié)構是Netfilter結(jié)構,位于Linux網(wǎng)絡層和防火墻內(nèi)核功能模塊之間。
每一種協(xié)議都可以設定自己的防火墻。在Linux內(nèi)核中是由firewall-Ps結(jié)構體定義的。firewall-ops可以為各種協(xié)議的防火墻提供統(tǒng)一的接口,每個協(xié)議可以對應多級防火墻,每個防火墻有各自的優(yōu)先級,按照從高到低的優(yōu)先級順序可以將firewall-ps連接到Linux內(nèi)核與防火墻接口的鏈表。當數(shù)據(jù)包經(jīng)過IP層進行處理時,對相應的鉤子函數(shù)鏈表中是否存在注冊的HOOK函數(shù)進行檢查,如果存在,各級防火墻會順著其鏈表一一進行處理。
二、 RFC算法的查找過程
RFC算法被分為P個階段 (Phase),每一個階段是由可并行查找的散列表組成。每次查找結(jié)果的返回值都比內(nèi)存數(shù)據(jù)索引值要小。操作如下:在第一個階段 (Phase 0),將包頭中F個字段分成許多個塊,每個塊被用來作為并行查找的索引。例如有七個相等的塊(chunk),一個數(shù)據(jù)包的字段在內(nèi)存中是怎樣被劃分的。每次查表的輸出值被稱為eqcID。其中存儲 eqcID所需的比特數(shù)比索引值的比特數(shù)要小,即需要較少的bit。下一個階段,每次用于查找散列映射表的索引值是由前幾個階段的查找結(jié)果按某種方式合并而成,并放入內(nèi)存中。在最后階段,所得到的結(jié)果就是與數(shù)據(jù)包相匹配的最佳規(guī)則標識符classID。
RFC算法是個通用性強、速度快的多維數(shù)據(jù)包分類算法,對規(guī)則的寬度和維數(shù)有較好的擴展性;在進行分類查找時,查找性能不受規(guī)則數(shù)量和規(guī)則特征的影響。
處于同一階段 (Phase)的預處理表或索引交叉乘積表可以被并行地索引,并且這些表又是各自獨立的。處于不同階段的預處理表或索引交叉乘積表也能夠互不干擾地并行進行索引。
算法的存儲空間消耗會隨規(guī)則集中規(guī)則數(shù)量的增加而增大,限制了算法的應用范圍。由于索引交叉乘積表的長度等于各預處理表中等價類(eqID)數(shù)量的乘積,所以預處理表和索引交叉乘積表中eqID的數(shù)量與規(guī)則庫的規(guī)則成正比,其中IPT表中總是存在著相同的eqID連續(xù)重復存儲的問題。我們從表IPTI中可以看出,前8項中都存放了相同的eqID值。如果相同的元素過多會造成內(nèi)存中存在大量的冗余信息。雖然在預處理表中也有這樣的問題,但它所占空間非常小,如果想解決RFC算占用內(nèi)存過大的問題,可以從減少索引交叉乘積表中連續(xù)相同元素的重復存儲這方面進行研究。
三、 L1nox防火墻測試步驟
在生成防火墻的規(guī)則集和測試數(shù)據(jù)包之后,對RFC算法和CRFC算法在Linux防火墻進行功能測試,具體測試步驟如下:
(l)利用上面提到的規(guī)則集生成模塊生成的過濾規(guī)則集,并將其導入到Linux防火墻中。
(2)利用數(shù)據(jù)包生成模塊向Linux防火墻發(fā)送測試數(shù)據(jù)包,Linux防火墻收到數(shù)據(jù)包后對數(shù)據(jù)包進行處理,并且獲取處理結(jié)果。
(3)對Linux防火墻測試數(shù)據(jù)包的處理結(jié)果被存儲在了計時模塊和存儲計數(shù)模塊中,方便后面對處理結(jié)果進行詳細的分析。
(4)用RFC算法、CRFC算法替換防火墻中原有的線性搜索算法,重復上面的三步,用相同的方式進行測試,并記錄測試結(jié)果。
(5)最后對計時模塊和存儲計數(shù)模塊中記錄的數(shù)據(jù)進行比較分析,證實改進后防火墻的正確性。
[參考文獻]
[1]M.Smith,R.Hunt.Network security using NAT and NAPT.Networks 2002.10th IEEE International Conference on Augest 2002:355-360
[2] David Lee, Dong luo Chen, Rui bing Hao, Raymond E.Miller Jianping Wu,Xia Yin.Network Protocol System Monitoring- A Formal Approach with passive Testing.IEEE/ACM Transaetions on Networking,Vol.14, NO.2 April 2006.
閱讀范文:電子期刊論文征稿BBS教學反思
【摘 要】:隨著資訊信息技術突破性的發(fā)展,網(wǎng)絡教育中的教學品質(zhì)與學習效果有了明顯的提升。BBS作為資訊信息技術中的重要組成部分,將其融入教學活動中,可以提高學習者高層次的認知發(fā)展。它比較適合于綜合性的與跨學科的內(nèi)容。
【關鍵詞】:BBS 信息技術 教學
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >