本节书摘来异步社区《Cisco安全防火墙服务模块(FWSM)解决方案》一书中的第2章,第2.6节,作者:【美】Ray Blair ,Arvind Durai,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.6 硬件架构
Cisco安全防火墙服务模块(FWSM)解决方案
FWSM的架构由4个主要部件组成:网络处理器(NP)1A(NP1A)和1B(NP1B)、网络处理器2(NP2)以及运行FWSM代码的处理器(FWSM综合处理器)。
FWSM通过一个全双工的以6Gbit/s以太通道(GEC)连接到6500或7600的背板,按进出双向来计算总共是12Gbit/s的带宽。而且从背板到NP1A和NP1B各有一条3Gbit/s的连接。
用GEC实现流量负载均衡时有一点需要考虑。在默认情况下,对于非IP流量,GEC负载均衡算法是对源MAC地址和目的MAC地址进行“异或”运算;而对于IP流量,则是对源IP地址和目的IP地址进行“异或”运算。这样,当流量从单个源流到单个目的时,将只能使用两条吉比特连接中的一条。因此如果要测试性能数据(performance numbers),则通过GEC对流量进行负载均衡时,需要多个源/目的对。
使用show etherchannel load-balance module命令来确认以太通道的配置,如例2-1所示。
例2-1 确认以太通道的配置
NP1A和NP1B每秒可以处理300万个数据包,而且通过验证数据帧的目的地址是FWSM的MAC地址还是广播/多播地址,来执行二层校验。它们还可以检验数据包的IP地址是否与FWSM相关。
路由协议数据包和任何非传输控制协议(TCP)/用户数据报协议(UDP)/ICMP流量会被发送到FWSM综合处理器。而且会对TCP/UDP/ICMP流量进行会话查询,如果会话信息不可用,则会发生如下情况中的一种。
如果数据包不是TCP同步序列号(SYN)数据包(TCP三次握手中的第一个数据包),则丢弃。
如果数据包是UDP或TCP SYN包,则发送至NP2。
如果数据包是ICMP数据包,则验证ACL或允许ICMP声明。
如果数据包是路由信息包,则发送至FWSM综合处理器。
如果是一个数据分段,则交由NP1A/B的虚拟重组进程处理。
控制信息同样会被发送到NP2。
如果会话信息可用,则会发生以下行为。
如果数据包需要“协议检测”,则将其发送至FWSM综合处理器。
如果数据包是与FWSM相关的网络管理信息,则发送至NP2。
如果数据包是一个数据分段,则交由NP1A/B的虚拟重组进程处理。
执行数据包改写,如果有必要的话,修改TCP信息与校验和(TCP协议校验),执行NAT/PAT改写,添加二层信息,然后发送到主机。遵循此流程的任何流量可以称之为在“快速或加速通道”中。
NP2可以维持每秒100K的新建会话连接。它还可以依据ACL条目进行匹配、执行路由查询、维护AAA缓存、TCP拦截、逆向路径转发(RPF)检查以及地址转换池的分配。遵循此流程的流量即是在“会话管理通道”中。
从NP1A/B接收到的而且可以在NP2上处理的数据包将返回到NP1A/ B。数据包基于下述标准进行转发。
如果数据包是现有会话的一部分,则执行TCP拦截、AAA更新等操作。
如果数据包并非属于某个会话(TCP SYN、UDP、ICMP的请求响应),则执行ACL检查、目的网络地址转换(DNAT)、RPF检查、用以确定目的接口安全等级的路由查询,以及地址池分配。如果通过上述检查,则在NP1A/B(快速通道)上会创建连接状态信息,否则丢弃该数据包。
如果数据包是发往FWSM综合处理器的,则进行拥塞控制检查,以确定FWSM综合处理器的负载能否处理额外的信息,如果合适,则转发数据包;否则,丢弃该数据包。
FWSM综合处理器执行第七层协议检查、维护路由信息和邻居邻接关系,并处理故障切换和管理接口。由于FWSM综合处理器是FWSM的软件组件,因此其性能取决于FWSM的配置和流量模式。任何FWSM综合处理器所执行的处理都是在“控制层面或慢速通道”中。
注意:
在NP1A或NP1B上处理的流量被认为是“快速通道”,而NP2上处理的流量被认为是会话管理通道,而在FWSM综合处理器上处理的流量则被认为是“慢速通道”。
图2-2所示为FWSM硬件架构的框架示意图。NP1A和NP1B经由6Gbit/s以太通道连接到6500的背板。NP1A和NP1B都有到NP2的连接和用于所有处理器的共享总线。NP2与FWSM综合处理器通向本地总线。
从硬件角度来看,FWSM是一个相当复杂的设备。在用户理解了数据包流过FWSM的方式,以及每一个功能的作用位置之后,就会更清楚FWSM应该部署在网络中的哪个地方,而且也有助于用户更为迅速地排除故障。