在本课中,你将了解FortiGate上的硬件加速。
通过展示FortiGate上硬件加速的能力,你将能够了解FortiGate上硬件加速的设计方面,并探索FortiGate上可用的不同安全处理单元及其功能。
在本节中,你将了解FortiGate上硬件卸载的架构。
Fortinet硬件加速技术是指使用专门的硬件设备,如网络安全处理器,从Fortinet安全设备中的主CPU卸载某些与安全相关的任务。这可以提高某些功能的性能和更高的处理速度,例如加密和解密、数据包检查等。通过使用硬件加速,Fortinet设备可以处理更多的流量,并提供更高效的网络安全功能处理,从而实现更好的网络性能和可扩展性。
大多数FortiGate型号上的专用加速硬件,也称为安全处理单元(SPU)或特定于应用程序的集成电路(ASIC),可以从FortiGate上的主处理单元(CPU)卸载资源密集型处理。在FortiGate上,SPU可以是网络处理器(NP)、内容处理器(CP)或两者兼而有之。根据FortiGate型号,两个处理器都可以在流量通过卸载和加速时同时工作。
FortiGate网络处理器(NP)是一个基于硬件的网络安全平台。NP允许出于安全和优化目的对网络流量进行实时、高速处理。这提高了网络性能、可扩展性和简化了网络管理。
FortiGate NP包括硬件加速功能,可将特定的安全功能卸载到专用硬件,以进一步提高性能并减少主CPU的负载。
NP在接口级别工作,通过从CPU卸载网络流量来加速网络流量。大多数FortiGate设备上可用的当前Fortinet型号有:
● NP7
● NP6
● NP6XLite
● NP6Lite
内容处理器(CP)是FortiGate设备上的组件,可加速网络流量并扫描流量以查找潜在的安全威胁。CP加速了常见的资源密集型安全流程,并将它们从主CPU卸载。CPU决定哪些安全任务被加速并卸载到CP。
目前大多数FortiGate设备上可用的Fortinet CP型号有:
● CP9
● CP9XLite
● CP9Lite
NP直接架构通过删除内部交换机结构(ISF)的使用来提供对NP的访问,ISF是连接到FortiGate物理接口的硬件芯片交换机。NP直接架构在配备两个或多个NP6处理器的FortiGate设备上可用。这允许在接口之间直接访问NP,以实现最低延迟转发。
实施NP直接架构的部分要求是确保卸载的流量通过连接到同一NP6处理器的接口进入和退出FortiGate。
在本节中,你将了解NP7、NP6、NTurbo、SoC4和CP9处理器及其功能。
NP7处理器内联运行,为网络功能提供无与伦比的性能,为有状态的防火墙功能提供超大规模性能。
使用两个100 Gbps接口,NP7处理器的最大吞吐量为200 Gbps。一些配备NP7处理器的FortiGate设备支持NP7端口映射的配置。你可以将数据接口映射到特定的NP7 100 Gbps接口,这允许你平衡NP7接口之间的流量。
NP7处理器提供至少75 Gbps的单IPsec加密隧道吞吐量,允许FortiGate在数据中心连接上加密高速数据。
NP6处理器有两个版本:
● 四个10 Gbps 连接,专为高端 FortiGate 设备量身定制,其中 10 Gbps 端口连接到 ISF
● 三个10 Gbps连接和16个1 Gbps连接,可在中端FortiGate设备上使用,并允许将FortiGate端口直接连接到NP6处理器,而无需ISF
凭借更高的带宽和与FortiGate CPU的连接,NP6处理器支持多核CPU,有助于提高安全性和SSL检查性能。NP6处理器还增强了IPsec加密和解密,并为VPN隧道增加了额外的安全层。
由于用于检查流量的安全配置文件,NTurbo处理器卸载了NP无法卸载的流量。
FortiGate在CPU上运行NTurbo驱动程序,该CPU专门处理NP发送的流量,需要在基于流的模式下进行安全检查。FortiGate CPU处理基于代理的检查。
当来自NP和CPU的数据包通过NTurbo处理器时,它会将数据包发送到IPS引擎,以完成所需的安全任务。然后,NTurbo处理器通过NP将处理后的数据包发送到ISF。
片上系统(SoC)处理器整合了网络和内容处理,并提供快速的应用程序识别、转向和覆盖性能。
SoC4处理器将FortiGate的主CPU与NP6XLite和CP9XLite等加速技术相结合。这种组合在入门级FortiGate设备上提供高性能的应用程序体验。
装有SoC4处理器的FortiGate设备不需要绑定专用NP的接口,因为SoC4处理器将所有SPU组合在一个芯片上。因此,SoC4处理器加速了流量。
CP9处理器通过加速许多常见的安全资源来提高性能。CP9处理器依靠FortiGate CPU架构和速度卸载任务并执行硬件加密。
作为主CPU的协处理器,CP9处理器卸载资源密集型处理,并驱动内容检查,以加速安全功能、VPN和SSL卸载。
CP9处理器改进了AV引擎上的动态签名和散列,并允许可配置的双阈值二除数(TTTD)内容分块,用于数据丢失预防(DLP)检查。
在本节中,你将了解FortiGate如何将流量从内核卸载到NP。
NP卸载过程在到达FortiGate时会改变流量。发起会话的数据包将传递给FortiGate CPU,以验证数据包是否符合卸载要求。需求因NP的类型而异。
检查过程仅根据原始会话中使用的要求验证数据包是否应该继续加速过程。
在第一阶段检查后,如果会话密钥或IPsec SA与原始流量匹配,FortiGate会将数据包发送到NP。NP继续匹配入口端口上的数据包,并决定是否接受它们,或者在检测到异常时删除它们。这些NP检查与IPS异常检查不同。
接下来,NP检查会话密钥或IPsec SA。如果它找到匹配项,数据包的加速将继续,它们将从FortiGate CPU卸载。
如果数据包没有通过检查,NP会将它们发送到FortiGate CPU。
上图的流程图说明了数据包从到达FortiGate设备到完成NP加速清单的过程。
对于NP处理,流量首先通过FortiGate CPU进行必要的检查,以确定是否可以加速数据包并卸载到NP处理器。
对于TCP流量,三方握手的第一个数据包必须首先发送到FortiGate CPU。对于UDP流量,只有第一个数据包必须通过FortiGate CPU。
如果FortiGate CPU确定满足第一部分流量的条件,那么CPU会加速并将其余流量卸载到NP6处理器。
在本节中,你将了解在FortiGate上卸载流量的限制。
一个NP7处理器可以支持多达1200万个会话。这个数字受处理器内存的限制。一旦NP7处理器达到其会话限制,超过限制的会话将被发送到CPU。你可以通过在多个NP7处理器之间均匀分配传入会话来避免此问题。要做到这一点,你需要了解哪些接口连接到哪些NP7处理器,并相应地分配传入的流量。
上图显示了NP7处理器可以卸载和加速的协议。请注意,NP7处理器在直通模式下加速隧道协议,这意味着流量不会来自也不会发送到处理的FortiGate设备。
上图显示了NP7处理器支持的隧道协议。
IPsec VPN可能不支持一些不太常用的提案,如AES-GMAC。如果你使用不受支持的第1阶段提案,CP9处理器不会加快FortiGate上未加密IPsec流量的安全检查。
为了确保CP9处理器加速IPsec VPN隧道流量,请更新IPsec第1阶段提案以使用受支持的加密算法。
在本节中,你将学习如何配置硬件加速。
你可以禁用NP和CP的硬件加速,以使FortiGate应用严格的报头检查,并验证流量是应该处理的会话的一部分。
该命令检查数据包头并验证以下参数:
● 第4层协议报头长度
● IP报头长度
● IP版本
● IP校验和
● IP选项
● ESP正确的序列号
● SPI
● 数据长度
如果数据包未能通过报头检查,FortiGate会将其删除。
在某些情况下,FortiGate可能会以错误的顺序转发多播流量流中的碎片数据包。如果不同的CPU内核正在处理来自同一多播流的数据包,则可能会发生这种情况。
你可以使用CLI命令将FortiGate配置为将接口接收的所有流量发送到同一CPU核心。
你可以在IPS全局设置中设置NTurbo和IPSA加速模式。通过将NTurbo模式设置为基本模式,你可以在安全防火墙策略上禁用NTurbo。如果你想对特定流量进行故障排除或测试硬件加速,这可能会有所帮助。
你可以在FortiGate上的系统全局设置中运行此幻灯片上的CLI命令,以禁用ASIC卸载,以加速IPsec ESP流量的IPsec Diffie-Hellman密钥交换。默认情况下,FortiGate使用IPsec DiffieHellman硬件卸载。
出于调试目的或其他原因,你可以在配置系统全局中禁用卸载。
要检查FortiGate上的SPU信息,你可以运行CLI命令lspci,并查看Fortinet的供应商ID之后的十六进制值,该值为1a29。
对于FortiGate上的CP信息,你可以运行命令get hardware status并查看ASIC version值。
通过掌握本课程中涵盖的目标,你了解了FortiGate上硬件加速的设计方面,并探索了FortiGate上可用的不同安全处理单元。