《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于IXP2400的安全網關實現研究
基于IXP2400的安全網關實現研究
文成玉, 任德浩, 文 展
摘要: 討論了在IXP2400上應用IPSec實現安全網關的一種方案,可為通過的業務流提供較強的安全性。
Abstract:
Key words :

  摘  要: 討論了在IXP2400上應用IPSec實現安全網關的一種方案,可為通過的業務流提供較強的安全性。
關鍵詞: 網絡處理器; IXP2400; 微引擎; IPSec

 

  IPSec是一種基于IP層的通信安全機制,是目前唯一一種可為任何形式的通信提供安全保障的協議,因而實現具有IPSec功能的網關能保證IP層通信的安全。然而,用IPSec對數據包進行認證、加/解密處理等,都是比較耗費資源的工作,容易使具有IPSec功能的網關設備出現瓶頸問題;同時,基于ASIC研發具有這類復雜功能的新產品更為困難。因此,傳統的網絡解決方案已在處理速度和靈活性兩方面受到挑戰。具有通用CPU的靈活性和ASIC芯片的執行速度的可編程網絡處理器的出現,為IPSec機制在線速網關設備的應用提供了新途徑。
本文介紹了Intel的IXP2400網絡處理器的特點、結構以及IPSec體系結構,討論了在IXP2400中以IPSec實現安全網關的一種方案。
1 IXP2400的體系結構
  網絡處理器(Network Processor)是一種面向包結構處理的專用器件。IXP2400是Intel公司第二代高性能網絡處理器之一,是在第一代網絡處理器的基礎上,實現了高性能的并行處理結構,從而能夠實現復雜的算法、深入查看包內容、進行流量管理及以線速(2.4 Gb/s)轉發包等;并首次采用Intel的超任務流水線技術,允許將1個包處理任務分解為多個易于銜接的、有序的子任務,并確保微引擎間通信的低時延。在體系結構上,具有以下特點:
(1)多處理單元結構,各單元獨立運行,并以硬件實現多線程技術,線程間無任何需切換開銷。
(2)以軟件流水線的形式分派任務到各處理單元,各處理單元可并行操作。
(3)ALU采用優化過的指令,專用于數據包處理,1條指令能在1個時鐘周期內完成。
(4)具有一些完成特殊功能的硬件單元,如CRC校驗、Hash計算、甚至加/解密運算單元,用于加速專用處理。
IXP2400的體系結構如圖1所示。

 

  其主要功能部件如下[1]
(1)XScale:32位的RISC高性能通用處理器,用于初始化、管理整個芯片,同時能執行高層網絡處理任務,如復雜的算法處理、路由表維護等。
(2)Microengine(MEv2):8個相互獨立的32 bit可編程微引擎,是處理數據的主要場所,各微引擎間用寄存器通信。每個微引擎主要包括:1個存放該微引擎運行程序的控制存儲器、8個硬件支持的線程、數據通路和控制狀態寄存器、1個ALU及1個CRC單元等。
(3)存儲器控制器:用于控制訪問片外RAM,包括SRAM、DRAM。SRAM主要用于存儲各種控制信息,如路由表等;DRAM主要用作數據處理的緩沖區。
(4)Scratch:片內的16 KB通用存儲器,存放各種經常需快速查找的數據。
(5)Hash:能對48 bit、64 bit或128 bit的數據作Hash運算,并生成索引。
此外,IXP2400中還采用了一些如硬件隊列等技術來提高ALU的處理速度。
2 IPSec的工作原理
  IPSec的安全服務是通過在IP層對所有數據流使用密碼和安全協議聯合實現的,能保證應用程序通信的安全性。它能應用于防火墻和路由器等網關設備,對上層應用是透明的。
