FortiGate 硬件加速


FortiGate 硬件加速

來源 https://wenku.baidu.com/view/07749195a1c7aa00b52acb63.html

 

 

 

硬件加速

來源 https://blog.csdn.net/meigang2012/article/details/78638341

===============================

 在這節課中你將了解到FortiASIC芯片和Fortinet的夾層卡是如何加速FortiGate的性能的。

  專用硬件的加速處理與一般CPU的傳統處理不同。

 在完成這一課程之后,你應該具備這些實用技能,你可以使用這些技巧來優化配置,以增強網絡和安全性能。

  你將能夠描述Fortinet的芯片組,識別IP會話的卸載,配置異常檢測,加速基於流程的檢查,並配置TCP SYN代理的SYN洪水檢測。

 讓我們先來看看在一個FortiGate里有什么,並比較專業的硬件加速器-FortiASIC類型。

 與大多數安全設備一樣,FortiGate是由通用計算機基礎建造的。但是,一般的計算機設備在網絡安全性能方面是有限的。這就是為什么Fortinet包含了特殊的附加硬件加速組件。

  “硬件加速”是什么意思?硬件加速允許FortiGate將其處理負載從通用的CPU轉移到專門的處理器。

  請注意,分流CPU周期和分流任務在專門的硬件上執行的速度比一般的CPU要快。這個過程類似於你的電腦在圖形卡上使用GPU的方式;也就是說,GPU通常有專用的RAM,GPU電路的設計是為了更有效地處理圖像。

 ASIC是一種芯片,設計用於執行一組具有最優效率、性能和可伸縮性的功能。

  FortiASIC是專門用來分流流量和檢查程序的。

 ASIC芯片的優勢在於它的專業化;因此,Fortinet開發了幾個由他們的類型(網絡處理器或內容處理器)和版本所識別的關鍵的ASIC。Fortinet還開發了安全處理器,這是不被認為是FortiASIC的。

  注意約定的名稱是家庭縮寫加上修訂號。一般來說,較新的版本有更多的功能和更好的性能。這張圖表說明了使用只使用CPU專用設備的較老的FortiGate和硬件加速的更新更快的FortiGate之間的性能差異。

  ASIC被連接到電路板上,因此它們是不能升級的。

 每個硬件加速器都做什么類型的處理?

  • 內容處理(CP):CP是一個FortiASIC。CP從CPU中分流了一些類型的內容檢查功能。他們檢查內容以防止被加載到內存中的威脅進行比較。他們還處理SSL加密。

  • 網絡處理(NP):NP是一個FortiASIC。NP在接口層進行操作,以提供極低的延遲數據路徑。NP可以處理數據包轉發、Psec加密散列、鏈路聚合、高可用性(HA),還有一些其他類型的包處理。CP也可以處理密碼學,那么有什么區別呢?CP就像一個協同處理器,就其物理線路而言,與大多數NP不同,CP不綁定到特定的網絡接口。

  • 安全處理(SP):SP不是一個FortiASIC。SP是一個帶有內容處理器邏輯的夾層卡。SP可以使用自己的多核/多線程CPU進行操作。它們可以處理多播、IPv6、DoS和SYN代理。

  • 系統芯片處理(SoC):SoC是集成了傳統系統CPU和CP、NP的集成芯片。

  現在我們已經簡單地比較了FortiASIC芯片的類型,讓我們來看看每一個芯片的發展,以及如何配置你的FortiGate以使用每一個ASIC來提高性能。我們還將展示如何分流預期的診斷輸出。

 在本節中,我們將研究CP芯片的功能,以及哪些配置可以使用它們來實現更高的性能。

 CP是CPU的協同處理器。它加速了許多常見的資源密集型安全相關過程。

  自從第一個FortiGate型號以來,Fortinet就在設計中加入了一個CP。CP在系統級工作。那些早期的FortiGate型號現在已經過時了,所以我們將從最早期的,相關的CP:CP4開始。

 每一代的CP都建立在之前的功能之上。

  CP4處理IPsec。更具體地說,它對IPsec第二階段的DES、3DES和AES進行加密和解密。它還為密碼學產生偽隨機數字,計算了消息身份驗證的SHA-1和MD5校驗和,並驗證了PKCS#1證書中的RSA公鑰。

  CP5增加了FIPS和RFC的遵從性,並且在支持IKE和RSA的情況下改進了IPsec。此外,它的隨機數生成器與SSL兼容,這將與下一代的CP6特別相關。

  CP6包括SSL的硬件支持,由於SSL VPN和SSL檢查越來越流行,SSL需要更好的性能。

  CP8增加了對一個IPS引擎進行簽名模式匹配的支持;擴展的加密支持包括ARC4和SHA-256和大型公共密鑰。另外,CP8芯片可以用於可伸縮性。

 你的FortiGate有哪些CP?

  為了確定這一點,使用CLI命令〖get hardware status〗。

 如果你想禁用CP分流過程呢?

  你可以在配置防火牆安全策略中禁用CP分流過程:

  • IPv4

  • IPv6

  • 多路傳送

  當你禁用auto-asic-offload時,它也會禁用NP分流。

 現在讓我們繼續看NP芯片。

 NP在接口層工作,通過從CPU上分流它來加速流量。

  對於每一個新會話,第一個包總是在CPU上到達內核。但是,如果NP不支持你已經配置了用於會話的FortiGate的所有功能,那么內核必須繼續在緩慢的路徑上處理所有會話的包。

  如果NP確實支持你配置的所有功能來應用到該會話,那么內核將向NP程序發送一條指令來處理該會話,並啟用一條快速通道。NP加速傳播。

  一旦FortiGate處理了最后一個包,例如TCP FIN(finish)或RST(reset)信號,或者如果有錯誤,那么NP將會話返回給CPU,這樣它就可以分解會話。

 這個圖表說明了如何決定是否加速包轉發和IP會話處理。

  這個過程可能會根據NP版本改變。與CP相似,也有一些NP修正。

 NP1和NP2是在許多年前發布的,並且可以分流大多數類型的IPv4流量。

  下一代NP4在早期版本中表現出了顯著的性能提升。

  NP6的性能加倍,並增加對IPv6、CAPWAP通信(用於無線控制和供應)和多播的支持。

 要找到關於你的每一個FortiGate的網絡處理器的信息,請使用CLI命令〖get hardware npu〗。

  沒有集成交換結構(ISF)的平台的接口直接連接到NP。因此,特別重要的是要了解這些直接映射,特別是當平台有多個NP時。

 NP版本1、2和4不支持流量統計(包括日志)。這個規則的唯一例外是IP會話中的第一個和最后一個包。

  這個異常發生是因為第一個和最后一個包是由內核處理的,在會話信息傳遞給ASIC之前。ASIC芯片處理中間的所有數據包,因此內核不知道在此期間發生的任何統計信息。同樣,NP1到NP4也沒有內存來保存它們自己的統計數據。

  NP6支持統計數據。它還支持SNMP以太網MIB,因此它也可以回答有關這些統計數據的查詢。

 為了獲得分流的資格,流量必須與ASIC芯片的設計標准相匹配。對於NP4,標准是:

  • 2層的類型/長度必須設置為0X0800.IEEE 802.1 q和802.3的廣告流量也可以被分流。

  • 3層必須是單一的IPv4。NP4不支持多播和IPv6。

  • 4層必須是UDP、TCP、SCTP或ICMP。

  • 頭或內容不需要由會話助手修改。

  • 任何類型的安全配置都不能檢查流量,如反病毒或網絡過濾。

  • 流量一定不是來自防火牆。

  • 入口和出口必須在同一個NP4上,除非在兩個通信NP4之間有一個EEI橋。

  NP6和NP4標准是相同的,除了NP6還支持IPv6、NAT64、NAT46和其他。

 使用NP6的FortiGate型號與ISF進行物理連接。ISF連接允許所有接口和NP6處理器之間的通信,而不需要通過CPU進行通信。這意味着分流是可能的,即使入口和出口的端口不在同一處理器上。

 要驗證會話是否已被分流,請使用CLI命令〖diagnose sys session list〗。

  npu info指明會話可以被分流。offload=x/y這里標記狀態。在本例中,所有會話都已被分流(offload=4/4)。輸出offload=0/0指示非加速會話。

  no_ofld_reason表明會話沒有被分流,例如會話被重定向到反病毒或IPS分析。

 內核沒有意識到會話中正在發生的事情,而會話是由一個NP來處理的。這會影響到日志記錄。它還會產生什么影響呢?

  包捕獲涉及到使用CPU的FortiGate內核。NP芯片不會把所有的數據都發送回CPU,因為這會抵消加速。因此,一旦會話被分流到一個NP,嗅探器就不會看到那些被分流的數據包。

  在故障排除期間,你通常需要查看整個會話。為了做到這一點,你可能需要暫時禁用分流。在CLI中,你可以在每個策略基礎上執行此工作。請記住,此操作也禁用了CP分流。

 NP不僅僅是IP層封包轉發。它也有以下幾點:

  • 主動-主動 HA 負載平衡

  • IPsec密碼學

  • 鏈路聚合

  • 基本異常檢測(在軟件IPS引擎之前)

  • 基本的流量影響

 在HA主動-主動模式下,分流標准與獨立的FortiGate相同。

  用戶流量的硬件加速是由集群中的每一個單獨的FortiGate決定的。一般來說,為了滿足內容檢查的目的,流量是負載均衡的,因此硬件加速不適用。然而,它是在被分流的同一會話中對包的重定向。這意味着網絡處理器重新編寫MAC地址,從這些中斷中分流CPU。

 在本節中,我們將研究如何查看、過濾、下載和導出日志。雖然你可以通過執行日志過濾器和執行日志顯示命令來查看和管理日志,但是這一節關注的是GUI。

 要驗證IPsec流量是否已被分流,請使用CLI命令〖diagnose vpn tunnel list〗。

  這顯示了每個VPN隧道的狀態和統計信息。如果它包含一條帶有npu_flag的行,隧道就會被分流。

  請記住,在檢查npu_flag字段之前,首先需要從兩個方向獲得初始包。否則,它的初始值是0/0。

 如果所有聚合的接口都與相同的NP相關聯,網絡處理器還可以加速802.3ad鏈接聚合。(取決於你所熟悉的供應商,鏈路聚合也稱為NIC teaming、channeling或link bonding。)要確定通道是否已被卸載,請使用CLI命令〖diagnose netlink aggreate〗。

  是否所有鏈接與聚合相關的處理都將被分流?不,只有在CPU建立會話並將其發送到NP時才會發生分流。因此,在哈希的初始階段,即內核如何決定集合中的哪個接口將發送第一個框架,CPU仍然參與其中。在鏈接聚合哈希后發生分流。

 一些網絡處理器也可以檢測到一些異常,並刪除這些數據包。這發生在硬件。它獨立於IPS引擎,並在IPS引擎參與之前發生。要做到這一點,可以使用〖set fp-anomaly〗來配置接口。例如,你可以配置你的NP處理器來刪除帶有未知協議號的數據包。

 一些類型的流量整形也可以被分流到一個NP。

  請注意,只支持限制和優先級,但是保證帶寬不能被分流,並且由CPU處理。

  NP有有限的整形對象(NP6有更多的整形對象和數據包流改進),因此CPU的流量仍然是很常見的。

 現在我們來看一看SP,夾層卡增加了FortiGate的性能。

 SP為入侵保護和防火牆功能提供了一個集成的、高性能的、快速的多層解決方案。

  入侵保護從一個IPS硬件加速引擎開始,這可以確保每個包都可以。然后,采用一套基於接口的數據包異常保護、DDoS保護、基於策略的入侵保護和防火牆快速通道來防止攻擊。

  SP還可以分流數據包傳輸,比如多播、IPv4、IPv6和NAT64通信。它加速了IPsec的加密和解密。它可以執行基於流程的內容檢查,並提供SYN代理功能。

 與CP和NP一樣,每個修訂版本都增加了SP的功能。

  第一個版本可以處理IPS和加密的多播卸載。這個版本是用三張擴展卡構建的:FMC-XE2、FMC-FE8、FMC-CE4,它們都兼容於FortiGate的3810A,5001A,1240B和3016B。

  第二個版本增加了對基於流程的檢查的支持。這個SP的夾層擴展卡是FMC-XG2,它與FortiGate的3140B和5001C兼容。

  第三個版本的性能好處是內置了FMC-XH0卡。

 要確定在你的FortiGate型號中安裝的SP(如果有的話),請使用CLI命令〖diagnose npu spm list〗。

  在這里所示的示例中,xh0表示安裝了FMC-XH0型號夾層擴展卡。這個產品家族使用SP3。

  請記住,SP主要是加速與安全相關的特性,NP不支持這些會話。

 SP處理基於流程的檢查,例如AV、IPS和應用程序控制,提供了顯著的吞吐量優勢。

  要分流基於流程的檢查,必須將防火牆策略中的入口和出口接口綁定到相同的SP。

 根據類型的不同,DoS策略也可以被分流到安全處理器。

 SP上的一個接口也可以作為TCP SYN代理,刪除在超時期間客戶端未完成的所有連接。這為你的后端服務器提供了更大的保護和性能,以防止發生同步的洪水。

  在客戶端完成3路握手之前,TCP連接不會被傳遞給服務器。通過這種方式,SYN的洪水攻擊不會耗盡CPU資源。

  SP支持VLANs和帶有欺騙源IP的通信流。

 在DoS配置文件tcp_syn_flood設置中配置了SYN代理,並將其應用到一個安全處理器的接口中。

 最后,讓我們看一種集成了其他兩個方面的ASIC:一個芯片上的系統(SoC)。

 SoC將一個通用的CPU與Fortinet的定制ASIC網絡、NP和CP集成到一個芯片中。

  通常,SoC模塊是在桌面或小型辦公室型號中找到的,因為它允許較小的表單因素,但不能處理載波級別的計算負載。SoC的最大好處是更大的成本和能源效率。

 SoC模塊的性能水平很低。

  你在之前的章節中提到過我們沒有提到關於CP7和NP3的任何事情嗎?

  CP7和NP3(或者NP4Lite),被開發出來集成到Fortinet的SoC處理器中。這個集成處理器有三個模塊:

  • VPN模塊(CP7處理器)包括SSL、TLS和IPsec引擎,它們處理通信和消息身份驗證算法的加密和解密。

  • 防火牆快速通道模塊(NP4Lite處理器)是NP4處理器的一個輕量級版本(具有更少的特性)。它加速會話處理。

  • IPS確定性有限自動機(DFA)模塊用於分流某些IPS簽名匹配。

 這個表比較了大多數使用的FortiGate、SoCs和SP的每個規范的性能。

 這里回顧一些我們討論的內容:

  • 每一個FortiASIC家族的架構

  • 每個芯片都可以分流哪些特性

  • 芯片之間的差異

  • 如何找到你的型號的芯片

 

============================== End

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM