
防火牆早已是企業不可或缺的資安設備,近年來為了因應急速成長的網路流量與日益複雜的資安威脅,硬體ASIC產品蔚為風潮。藉由深度分析Juniper過去申請的專利權,讓讀者一窺ASIC防火牆的內部運作流程與資料結構,進而瞭解網路處理器的技術趨勢。
有沒有人想過,放眼所及,企業IT架構中習以為常的資安產品,如防火牆、IDS或IPS,在這些看似高深莫測的黑盒子裡,究竟塞了什麼神奇的晶片,讓他們足以肩負起支撐網路流量的重責大任?
傳統PC架構軟體防火牆的效能瓶頸
知名的計算機網路教科書作者Andrew Tanenbaum曾在Computer Networks一書中分析影響網路效能的諸多因素,其中第一條就是「網路的效能靠處理器支撐」,可是多數汎用處理器並非針對程序複雜的封包處理流程而生,效能自然不彰。假設真的不惜血本,使用市面上最好的現成汎用處理器,又將遭遇耗電量過高的問題。
其中,就是雖然採用純軟體實作防火牆與VPN,或者搭配專用的防火牆引擎,放在既有的PC架構與汎用處理器上執行,是設計產品最快、最直接、研發成本最低的途徑,但這類產品都難以應付爆炸性成長的網路流量。
其次,處理器效能不足還可以分為兩個方向:處理器效能真的不足,以及提升處理器效能卻無法得到明顯成長。電腦組織架構中存在著不少效能上的瓶頸,例如疊床架屋的匯流排架構、受到頻寬不足及高延遲所苦的記憶體系統等,這些都會限制處理器實際上所能發揮的效能。就理論上而言,網路介面應該「越靠近處理器越好」,而且盡量讓該處理器做更多的工作。很遺憾的,這是目前的PC架構幾乎做不到的。
最後,完全軟體實作的作業系統、通訊協定與資安功能所帶來的額外負擔(Overhead),往往是網路設備效能的殺手。肥大化的軟體需要更大容量的記憶體容量及儲存空間,拉長設備開關機及更新檔案的時間。
硬體ASIC架構改善封包處理效能
摩爾定律預言晶片的電晶體數目以18個月增加一倍的速度持續成長,更多的電晶體數目也意味著更強大的晶片功能。所以,在過去倚賴處理器執行軟體的功能,或是IP Table Lookup等,也有可能透過硬體ASIC實作,以得到更好的效能及更低的成本,今日的網路交換器和路由器如此,資安設備亦同。
隱而不現的是,將常用的功能硬體線路化,可以進一步精簡防火牆的程式碼體積,減少記憶體消耗量與容量,加快開關機與更新軟體的速度,提升設備的安全性。Juniper的ScreenOS與Fortinet的FortiOS可以短小精幹的秘密,莫過於與硬體ASIC架構的高度整合性。
兼顧可程式化彈性與高效能的解決方案:網路處理器
ASIC看似完美,但歷史的教訓證明,物極必反,硬體技術終究有其限制,不可能通通硬體實作所有的功能。開發功能強大的ASIC所費不貲,甚至效能還可能因過度複雜的架構而不進反退。更重要的是,一般ASIC都缺乏可程式化能力,如果需要加入新功能,或者支援新的通訊協定,就力有未逮,不但縮短產品壽命,開發全新的ASIC亦曠日費時,無法滿足市場需求。
網路環境的複雜性與應用面的多樣化,對網路設備造成效能上的挑戰,尤其當網路頻寬已經邁進10Gb等級,要求低延遲的即時視訊影音應用日益普及,加上日新月異的資安威脅,為了兼顧多功能與高效能,催生了針對網路需求而特化、具備高速封包處理效能與可程式化彈性的網路處理器(Network Processor)。因此,網路處理器成為網路設備與處理器廠商全力投入的新興領域,無論半導體霸主英特爾、網路龍頭Cisco、藍色巨人IBM,以及數不清的IC設計公司,都陸續進入了這個市場,網路處理器早已成為無數企業IT產品的心臟。
事實上,近期資安廠商的新型ASIC設計,如Juniper的GigaScreen和Fortinet的FortiASIC,也都導入可程式化的汎用處理器核心,朝向網路處理器的趨勢發展。以Juniper ISG1000/2000所採用的GigaScreen3 ASIC為例,在輔助ASIC的PowerPC處理器之外,GigaScreen3本身就內建數個32位元微處理器核心,執行ASIC無法實作的複雜功能與演算法。
更有甚者,由Cisco與IBM合作研發,旗艦骨幹路由器CRS-1的心臟SPP(Silicon Packet Processor)處理器,就是一個內建188個32位元PowerPC核心的ASIC。
與汎用處理器相輔相成
那麼,網路處理器是否就真的代表是網路資安設備的完美最終解?很遺憾的,如同ASIC有其限制一般,越高階的產品,反而越容易見到汎用處理器的身影。為何會如此?
半導體技術畢竟有其極限,當整合大量異質功能單元時,就難以設計高時脈且具備強大加速機制(像大容量快取記憶體)的網路處理器。僅純粹採用網路處理器,不見得可以滿足高階品的效能需求,尤其是複雜的演算法與系統控管。
我們可以以在高階路由器和資安設備看到一個趨勢,汎用處理器專門用來進行「一次性」的複雜計算工作,網路處理器與ASIC則用來加速「一般性的常見工作」,如汎用處理器完成路由表與封包掃描後,將執行結果交由網路處理器「快取」起來,即可加速後繼的流程。
從網路處理器預見未來的技術趨勢
無論如何由於網路成為運算環境的核心,網路處理器已是技術發展趨勢的先行者,如多核心、異質多核心、多執行緒與整合網路功能單元等,在網路處理器上早已行之有年,近來才逐步普及到一般汎用處理器的設計。更有甚者,多核心處理器造成軟體開發上的困難,網路處理器所累積的經驗與基礎,就是最好的資產。英特爾在歷屆IDF用來展示有效分配多核心運算效能的「Shangri-La」動態程式執行環境,就是原先針對網路處理器而研發的技術。
就算不想「預見未來」,企業IT人員在平日操作管理網路設備之餘,多認識網路處理器、建立相關的基礎知識,就有助於瞭解設備的技術細節,與實際上的能耐,這對於採購產品時,也將有所助益。文⊙劉人豪
當ASIC結合汎用處理器:Juniper ISG1000/2000 |
受限於有限的可程式化能力與運算效能,硬體ASIC搭配汎用處理器實乃必然。以Juniper ISG1000/2000為例,在ASIC模組以外,其管理模組(Management Module)與安全功能模組(Security Module)都採用雙PowerPC 1GHz處理器。當ASIC收到新連線(session)的第一個封包,就先將該封包傳送至管理模組判定是否安全,之後該連線的封包處理流程,例如NAT、IPSec加解密或封包掃描作業,就全部交由ASIC模組負責,較複雜的安全功能以此類推。事實上,這和高階路由器的路由引擎將事先計算好的路由表,傳送至ASIC轉送引擎「快取」起來,後繼封包處理工作都交由高速硬體線路負責,概念完全相同。 |



熱門新聞
2026-01-12
2026-01-12
2026-01-12
2026-01-12
2026-01-12
受限於有限的可程式化能力與運算效能,硬體ASIC搭配汎用處理器實乃必然。以Juniper ISG1000/2000為例,在ASIC模組以外,其管理模組(Management Module)與安全功能模組(Security Module)都採用雙PowerPC 1GHz處理器。當ASIC收到新連線(session)的第一個封包,就先將該封包傳送至管理模組判定是否安全,之後該連線的封包處理流程,例如NAT、IPSec加解密或封包掃描作業,就全部交由ASIC模組負責,較複雜的安全功能以此類推。事實上,這和高階路由器的路由引擎將事先計算好的路由表,傳送至ASIC轉送引擎「快取」起來,後繼封包處理工作都交由高速硬體線路負責,概念完全相同。