IPSec利用2種通信安全協議[2]:認證頭(AH)和封裝安全載荷(ESP)。還有用于密鑰交換和管理的Internet密鑰交換協議(IKE)[2]和相應的認證/加密算法等協議組件。AH和ESP既可用于保護一個完整的IP包,也可以用來保護IP包中的上層數據。此外,還可以組合使用,實現不同的安全保護級別。AH和ESP使用2種工作模式[3]:傳輸模式和隧道模式。
由于IPSec體系設計與算法無關,因而可以為不同的通信對等體選擇不同的安全算法。為維護這些動態存在的安全策略,在實現IPSec時,需要定義相應的安全策略數據庫(SPD),其中的每1條記錄就是1條安全策略。
為正確處理具有IPSec功能的IP包,IPSec通信對等體需要將經協商一致后所采用的安全協議、工作模式、加密/認證算法、密鑰等信息與所建立的鏈路結合起來,才能為不同的數據流提供不同的安全保護。其實現方法就是在IPSec通信對等體間建立安全關聯(SA)。SA是通信對等體之間為進行安全通信而協商的一種約定。SA可由1個三元組唯一標識,表示為<安全參數索引(SPI),目的IP,安全協議標識>。
為維護所有活動的SA參數,在實現IPSec時,需要定義相應的SA數據庫(SAD)。IKE的主要功能就是在IPSec通信對等體間動態進行通信參數協商[4],并提供經認證的密鑰信息,從而建立起SA,對其進行維護和管理。
3 IPSec在IXP2400中的實現
3.1 程序設計
  網絡應用程序中,網絡信息的處理通常包含在以下2個邏輯層面中[5]
(1)數據層面:負責高速處理、轉發數據包。因所有要處理的數據包都必須通過該層面,故其性能直接影響到整個程序的性能。
(2)控制層面:主要處理協議信息,并負責創建、配置及更新各種表和數據集,供數據層面查找使用。如處理含路由信息的RIP、OSPF包,然后更新IPv4轉發表,供數據層面使用。
網絡處理器就是完成這2個層面的功能。
在IXP2400中,將數據層面分為快速通道和慢速通道。快速通道主要由各微引擎構成,完成絕大多數包的正常處理,如IP包轉發等;慢速通道主要由XScale構成,處理少數需復雜處理的包,如異常包、包分段等??紤]到處理速度的要求,在快速通道中通常將處理任務以軟件流水線形式分配到多個微引擎中實現,每個微引擎以編程方式實現所指定的任務。當一個微引擎完成其任務后,將包傳到下一微引擎繼續處理,直至完成整個任務。每個微引擎的流水線又可由若干流水線級構成,這些流水線級是順序執行的。由于每個微引擎有8個線程并發(甚至有數個微引擎的線程在并行)執行相同任務,因而要按序正確處理數據包,就必須考慮各線程訪問臨界區代碼的同步問題。為保證指令盡可能少,以達到線速要求,一種處理方法就是:在一個微引擎中讓各線程順序執行,并且每個線程順序執行所有流水線級。如某個流水線級的功能對所處理的包并不要求,則在執行到該流水線級時必須進入等待,當線程下一次獲得運行時再執行下一流水線級;如有數個微引擎在并行執行同一任務,則必須考慮微引擎間的執行順序??梢?,將少數包要求的復雜處理任務交給XScale,能有效減少微引擎不必要的等待時間,加快數據的處理速度。
對于控制層面,因所要處理信息復雜、廣泛,涉及的指令范圍廣,數據層面中的快速通道是難以處理的,因而應放在XScale中實現[5]
通常,將快速通道處理任務按邏輯劃分為若干功能塊,在可編程的微引擎中,每一塊實現稱為一個微功能塊(microblock)。而將運行在XScale中的微功能塊對應的慢速通道處理部分稱為核心組件(Core Component),完成相應微功能塊的配置、初試化及維護共享數據結構,并處理微功能塊發送的異常包或信息。此外,各種路由協議也運行在XScale中,處理各種協議信息。這樣實現了數據層面和控制層面的分離,兩層面間可用標準API通信。
將所有任務放在一個IXP2400中實現,可能滿足不了線速要求,因而通常將任務分配到2個IXP2400來實現。這樣對于需要較多指令的微功能塊,可指定多個微引擎并行運行,適當增加每個微引擎的執行時間。
3.2 系統功能
綜上述分析,實現方案的系統框圖如圖2所示。

  其中,接收微功能模塊(Receive Microblock)和發送微功能模塊(Transmit Microblock)用于數據包的接收和發送,發送隊列(Transmit Queues )用于數據包的隊列管理、調度,IP轉發微功能模塊(Forwarding Microblock)用于一般IP包的簡單轉發(包括路由通告等),核心組件是相關微功能塊的慢速通道處理部分,如異常處理等;XScale中還運行嵌入式OS、各種協議及高層處理程序等。
