NGFW中数据包转发流程

  

状态检测防火墙报文处理流程

  

 NGFW中数据包转发流程

  
      <李>查询会话前的处理过程:基础处理李   <李>查询会话中的处理过程:转发处理,关键是会话建立李   <李>查询会话后的处理过程:安全业务处理及报文发送李   
  <人力资源/>   

<>强了解转发流程之前,先给报文分个类

  <人力资源/>   
      <李> <强>协议报文:使防火墙正常运行于网络中,或用于双机热备等功能的协议报文,如OSPF,合、ICMP等报文   <李> <>强穿过防火墙的业务报文:用户经过防火墙访问互联网的报文,我们通常习惯称为业务报文,可能是二层或三层报文。尤其TCP、UDP最为常见。(二层和三层报文,转发流程没有本质区别,主要差异在于查路由阶段,二层报文根据MAC地址转发,三层报文根据路由表转发)   
  <人力资源/>   

<强>做分类是因为防火墙对于这两类报文处理流程有所不同。

  <人力资源/>   
      <李>对于协议报文,防火墙处理比较特殊,并不适用于通用原则。以OSPF为例,当网络类型为广播时,其弟弟报文为单播报文,需要经过防火墙的安全策略检查。而当网络类型为P2P时,其弟弟报文为组播报文,则不需要经过防火墙的安全策略检查,直接被转发。对于每个协议。防火墙处理并不完全相同。   
  <人力资源/>   
      <李>对于业务报文。如TCP首包,UDP等报文都需要建立会话。判断该报文要创建会话后,接下来马上查询会话表中是否已创建该报文的会话。   <李> - - - - - -对于不能匹配会话表中任一表项的报文,防火墙判断该报文为某一流量的首包,进入首包处理流程
    - - - - - -对于匹配了会话表中某一表项的报文,防火墙判断该报文为某一流量的后续包,进入后续包处理流程李   
  <人力资源/>   

查询会话表前的基本处理
主要目的是解析出报文的帧头部和IP报文头部,根据头部当中的信息进行一些基础的安全检测
收到一个数据包:
首先监测是否有配置MAC地址过滤
为什么是先MAC地址过滤再解析帧头部?。
MAC地址过滤的时候只是扫描出MAC地址,根据MAC地址来进行MAC地址过滤。后面的解析帧头部能完整的解析整个帧头部。(自我补充:如果两者位置调换,只会徒增设备的性能消耗,费力不讨好)
根据接收报文的接口是二层接口还是三层接口有两种处理方式:
对于三层接口接收的报文,NGFW需要根据报文中的目的地址来标明路由表,以决定这个报文的出接口。所以此类报文会在解析和剥离头部信息后,进入后续的处理。(剥离帧头部解析IP报文,是为了确定目的IP,以用做后续路由表查询)
对于二层接口接收的报文,NGFW需要先判断这个帧是否需要跨VLAN转发,对于同一VLAN内的报文,NGFW需要根据报文中的目的MAC地址查询MAC地址转发表,以决定这个报文的出接口。对于需要跨VLAN转发的报文,NGFW需要获取其VLAN ID,找到对应的子接口或者VLAN-IF接口。子接口和VLAN-IF接口是虚拟的三层接口。所以此时报文就会按照类似三层接口接收一样处理,NGFW根据报文中的目的地址来查找路由表,以决定这个报文的出接口。
这两类报文在提取到所需的信息后,剥离头部,进入后续的处理
在这个阶段中主要进行的特性有:

           特性   说明               MAC地址过滤   根据报文帧头部的源MAC和目的MAC对报文进行过滤         VLAN   VLAN是用户控制以太帧在局域网泛洪的一种技术         IP/MAC地址绑定   为了防止IP地址欺骗和ARP类的* * *,管理员可以配置IP和MAC的对应关系,此特性可以根据报文中携带的IP和MAC信息判断报文是否合法并过滤         入接口带宽阈值   管理员可以在接口上配置接受报文的带宽阈值,如果当前流量带宽已经超过了阈值,入接口就会将超出的报文丢弃         单包* * *防范   在获取报文的头部信息后,NGFW就可以根据管理员开启的单包* * *防范类型对报文的合法性和安全性进行检测,判断报文是否属于* * *报文并进行过滤            <人力资源/>   <人力资源/>   

查询会话表,根据查询结果对报文做不同的安全机制检测和处理。
此阶段是NGFW的核心处理环节,主要的安全功能都在这个阶段实现.NGFW根据该报文是否存在匹配的会话表项?

NGFW中数据包转发流程