《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 基于網絡微處理器包過濾硬件防火墻的研究

基于網絡微處理器包過濾硬件防火墻的研究

2009-06-18
作者:胡成偉

  摘 要:網絡處理器NP(Network Processor)對數據包接收、處理和發送的角度,討論在NP架構下多微引擎、多線程并行處理網絡數據包,實現基于包過濾方式防火墻的原理。
  關鍵詞:網絡微處理器;防火墻;包過濾;微引擎;并行處理

?

  防火墻是當今計算機網絡安全的主要設備之一。隨著網絡數據量的增大、速度的增高,軟件防火墻已不能勝任,硬件防火墻成為大流量、高品質防火墻產品的首選。硬件防火墻的實現方案有采用網絡處理器ASIC技術實現芯片級防火墻和采用網絡處理器NP(Net Processor)技術實現微處理芯片防火墻兩種。對兩種方案進行比較,ASIC處理速度快,數據吞吐量大,但開發難度大,開發周期長,很難適應快速變化的網絡環境而升級換代;NP技術實現方案靈活,也較ASIC開發難度小,開發周期短,可以根據情況快速升級。NP技術是適合我國國情的硬件防火墻產品的實現方案,是目前我國硬件防火墻產品主要采用的技術[1]
  防火墻可根據其處理數據的層次分為:包過濾防火墻、狀態檢測防火墻、代理服務器防火墻和核處理防火墻。對于要求高速處理的硬件防火墻(處理能力大于2.5 Gb/s),無法完成代理服務防火墻功能和核處理防火墻功能?;诎^濾功能硬件防火墻是高速防火墻能采用的基本實現策略。以下將就NP實現包過濾的方法進行研究。
1 IXP2400網絡處理器
  NP是專門為處理網絡數據包而設計的可編程處理器,它能夠并行、高速完成網絡數據處理。IXP2400是INTEL公司的第二代NP產品,它采用多內核并行結構,由1個XScale Core作為核心處理器,以及8個32位獨立可編程、支持多線程的微引擎(MicroEngine)構成。NP的體系結構可分為兩個層面:控制層面和數據層面。
  控制層面由XScale Core處理,它的主要任務是完成對整個NP各部件的初始化,運行操作系統,完成復雜而非實時運算??刂茖用嬉话惆惭b的操作系統是:VxWorks或LINUX等。由于控制層面是構建在一個強大的XScale Core之上,其開發與一般的嵌入式系統開發相類似。
  數據層面主要負責對數據包的收發和實時數據處理,由微引擎來完成。微引擎是32位的采用RISC技術實現的微型MCU,對它的編程與傳統嵌入式系統開發不同,由INTEL提供的MicroC和MicroASM支持。微引擎和XScale Core在工作時關系如圖1所示。

?


2?包過濾的規則
  包過濾是基于一系列規則對進出防火墻的數據包進行過濾。規則其實是一個“if conditions then action”的判斷,一組規則構成一個規則表(如表1)。當IP數據包通過這個規則表的檢查后,允許通過的IP包就轉發,禁止通過的IP包就被攔截下來,其結果如表2所示 。對于一個小型的網絡,其規則一般有幾百個,對于一個中型的ISP服務網絡,其規則一般有數千個,對于一個大型的網絡其規則一般超過2萬個。在進行包過濾時,最重要的就是進行規則的匹配。如何快速查找匹配規則,減少存儲器容量成為包過濾算法的研究重點,參考文獻[2]中詳細地討論了一些包過濾算法。

?

?


  本文主要是討論NP在整個過程中各部分的工作,為敘述簡單將不涉及復雜的規則查找,采用線性搜索,即從上到下對規則表進行查找,在制定規則表時,優先級高的規則將被安排在表的前面。
3 基于NP的包過濾
  IP數據包過濾處理由IXP2400中的微引擎完成。微引擎是一個個獨立的MCU,有自己的寄存器、存儲器,執行各自的指令序列,互不干擾,而且每個微引擎支持8個硬件線程。在數據包處理的過程中,IXP2400的8個微引擎可以采用串行流水線方式(如圖2)工作,或以并行處理方式(如圖3)工作。在參考文獻[3]中指出并發處理比串行流水線處理的效率要高25%。

