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