IPSec處理微功能模塊(Processing Microblock)是系統的主要部分,包括以下主要功能:協議核心、AH/ESP處理模塊、SPD、SAD。其中,AH/ESP處理程序負責根據SA中定義的安全服務按照AH/ESP協議對數據包進行處理;SPD和SAD以適當的查找表結構存放在片外的SRAM中,但該微功能塊中有各自的快速訪問接口,供其查詢數據使用(在XScale中也有訪問這2個數據庫的接口,以便維護其中的數據);協議核心主要是協調以上各部分的工作,解釋獲取的IP包等。
3.3 數據處理過程
IPSec模塊是整個IPSec系統的核心,處理包的過程如下:
(1)線程摘取1個IP包,判斷是否是經分段的,若是,該線程進入等待狀態,下一線程開始運行。在所有分段到達并重組后,進入下一步處理。
(2)使用選擇符檢索SPD,若查找失敗,拋棄包;若返回的動作是“拋棄”,拋棄該包。對于不包含IPSec頭的包,若返回的是“繞過”,將包交給IP轉發模塊處理(若目的IP是本機,將其交到XScale中,由相應程序處理,否則轉發到下一節點);若返回的是“應用”,進入(4)處理。對于包含IPSec頭的包,若返回的是“應用”,且包的目的地是本機,則進入(3)處理;若目的地不是本機,則進入(4)處理。
(3)用檢索SPD返回的三元組搜索SAD,若沒有匹配的SA,則丟棄該包;否則,按SA中的定義進行處理,主要包括:
①重發檢查:用序列號及溢出標志、重發窗口大小檢查包是否有效。
②數據包驗證:用指定的認證算法及密鑰,驗證數據包。若ESP沒選擇認證,則不做。
③解密:若是ESP協議包,則用指定的加密算法及密鑰,解密數據包。
以上處理失敗,則丟棄該數據包;若包中還有IPSec頭,需選擇新的選擇符,重復(2)、(3)。
④重構IP包交給IP轉發模塊處理。
(4)用檢索SPD返回的三元組搜索SAD,若沒有匹配的SA,線程向XScale發出IKE的服務請求,由IKE服務程序與通信對等體協商建立相應的SA,并記入SAD。具備SA后,有序進行如下處理:
①根據SA中指定的安全協議及操作模式,調用對應的處理模塊,為數據包生成協議頭。
②若采用傳輸模式,只需將原IP頭中的協議類型改為上一步中所用協議;若是隧道模式,則需要以隧道兩端的IP作源、目的IP和上一步中所用協議,生成新的IP頭,封裝原IP包。
③對ESP協議,按SA中指定的加密算法和密鑰,對包的相應部分加密。
④按SA中指定的認證算法,對包的相應部分進行認證。
⑤修改有關數據,重新計算校驗和;若需要分段處理,將包交給XScale中處理。
(5)經以上處理后,將包安排到對應端口的隊列中,經調度后由傳送模塊經重新添加MAC幀頭后發送。
值得一提的是,在以上過程中,由于是多線程處理,因而在1個微引擎中,一個線程進入等待狀態,另一個線程立刻運行,這一過程由編程者控制完成的。下面的程序段是數據處理過程的主要控制部分:
while(1){
dl_source();                    //從接收線程取下包描述符
if(dlBufHandle= =0){ continue; }
Ethernet_validate();            // 驗證這個包是一個有效的以太網頭
Ethernet_strip_header();                   //去掉以太網頭
IPSec_process();                          //IPSec處理
IPv4_five_tuple_class();           //進行IPv4 classifier的轉發
If(dlNextBlock= =IX_DROP){                 //clNextBlock全局變量,
                                   //表示下一個
Goto drop;                     //跳轉到丟棄包的處理模塊
}
Ethernet_add_header();                    //添加新的以太網頭
D1_sink();                   //將處理后的包描述符放入發送緩沖區中
Drop:
Dl_BufDrop(dlBufHandle);                    //丟棄包的處理
}
IPSec被認為是目前實現VPN的技術標準,在Internet的安全通信中發揮著重要作用。當前對網絡通信不斷提出了速度和安全的更高要求,以兼備通用CPU的靈活性和ASIC芯片執行速度的網絡處理器為核心實現高速安全網絡設備,是當前網絡新技術的應用研究重點。