?


  在串行流水線工作方式中,每一個微引擎(ME)完成的工作不同,當一個微引擎完成其工作后,將數據包交給下一個微引擎繼續后續工作,所以每一個微引擎執行的代碼不同。在并發處理方式中,每一個微引擎完成的任務相同,每一個微引擎所執行的代碼相同。本文在安排微引擎時,包的接收采用ME0,當它處理完后將結果交給ME1~ME6,這6個微引擎并發對數據包進行規則匹配,匹配結束后將包交由ME7完成發送任務。整個包過濾處理結構既有串行方式,又有并發方式,這是因為在整個處理過程中,進行規則匹配所需的時間和運算都比接收和發送的要多,將更多的處理能力部署在這一環節,可以消除整個系統處理的瓶頸。
3.1 接收處理的實現
  MSF(Media Switch Fabric Interface)是IXP2400連接網絡的接口。它具有8 KB的RBUF(接收緩沖)和8 KB的TBUF(發送緩沖)。當外部以太網幀(Packet C)進入MSF時,MSF將數據幀分割成若干個大小為64B(或128/256 B)的mpacket,mpacket存放在RBUF中,每一個mpacket占據RBUF的一條目。當RBUF中有有效條目時,MSF將發出一個RBUF有效信號。在MSF中,有一個RX_THREAD_FREELIST數據結構,該結構登記了用于處理接收任務的空閑線程。本文將ME0中空閑線程登記在這里,并按順序排列成接收線程鏈。當一個空閑線程接收到一個RBUF有效信號的觸發時,便會進入忙狀態,進行一次mpacket的接收循環;當循環結束后,這個線程將重新回到空閑狀態,并重新鏈入RX_THREAD_FREELIST。各線程在接收mpacket時,以無限循環方式進行,一次循環中完成如下工作:
 ?。?)檢查mpacket是否SOP(Packet C進入MSF時,被分割成多個mpacket,其中第一mpacket就是SOP)或EOP(Packet C中最后一個mpacket);
 ?。?)如果是SOP,線程將在DRAM中開辟一個新Buffer,并將mpacket拷貝至其間,如果不是SOP則緊接著前面拷貝的內容進行拷貝。這樣可以將一個被分割的包重新組合起來;
 ?。?)如果是EOP,意味著Packet C的結束,在拷貝完此mpacket后,線程將在SRAM中的接收隊列中將此Packet C的包句柄(PC)插入到隊列的尾部。接收過程如圖4所示。


  每個線程一次循環只處理一個mpacket,如果一個包分成幾個mpacket,則由幾次這樣的循環完成接收。由于每個IXP2400的微引擎都有8個硬件支持的線程,在接收包處理時,可以出現多個線程并發接收多個mpacket,這樣效率當然會很高,但同樣也可能打亂Packet C的重組。為避免這種情況的發生,各線程的工作次序是嚴格規定的。各空閑線程在RX_THREAD_FREELIST登記時,就按順序登記,線程1在最前,線程8在最后。當第一個觸發到來時,則觸發線程1,線程1在處理時,若再接收到觸發時,線程2接收觸發,如此類推,當線程1處理完后,它跟在線程8后面,如此形成一個閉合的線程處理鏈。在將數據從RBUF拷貝至DRAM的過程中,線程要經過一個對線程序號敏感的微處理塊,以保證多線程在拷貝過程中是按順序進行的。
3.2 規則匹配處理的實現
  本文所涉及的規則表中規則數目較少,搜索匹配規則的方法也相應簡單,采用的是線性搜索方法。處理的流程如圖5所示。


  如前所述,采用ME1~ME6共6個微引擎同時對數據包進行包過濾,每個微引擎有8個線程,所以可用于包過濾的線程有6×8=48個,每個線程都采用無限循環方式。當接收隊列中有有效元素,便發出處理信號。在線程池中,處在等待狀態的某一線程便會從SRAM中的接收隊列取出頭元素。接著,線程根據所取得元素中的包句柄從DRAM中將幀首部讀進來,然后判斷是否是一個有效的以太網幀。如果不是,則丟棄包,并返回等待狀態。如果是有效幀,則從DRAM中讀出IP首部,對在SRAM中的規則進行匹配。包過濾規則由XScale Core在SRAM 中建立一個規則表,并可根據實際情況對表進行增加和刪除。線程從SRAM中將一條規則讀進來,進行匹配運算。若匹配,則根據規則中允許/禁止進行后續工作;若允許,則將把DRAM中對應的包的句柄作為新的元素插入SRAM中的發送隊列中;若禁止,則釋放DRAM中對應的包空間,并返回線程的等待狀態。若不匹配,則從SRAM中讀入下一條規則,重復以上工作,直到最后一條;如果仍找不到匹配規則,則將接下來的工作交給XSale Core完成。
  每個包過濾線程完成一個包的過濾,從接收隊列中將包句柄一一取出,處理完后,再在發送隊列中將其插入到隊列的尾部。但可能因為有些包處理得快,有些包處理得慢,使原來的接收順序因為處理速度的不同而打亂。為了使發送隊列句柄的順序保持與接收隊列一致,采用了阻塞式順序包算法(Blocking Packet-ordering Athorithm)[4]。
