• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      高效的iptables規(guī)則集管理機(jī)制的研究與實(shí)現(xiàn)

      2011-09-04 06:09:40王相林沈清姿
      關(guān)鍵詞:服務(wù)器端哈希IP地址

      王相林,沈清姿

      (杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院,浙江杭州310018)

      0 引言

      防火墻是目前網(wǎng)絡(luò)安全領(lǐng)域廣泛使用的設(shè)備,其主要目的就是限制非法流量,以保護(hù)內(nèi)部子網(wǎng)[1,2]。從防火墻部署位置來(lái)看,往往位于網(wǎng)絡(luò)出口,是內(nèi)部網(wǎng)和外部網(wǎng)之間的唯一通道,因此提高防火墻的性能、避免其成為瓶頸,就成為防火墻產(chǎn)品能否成功的一個(gè)關(guān)鍵問(wèn)題。本文由此提出了使用hash表對(duì)防火墻規(guī)則中IP地址的進(jìn)行高效管理,達(dá)到一條規(guī)則能匹配一個(gè)地址集或一個(gè)地址集用于多條規(guī)則,在進(jìn)行一次規(guī)則匹配的同時(shí),能映射多個(gè)IP地址提高數(shù)據(jù)包轉(zhuǎn)發(fā)效率,從而有效的提高防火墻的整體性能。

      1 Iptables數(shù)據(jù)包過(guò)濾機(jī)制

      Netfilter是Linux內(nèi)核中的一個(gè)框架,Iptables是由Netfilter項(xiàng)目開(kāi)發(fā)工作于網(wǎng)絡(luò)層的防火墻,主要面向的是用戶空間,是Linux的一部分。Netfilter本身并不對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾,它只是允許可以過(guò)濾數(shù)據(jù)包的函數(shù)掛接到內(nèi)核中適當(dāng)?shù)奈恢?,而iptables在它之上建立了防火墻功能并提供了全面的狀態(tài)連接跟蹤、數(shù)據(jù)包的應(yīng)用層檢查、速率限制和一個(gè)功能強(qiáng)大的過(guò)濾策略機(jī)制[3],其中強(qiáng)大的的過(guò)濾策略機(jī)制則是通過(guò)iptables中的規(guī)則實(shí)現(xiàn)的。Iptables主要通過(guò)Netfilter中的5個(gè)鉤子點(diǎn)進(jìn)行掛接,使用表進(jìn)行構(gòu)建塊,通過(guò)掛接Netfilter中的鉤子點(diǎn),要求數(shù)據(jù)包經(jīng)過(guò)指定的規(guī)則表以達(dá)到過(guò)濾的目的。Iptables中共有4張表:分別是filter表(過(guò)濾表)、nat表(網(wǎng)絡(luò)地址轉(zhuǎn)換表)、mangle表(數(shù)據(jù)報(bào)處理表)、raw表(連接跟蹤子系統(tǒng)表),每個(gè)表里又有自己的一組內(nèi)置鏈,用戶空間建立的規(guī)則就是通過(guò)內(nèi)置鏈實(shí)現(xiàn)的,只有當(dāng)數(shù)據(jù)包匹配了鏈中的某條規(guī)則,防火墻才會(huì)采用規(guī)則中的動(dòng)作對(duì)數(shù)據(jù)包處理,iptables數(shù)據(jù)包篩選體系如圖1所示。

      Iptables規(guī)則主要由一個(gè)Target(動(dòng)作)和0個(gè)或多個(gè)Match(匹配項(xiàng))組成。一旦某個(gè)數(shù)據(jù)包匹配了一條規(guī)則的所有Match,就用這條規(guī)則的Target來(lái)處理它,其中Match包括源/目的地址,進(jìn)/出網(wǎng)絡(luò)接口,協(xié)議等。

      圖1 iptables數(shù)據(jù)包篩選體系

      2 Iptables規(guī)則匹配算法與改進(jìn)

      Iptables主要通過(guò)內(nèi)置鏈中的規(guī)則對(duì)數(shù)據(jù)包進(jìn)行匹配,以達(dá)到阻止或記錄某些具有威脅的數(shù)據(jù)包進(jìn)入本機(jī)的目的,因此高效的匹配算法對(duì)于防火墻的性能會(huì)有極大地提高。通常,用于衡量一個(gè)算法性能的參數(shù)有主要有查找速度,存儲(chǔ)量,更新速度,是否支持多種類型的數(shù)據(jù),是否有靈活的查找機(jī)制等[4]。Iptables中的查找算法一般是線性查找,即一個(gè)數(shù)據(jù)包進(jìn)入iptables內(nèi)置規(guī)則鏈中,從規(guī)則的第一條開(kāi)始匹配,直到完全匹配到某一條規(guī)則后執(zhí)行規(guī)則中的Target。如果全部的規(guī)則都不匹配,則會(huì)執(zhí)行預(yù)先設(shè)定的Policy(默認(rèn))規(guī)則。

      順序查找和動(dòng)態(tài)查找均是建立在關(guān)鍵字比較基礎(chǔ)上,而且算法的查找效率依賴于查找過(guò)程中進(jìn)行比較的次數(shù)[5]。哈希查找算法則不同,它采用直接尋址技術(shù),在查找過(guò)程中,理想情況是不經(jīng)過(guò)任何比較,一次就能得到待查詢的地址,其查找的期望時(shí)間為O(1),所說(shuō)的哈希就是將記錄按照其關(guān)鍵字經(jīng)過(guò)哈希函數(shù)運(yùn)算后的哈希地址存儲(chǔ)到哈希表的過(guò)程[5]。該文將規(guī)則中大量無(wú)序的IP地址存儲(chǔ)在hash表中,并使用再哈希法來(lái)處理沖突,使得定義一條iptables規(guī)則,就能匹配大量的IP源或目的地址,從而能大大提高檢索效率。線性查找和hash表查找的時(shí)間復(fù)雜度比較如表1所示。

      表1 線性查找和hash表查找的時(shí)間復(fù)雜度

      由上述分析可知,對(duì)于無(wú)序而僅有源或目的地址不同的規(guī)則,數(shù)據(jù)包進(jìn)入后可能要重復(fù)的去匹配先前已經(jīng)匹配過(guò)的Match項(xiàng),所以該文將規(guī)則中的地址存儲(chǔ)在hash表中,使用iptables中set擴(kuò)展模塊調(diào)用使用,從而實(shí)現(xiàn)定義一條簡(jiǎn)單的iptables規(guī)則,就能匹配大量的IP地址,還能實(shí)現(xiàn)多條規(guī)則能公用一個(gè)IP地址集。相比一條規(guī)則一個(gè)地址來(lái)說(shuō),在大量規(guī)則下,防火墻性能可以得到極大提高。

      3 系統(tǒng)測(cè)試

      3.1 實(shí)驗(yàn)測(cè)試環(huán)境和測(cè)試命令

      客戶端:

      (1)操作系統(tǒng) Ubuntu桌面版,內(nèi)核版本為L(zhǎng)inux2.6.32-21-generic;

      (2)硬件平臺(tái) CPU AMD Athlon 2GHZ,1GB內(nèi)存,BCM5788網(wǎng)卡;

      (3)攻擊工具 netperf TCP發(fā)包工具客戶端。

      服務(wù)器端:

      (1)操作系統(tǒng) Ubuntu桌面版,內(nèi)核版本為L(zhǎng)inux2.6.34-debug-version;

      醫(yī)護(hù)工作區(qū)主要分為休息室、更衣室與護(hù)士站等,其中,休息室能夠?yàn)獒t(yī)護(hù)人員提供良好的休息環(huán)境,設(shè)計(jì)人員要保證休息室中的環(huán)境優(yōu)美,可以布置鮮花,并為醫(yī)護(hù)人員提供飲料,緩解醫(yī)護(hù)人員的緊張情緒,促進(jìn)醫(yī)護(hù)人員之間的有效溝通。更衣室則能夠保證醫(yī)護(hù)人員的生活氣息得到更好的體現(xiàn),設(shè)計(jì)人員需要在更衣室中合理設(shè)計(jì)衛(wèi)生間。在設(shè)計(jì)護(hù)士站的過(guò)程中,要保持護(hù)士站與候診室距離較近。

      (2)硬件平臺(tái) CPU Pentium4,768MB內(nèi)存,intel 82541GI網(wǎng)卡;

      (3)攻擊工具 netperf TCP發(fā)包工具服務(wù)器端。

      在兩臺(tái)主機(jī)上分別運(yùn)行netperf的客戶端和服務(wù)器端,其中服務(wù)器端配置iptables規(guī)則,客戶端發(fā)送連接請(qǐng)求。

      客戶端的命令為:

      ./netperf-t TCP_RR-H 192.168.150.256-l 60- - -r 32,32

      其中:TCP_RR是測(cè)試發(fā)生在同一個(gè)TCP連接中request和response的交易過(guò)程;

      -H指定遠(yuǎn)程主機(jī)的IP地址和名稱;

      -l指定本次測(cè)試時(shí)間,單位為s;

      3.2 試驗(yàn)測(cè)試結(jié)果及分析

      在客戶端進(jìn)行測(cè)試,規(guī)則數(shù)為5 000條時(shí)其中一次客戶端的測(cè)試數(shù)據(jù)如圖2所示,其中Trans表示單位時(shí)間發(fā)送TCP數(shù)據(jù)的交易量。

      圖2 netperf客戶端的測(cè)試數(shù)據(jù)

      服務(wù)器端開(kāi)啟防火墻,并向其中添加規(guī)則,本次實(shí)驗(yàn)中每條規(guī)則使用相同的Match選項(xiàng),腳本運(yùn)行后filter表中的規(guī)則如圖3所示。

      圖3 filter表中的規(guī)則

      使用hash表對(duì)IP地址進(jìn)行管理前后主機(jī)在單位時(shí)間內(nèi)數(shù)據(jù)報(bào)交易量的對(duì)比圖如表2所示。

      表2 對(duì)IP地址集中管理前后TCP數(shù)據(jù)報(bào)交易量對(duì)比

      因?yàn)槭軒捄碗娔X自身參數(shù)的影響,每次測(cè)量可能會(huì)存在一定的誤差,所以表2中為不同規(guī)則數(shù)的吞吐量是多次測(cè)量的平均值。由表2可以看出,iptables的TCP數(shù)據(jù)報(bào)的交易量在規(guī)則數(shù)達(dá)到2 500左右的時(shí)候急劇下降,在規(guī)則數(shù)到達(dá)10 000條的時(shí)候,iptables的單位時(shí)間內(nèi)數(shù)據(jù)報(bào)的交易量下降了80%左右,而對(duì)IP地址集中管理后,相同時(shí)間內(nèi),TCP數(shù)據(jù)報(bào)的發(fā)送量隨著規(guī)則的增多基本不發(fā)生變化,可見(jiàn),采用hash對(duì)無(wú)規(guī)則的IP地址進(jìn)行管理后,計(jì)算機(jī)的整體的性能得到了很大的提高。

      4 結(jié)束語(yǔ)

      該文針對(duì)Netfilter框架下iptables防火墻在大量無(wú)序規(guī)則性能急劇下降的情況提出了一種高效的規(guī)則管理機(jī)制,即通過(guò)hash表對(duì)IP地址進(jìn)行分類管理,向iptables中添加iphash_id()地址映射模塊,實(shí)現(xiàn)高效的規(guī)則匹配。從實(shí)驗(yàn)數(shù)據(jù)可以看出,改進(jìn)后iptables的性能基本不受規(guī)則數(shù)量大小的影響,基本呈現(xiàn)一條直線,具有很好的穩(wěn)定性。該文下一步研究工作是對(duì)其余的Match部分實(shí)現(xiàn)高效的匹配。

      [1] Zalenski R.Firewall technologies[J].Potentials IEEE,2002,21(1):24 -29.

      [2] Terry William Ogletree.防火墻原理與實(shí)施[M].北京:電子工業(yè)出版社,2001:5-7.

      [3] Michael Rash.Linux防火墻[M].北京:人民郵電出版社,2009:1-3.

      [4] Pankaj Gupta,Nick McKeown.Algorithms for Packet Classification[J].Network IEEE,2001,15(2):24 -32.

      [5] 彭波.數(shù)據(jù)結(jié)構(gòu)及算法[M].北京:機(jī)械工業(yè)出版社,2008:288-290.

      [6] 王相林.IPv6核心技術(shù)[M].北京:科學(xué)出版社,2009:100-200.

      猜你喜歡
      服務(wù)器端哈希IP地址
      鐵路遠(yuǎn)動(dòng)系統(tǒng)幾種組網(wǎng)方式IP地址的申請(qǐng)和設(shè)置
      淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
      成功(2018年10期)2018-03-26 02:56:14
      基于SNMP的IP地址管理系統(tǒng)開(kāi)發(fā)與應(yīng)用
      黑龍江電力(2017年1期)2017-05-17 04:25:16
      基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
      在Windows中安裝OpenVPN
      基于維度分解的哈希多維快速流分類算法
      基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
      一種基于Bigram二級(jí)哈希的中文索引結(jié)構(gòu)
      網(wǎng)頁(yè)防篡改中分布式文件同步復(fù)制系統(tǒng)
      通過(guò)QQ郵件查看好友IP地址
      旺苍县| 土默特右旗| 正安县| 洛隆县| 亚东县| 横峰县| 壶关县| 惠东县| 铁岭市| 从江县| 泰安市| 铜川市| 女性| 尚志市| 翁源县| 荣昌县| 聂荣县| 固原市| 水城县| 开鲁县| 镇赉县| 崇左市| 肇庆市| 新津县| 麻江县| 浮梁县| 崇义县| 武夷山市| 民县| 永济市| 定州市| 唐山市| 临西县| 澄城县| 姜堰市| 家居| 乌鲁木齐县| 施秉县| 吉木萨尔县| 云霄县| 长垣县|