參考文獻
[1]  Intel Corp. Intel IXP2400 network processor hardware reference manual[DB/OL]. 2002.
[2]  GONCALVES M. IPv6網絡[M]. 黃錫偉,楊 震,譯.北京:人民郵電出版社,2000: 251-275.
[3]  DAVIS C R. IPSec VPN的安全實施[M]. 周永彬,馮登國,徐震,等譯. 北京:清華大學出版社,2002:165-201.
[4]  王 健,李 濤,劉曉潔,等. IKE的研究及其在IPSec中的應用[J]. 通信技術,2003,144:128-129.
[5]  Intel Corp. Intel IXA portability framework: developer′s   manual[DB/OL]. 2002.

 

此內容為AET網站原創,未經授權禁止轉載。
热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>
          国产精品一二三四区| 亚洲福利视频二区| 欧美1区2区3区| 一区二区三区日韩在线观看| 午夜一区二区三视频在线观看| 国产精品一区二区久激情瑜伽| 久久久99免费视频| 亚洲香蕉在线观看| 亚洲欧美精品suv| 国产精品国产精品国产专区不蜜| 男男成人高潮片免费网站| 欧美3dxxxxhd| 久久男人av资源网站| 欧美在线啊v一区| 亚洲免费伊人电影在线观看av| 久久狠狠亚洲综合| 亚洲国产一区二区视频| 欧美一级在线视频| 欧美日韩hd| 欧美日本在线| 国产色爱av资源综合区| 久久成人免费网| 亚洲国产精品视频一区| 欧美视频不卡| 免费不卡在线观看av| 影音先锋亚洲视频| 久久久久久黄| 久热精品视频在线| 久久这里只精品最新地址| 欧美日韩一区二区三区在线视频| 亚洲欧洲99久久| 亚洲在线播放| 亚洲特级片在线| 亚洲成人在线免费| 欧美成黄导航| 亚洲福利视频二区| 欧美日韩免费观看一区=区三区| 中文无字幕一区二区三区| 激情婷婷欧美| 裸体一区二区三区| 一区二区三区国产精品| 国产精品伦一区| 欧美一级大片在线观看| 亚洲国产精品久久久久久女王| 欧美日韩精品欧美日韩精品| 久久久美女艺术照精彩视频福利播放| 久久精品视频在线| 99视频热这里只有精品免费| 久久影院亚洲| 性欧美在线看片a免费观看| 欧美激情综合五月色丁香| 在线一区二区三区四区五区| 欧美高清视频一区| 欧美午夜不卡在线观看免费| 久久九九免费| 亚洲精品欧美日韩| 国产一区二区毛片| 欧美日韩国产在线| 亚洲电影免费观看高清完整版| 欧美不卡视频一区| 欧美了一区在线观看| 亚洲三级观看| 国产视频久久久久| 国内欧美视频一区二区| 国产欧美亚洲视频| 国产精品入口麻豆原神| 亚洲特色特黄| 性欧美激情精品| 欧美一站二站| 国产精品亚洲综合久久| 日韩视频免费大全中文字幕| 狠狠色丁香婷综合久久| 久久久久久久久伊人| 亚洲国产成人在线播放| 99riav1国产精品视频| 国产精品扒开腿做爽爽爽视频| 狠狠爱www人成狠狠爱综合网| 樱花yy私人影院亚洲| 免费久久99精品国产| 蜜臀91精品一区二区三区| 欧美亚洲一区三区| 久久影视三级福利片| 国产精品腿扒开做爽爽爽挤奶网站| 久久精品国产一区二区三| 久久人91精品久久久久久不卡| 欧美激情精品久久久久久蜜臀| 国产一区二区三区久久悠悠色av| 亚洲一区制服诱惑| 欧美猛交免费看| 韩日欧美一区| 国产精品视频yy9099| 欧美三级韩国三级日本三斤| 欧美综合77777色婷婷| 欧美一区二区三区四区视频| 欧美一区永久视频免费观看| 亚洲国产影院| 久久久久久久综合色一本| 亚洲欧美一区二区三区极速播放| 日韩视频在线播放| 久久九九久久九九| 午夜精品免费| 麻豆成人在线播放| 亚洲女与黑人做爰| 怡红院av一区二区三区| 久久男人av资源网站| 久久久欧美精品sm网站| 尤物九九久久国产精品的分类| 亚洲一区二区在线免费观看视频| 欧美影院在线| 久久av一区二区| 亚洲午夜电影在线观看| 亚洲永久在线观看| 国产日韩欧美精品| 国模私拍视频一区| 国产精品99久久久久久久vr| 一区二区免费在线视频| 久久免费视频在线| 欧美激情一区二区三级高清视频| 国产精品jvid在线观看蜜臀| 91久久精品国产91性色tv| 欧美午夜精品久久久| 久热re这里精品视频在线6| 欧美精品一区三区在线观看| 国产精品成av人在线视午夜片| 国产性天天综合网| 国产视频精品免费播放| 国产精品久久久久久户外露出| 亚洲午夜精品17c| 影视先锋久久| 在线看片第一页欧美| 在线观看欧美视频| 国产精品扒开腿做爽爽爽软件| 亚洲尤物精选| 久久久亚洲国产美女国产盗摄| 欧美在线地址| 性欧美18~19sex高清播放| 小黄鸭精品aⅴ导航网站入口| 亚洲国产精品成人va在线观看| 亚洲理论在线| 欧美a级片网| 黄色欧美日韩| 亚洲欧美一区二区精品久久久| 免费在线观看日韩欧美| 亚洲二区在线| 亚洲国产一二三| 国产一在线精品一区在线观看| 亚洲高清免费视频| 亚洲国产精品99久久久久久久久| 久久精品最新地址| 欧美一区二区女人| 在线成人激情| 国产精品热久久久久夜色精品三区| 亚洲午夜黄色| 亚洲一区在线免费观看| 亚洲国产精品精华液2区45| 一区二区三区欧美激情| 韩国在线视频一区| 久久久www成人免费精品| 国产一区二区久久精品| 亚洲一区二区久久| 亚洲视频欧美视频| 欧美性jizz18性欧美| 国产精品视频一二三| 午夜精品久久久久99热蜜桃导演| 久久精品一区中文字幕| 国产有码一区二区| 国产精品影院在线观看| 亚洲欧美日韩国产一区二区| 欧美日韩免费观看中文| 欧美国产欧美综合| 裸体歌舞表演一区二区| 亚洲手机视频| 欧美日韩裸体免费视频| 亚洲伊人观看| 午夜精品美女自拍福到在线| 国产精品美女久久久久av超清| 欧美日韩在线不卡| 尤物精品国产第一福利三区| 国产一在线精品一区在线观看| 狠狠色香婷婷久久亚洲精品| 亚洲少妇一区| 欧美日韩高清区| 亚洲免费一区二区| 欧美精品97| 欧美精品日韩综合在线| 美女国内精品自产拍在线播放| 激情久久久久| 久久婷婷丁香| 免费欧美日韩国产三级电影| 欧美一级淫片aaaaaaa视频| 久久精品91| 亚洲九九九在线观看| 韩国成人福利片在线播放| 欧美日韩国产123区| 西西人体一区二区| 国产日产欧产精品推荐色| 国产日产欧美一区| 性欧美18~19sex高清播放| 久久久亚洲人| 六月婷婷一区| 乱中年女人伦av一区二区| 韩日精品在线| 欧美一区二区三区精品电影| 国内一区二区三区在线视频| 国产精品swag| 国产午夜精品美女视频明星a级| 国产主播一区二区| 狠狠色香婷婷久久亚洲精品| 亚洲中无吗在线| 亚洲欧美制服中文字幕| 久久人人爽国产| 国产一区二区按摩在线观看| 国产一区自拍视频| 欧美一区二区三区免费观看| 久久精品国产99精品国产亚洲性色| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产一区二区三区的电影| 欧美人妖另类| 在线观看日韩一区| 国产麻豆综合| 日韩视频在线播放| 日韩午夜激情av| 国产精品va| 久久精品99国产精品酒店日本| 欧美国产视频在线观看| 免费在线播放第一区高清av| 美女国产精品| 一区二区三区国产在线| 亚洲国产精品毛片| 影音先锋久久久| 亚洲欧美日韩精品久久| 日韩视频精品| 在线日韩日本国产亚洲| 久久婷婷国产综合国色天香| 国产午夜精品久久久| 国产精品入口福利| 欧美激情在线观看| 免费观看欧美在线视频的网站| 亚洲国产一区二区三区在线播| 99国产精品自拍| 国产免费观看久久| 亚洲精品一区二区三区蜜桃久| 国产精品99久久久久久www| 亚洲女女做受ⅹxx高潮| 亚洲精品一区二区三区蜜桃久| 亚洲午夜免费视频| 中文在线资源观看网站视频免费不卡| 国产农村妇女毛片精品久久莱园子| 日韩午夜一区| 亚洲国产cao| 欧美色欧美亚洲高清在线视频| 欧美一区2区视频在线观看| 国产精品一级在线| 99一区二区| 久久精品国产96久久久香蕉| 在线色欧美三级视频| 久久综合久色欧美综合狠狠| 欧美—级在线免费片| 久久疯狂做爰流白浆xx| 日韩视频永久免费观看| 免费精品视频| 一区二区三区**美女毛片| 欧美在线在线| 亚洲午夜在线观看| 国内精品久久久久影院优| 极品少妇一区二区| 国产美女精品在线| 欧美午夜激情视频| 午夜激情一区| 欧美三级精品| 欧美日韩一区二区视频在线| 欧美日韩高清在线观看| 亚洲黑丝一区二区| 在线日韩电影| 久久精品二区亚洲w码| 欧美国产精品一区| 欧美喷水视频| 极品av少妇一区二区| 国产精品视频福利| 两个人的视频www国产精品| 欧美亚洲一区在线| 亚洲欧美日韩区| 欧美巨乳在线观看| 久久综合精品国产一区二区三区| 欧美一区二区在线看| 欧美va亚洲va国产综合| 久久午夜影视| 亚洲主播在线播放| 国产精品久久久久久久久搜平片| 一区二区三区在线高清| 国产精品五区| 国产一区在线观看视频| 久久久久久久久久久成人| 久久久久www| 亚洲视频成人| 在线日韩av| 国产裸体写真av一区二区| 在线日韩日本国产亚洲| 亚洲人成网站精品片在线观看| 在线观看视频一区二区欧美日韩| 亚洲在线网站| 一本色道久久综合亚洲二区三区| 欧美日韩亚洲天堂| 亚洲午夜国产成人av电影男同| 韩国一区二区在线观看| 欧美视频观看一区| 一区精品久久| 欧美系列一区| 亚洲日本精品国产第一区| 久久久国产精品亚洲一区| 午夜欧美大片免费观看| 国产精品日韩精品欧美精品| 亚洲乱码国产乱码精品精98午夜| 国产女优一区| 激情久久综合| 日韩视频一区二区三区| 国产精品视频专区| 亚洲人成亚洲人成在线观看图片| 国外成人免费视频| 免费在线观看一区二区| 亚洲国产精品久久久久久女王| 亚洲综合第一页| 一区二区免费在线观看| 欧美午夜免费| 国产欧美日韩不卡| 国产亚洲一级高清| 亚洲人成欧美中文字幕| 国产亚洲人成网站在线观看|