3.3 發送處理的實現
  發送任務由ME7來完成,ME7有8個線程,每個線程完成如下工作:(1)線程發現發送隊列中的有效包句柄則從SRAM的發送隊列中將隊列頭元素取下來;(2)計算每個mpacket在包中的位置,把包從DRAM中以mpacket大小拷貝到TBUF中,其中TBUF是MSF中的發送緩沖區;(3)寫入TBUF的單元控制字,表明TBUF包含有效數據;(4)當MSF收到EOP標志的mpacket時,表明該包結束,此后該包將交由外部的MAC設備傳輸。其過程如圖6所示。

?


  一個發送線程一次循環只負責一個mpacket的操作,周而復始。如同接收線程那樣,發送線程排好隊,如流水線般將發送隊列中的元素對應的包,分解為mpacket單元,并逐個按順序搬運到TBUF緩沖區。
  在上述包過濾規則匹配時,微引擎會多次訪問DRAM,以及在SRAM中進行搜索。當規則表中有較多規則時,查找規則的算法會變得相當復雜,將嚴重影響防火墻的處理速度。要使防火墻能快速地完成包過濾功能,可采用2個層次的手段:其一,改進查找算法,比如使用基于狀態的動態包過濾算法;其二,充分應用NP內部的并行處理架構,安排好各微引擎工作內容,協調好微引擎內各線程的工作,使NP能高效并行地運行。

參考文獻
[1] 宋斌,程勇,劉科全.NP架構千兆線速防火墻的體系結構與關鍵技術,信息安全與通信保密,2004(8):22-25.
[2]?PANKAJ G,KEOWN M.Algorithms for packet classification.New York:IEEE,March/April 2001:24-32.
[3]?DEEPA S,FANG,Wu Chang. Performance analysis of multi-dimensional packet classification on programmable network processors. New York: IEEE,Proceeding of the 29th Annual IEEE International Coference on Local Computer Networks (LCN’04).
[4]?ERIK J.J,Aaron R K. IXP2400/2800 Programming.INTEL PRESS.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲欧美日韩网| 亚洲一区二区在线播放| 久久精品国产精品亚洲综合| 国产精品私房写真福利视频| 亚洲精品在线一区二区| 一本色道久久88精品综合| 正在播放亚洲一区| 亚洲视频播放| 欧美私人啪啪vps| 国产日本欧洲亚洲| 欧美国产一区在线| 国产日本欧洲亚洲| 亚洲国产成人在线播放| 国产精品欧美精品| 狠狠做深爱婷婷久久综合一区| 久久视频在线视频| 国产一区二区主播在线| 国产精品素人视频| 欧美韩日精品| 国产九九视频一区二区三区| 99国产一区二区三精品乱码| 欧美va亚洲va香蕉在线| 久久国产乱子精品免费女| 国产色产综合色产在线视频| 午夜精彩视频在线观看不卡| 欧美高清在线一区二区| 99精品国产一区二区青青牛奶| 亚洲图片欧洲图片日韩av| 一本大道久久a久久精二百| 欧美日韩亚洲一区二区三区四区| 免费在线国产精品| 一本色道88久久加勒比精品| 性欧美在线看片a免费观看| 欧美成人免费在线| 美女日韩在线中文字幕| 国产亚洲a∨片在线观看| 国产精品天美传媒入口| 国产在线精品成人一区二区三区| 国产一区二区三区日韩| 亚洲欧洲一二三| 欧美区视频在线观看| 欧美精品二区| 久久精品色图| 亚洲日本电影| 欧美在线影院| 久久成人免费日本黄色| 蜜臀91精品一区二区三区| 欧美日韩亚洲视频| 久久综合九九| 国产精品99久久久久久人| 国产精品美女一区二区在线观看| 欧美激情免费在线| 欧美国产日本高清在线| 黄色精品一二区| 欧美日本亚洲| 亚洲人成久久| 黑人巨大精品欧美黑白配亚洲| 老司机免费视频一区二区| 韩国免费一区| 欧美绝品在线观看成人午夜影视| 国产精品丝袜白浆摸在线| 99精品视频网| 国产亚洲精品久久久| 国产精品卡一卡二卡三| 一区二区在线观看av| 这里只有精品在线播放| 国产亚洲福利社区一区| 亚洲在线观看视频| 在线免费观看欧美| 中文亚洲字幕| 国产视频一区免费看| 午夜视频一区| 国产精品久久久久9999高清| 国产精品久久久久久久浪潮网站| 日韩一级免费观看| 国产综合一区二区| 一区二区三区波多野结衣在线观看| 香蕉久久夜色精品国产| 裸体丰满少妇做受久久99精品| 国产精品日韩欧美大师| 国产色综合久久| 日韩亚洲欧美成人一区| 亚洲免费观看高清完整版在线观看熊| 国产亚洲午夜| 亚洲欧美一区二区精品久久久| 国产精品视频99| 亚洲精品一区二区三区99| 另类酷文…触手系列精品集v1小说| 美女日韩欧美| 在线日韩av片| 久热这里只精品99re8久| 亚洲乱码一区二区| 日韩一级免费观看| 一区二区毛片| 99精品久久免费看蜜臀剧情介绍| 国产九区一区在线| 国产女人水真多18毛片18精品视频| 亚洲夫妻自拍| 久久亚洲综合色一区二区三区| 久久在线播放| 日韩一区二区精品葵司在线| 国产日韩av一区二区| 黄色成人在线观看| 美女视频黄 久久| 国产精品日日摸夜夜添夜夜av| 国产一区二区在线观看免费| 国产午夜精品美女视频明星a级| 欧美日本亚洲| 亚洲调教视频在线观看| 中文亚洲视频在线| 中国成人黄色视屏| 国产一区二区成人| 国产一区二区三区免费不卡| 亚洲精品一区二区网址| 一区二区三区不卡视频在线观看| 久久久久国产成人精品亚洲午夜| 久久国产精品一区二区三区| 欧美极品一区| 性欧美大战久久久久久久免费观看| 欧美亚州在线观看| 亚洲黄色影院| 亚洲老司机av| 亚洲毛片网站| 欧美久久影院| 亚洲在线观看视频| 亚洲性图久久| 欧美一区二视频在线免费观看| 久久国产精品久久久久久电车| 欧美高清视频免费观看| 午夜精品福利在线| 亚洲午夜电影在线观看| 国产精品豆花视频| 亚洲欧美日韩一区二区三区在线| 午夜精品国产精品大乳美女| 久久成人资源| 亚洲第一综合天堂另类专| 欧美中文字幕视频在线观看| 国产午夜精品一区二区三区欧美| 久久国产手机看片| 国产精品一区2区| 欧美日韩亚洲高清一区二区| 欧美黄色片免费观看| 久久亚洲一区二区三区四区| 欧美成人一区在线| 伊人成人网在线看| 国产欧美亚洲日本| 欧美成人一区二区三区片免费| 欧美日韩不卡视频| 农夫在线精品视频免费观看| 欧美成年人网站| 亚洲欧美日韩精品一区二区| 久久久久久久久久久成人| 欧美精品一卡| 国产精品免费看久久久香蕉| 国产精品美女午夜av| 久久国产精品久久久久久| 国产精品视频内| 亚洲一区二区三区在线观看视频| 久久色在线观看| 国产精品久久久久久久午夜片| 麻豆免费精品视频| 亚洲午夜国产成人av电影男同| 亚洲国产精品一区二区第四页av| 宅男噜噜噜66一区二区| 欧美日韩一区自拍| 欧美一进一出视频| 国内伊人久久久久久网站视频| 亚洲一区二区三区四区五区黄| 国产日韩欧美在线观看| 悠悠资源网亚洲青| 99v久久综合狠狠综合久久| 国产欧美一区二区三区在线老狼| 欧美日本不卡高清| 欧美精品一区二区三区在线播放| 欧美黑人一区二区三区| 欧美色视频日本高清在线观看| 欧美黄在线观看| 美女主播精品视频一二三四| 国产欧美日韩综合一区在线播放| 久久精品99无色码中文字幕| 久久久久国产一区二区| 亚洲一二三区视频在线观看| 欧美一区二区日韩| 揄拍成人国产精品视频| 99精品99久久久久久宅男| 国产欧美日韩麻豆91| 在线免费观看一区二区三区| 国产欧美一区二区在线观看| 在线观看国产精品网站| 日韩亚洲一区二区| 日韩视频一区二区三区在线播放| 欧美日韩欧美一区二区| 亚洲人被黑人高潮完整版| 久久综合伊人77777蜜臀| 国产精品毛片高清在线完整版| 久久久久久有精品国产| 国产午夜精品福利| 欧美日韩hd| 99热在这里有精品免费| 欧美日韩免费在线观看| 国产精品成人免费精品自在线观看| 亚洲国产精品视频一区| 在线午夜精品自拍| 国产精品手机视频| 亚洲综合视频1区| 久热精品视频在线观看一区| 亚洲欧洲在线播放| 欧美午夜电影完整版| 亚洲高清资源综合久久精品| 极品尤物av久久免费看| 国产综合网站| 亚洲美女在线看| 精品成人久久| 欧美日韩精品免费在线观看视频| 亚洲男人的天堂在线| 国内成人精品视频| 亚洲欧美中文另类| 亚洲国产成人久久综合| 久久大香伊蕉在人线观看热2| 国产主播一区二区三区四区| 免费观看一区| 国产精品一区二区三区久久久| 欧美激情乱人伦| 久久av资源网站| 狠狠色综合色综合网络| 欧美a级大片| 美女91精品| 亚洲级视频在线观看免费1级| 亚洲伊人观看| 在线欧美日韩国产| 在线电影国产精品| 国产欧美一区二区在线观看| 亚洲日本中文| 国产精品视频不卡| 欧美午夜精品久久久久久超碰| 国产综合久久| 精品88久久久久88久久久| 亚洲激情图片小说视频| 亚洲欧美另类中文字幕| 国产一区二区三区精品久久久| 久久久久久**毛片大全| 免费久久久一本精品久久区| 亚洲精品久久视频| 国产精品入口夜色视频大尺度| 国产在线精品一区二区夜色| 亚洲视频在线观看视频| 久久久噜噜噜久久| 久久人人爽人人爽爽久久| 国产精品yjizz| 亚洲精品国产日韩| 欧美女人交a| 亚洲电影观看| 在线不卡亚洲| 亚洲线精品一区二区三区八戒| 久久资源在线| 欧美一级精品大片| 久久久噜噜噜久久久| 国产一二精品视频| 国产婷婷色一区二区三区四区| 欧美亚洲一区二区在线| 国产午夜精品久久久久久免费视| 欧美视频在线一区二区三区| 国产一区二区精品久久99| 亚洲国产精品第一区二区三区| 亚洲精品久久久一区二区三区| 久久国产乱子精品免费女| 快播亚洲色图| 欧美成人精品在线| 好吊妞这里只有精品| 欧美色图首页| 亚洲一区二区精品在线| 可以免费看不卡的av网站| 国产在线一区二区三区四区| 久久亚洲私人国产精品va媚药| 亚洲直播在线一区| 国产精品色一区二区三区| 亚洲人成在线播放| 香蕉久久夜色精品国产使用方法| 国产精品系列在线播放| 欧美精品在线免费| 国产欧美日韩视频一区二区| 一道本一区二区| 亚洲高清在线观看| 一本在线高清不卡dvd| 亚洲综合99| 麻豆精品精品国产自在97香蕉| 欧美激情精品久久久六区热门| 欧美亚洲动漫精品| 国产精品揄拍500视频| 国产日韩一级二级三级| 欧美成人午夜影院| 国产欧美一区视频| 欧美美女喷水视频| 亚洲激情黄色| 欧美在线3区| 久久综合导航| 亚洲欧美区自拍先锋| 精品99一区二区三区| 欧美成人亚洲成人| 欧美日韩一区二区三区免费| 久久成人av少妇免费| 国模大胆一区二区三区| 红桃视频国产精品| 亚洲自拍都市欧美小说| 欧美日韩国产影院| 男人的天堂亚洲| 亚洲电影第1页| 久久国产精品久久久久久久久久| 亚洲日本黄色| 欧美日韩综合视频| 91久久夜色精品国产九色| 欧美激情第五页| 老司机午夜免费精品视频| 狠狠色综合日日| 亚洲国产欧美在线人成| 亚洲欧美日韩直播| 性欧美暴力猛交69hd| 国产亚洲一区二区三区在线观看| 久久高清福利视频| 亚洲伊人一本大道中文字幕| 欧美激情一区二区三区在线视频| 久久亚洲春色中文字幕| 9国产精品视频| 亚洲新中文字幕| 欧美国产先锋| 亚洲国产欧美精品| 国产婷婷一区二区| 国产精品久久久久av免费|