防火墙 会话表

先查找会话表项,然后再目的 NAT 转换,路由查找,包过滤规则,防火墙策略、应用层匹配规则,审计策略,最后查询源 NAT 从设备转发出去。

DPtech FW1000系列防火墙技术白皮书 - 技术白皮书 - 杭州迪普科技股份有限公司

防火墙通过会话表(Session Table)来跟踪和管理经过防火墙的所有连接会话。会话表项是防火墙用来记录每个连接状态的信息,帮助防火墙在后续的数据包处理时决定是否允许或拒绝这些数据包。下面介绍防火墙如何创建会话表项的过程。

会话表项的创建过程

  1. 数据包的初次到达

    • 当一个新的数据包首次到达防火墙时,防火墙会检查该数据包的五元组信息,即源IP地址、目的IP地址、源端口号、目的端口号和协议类型(如 TCP、UDP)。
    • 如果这个数据包属于一个新的连接(即之前未在会话表中记录过),防火墙会开始创建一个新的会话表项。
  2. 策略检查

    • 防火墙会根据预定义的安全策略(如 ACL 访问控制列表、策略路由等)检查这个数据包是否被允许通过。如果安全策略允许该数据包的连接,防火墙将继续处理并创建会话表项。
    • 如果策略不允许该连接,防火墙可能会丢弃数据包,并不创建会话表项。
  3. 状态跟踪

    • 如果安全策略允许,防火墙将开始跟踪该连接的状态,并在会话表中创建一个新的表项。
    • 这个表项会记录五元组信息、连接状态(如 TCP 的 SYN、SYN-ACK、ACK 等状态)、时间戳、以及其他相关信息(如 NAT 映射、应用层协议状态等)。
  4. 数据包处理与转发

    • 防火墙会将数据包转发到目标地址,并在会话表项中更新该连接的状态。例如,在 TCP 三次握手过程中,防火墙会根据不同的 SYN、ACK 包更新连接的状态。
  5. 会话超时管理

    • 每个会话表项都有一个超时时间,防火墙会基于连接的状态和协议类型设置超时时间。例如,TCP 连接在正常关闭后会话表项可能会立即删除,而在非正常关闭的情况下会保留一段时间。
    • 如果在规定时间内没有数据包经过该会话,防火墙将会清除该会话表项。

示例:TCP 会话的创建

以 TCP 连接为例,假设一个客户端发起到服务器的 TCP 连接请求:

  1. 客户端发送 SYN 包

    • 数据包信息:源IP、源端口、目的IP、目的端口、协议(TCP),并带有 SYN 标志。
    • 防火墙检测到这是一个新的连接,没有现成的会话表项。
    • 防火墙检查安全策略,允许该连接,通过并创建一个新的会话表项。
  2. 服务器响应 SYN-ACK 包

    • 防火墙检测到该响应包属于之前的会话,根据五元组匹配到已有的会话表项。
    • 防火墙更新会话表项的状态,将其从 SYN_SENT 更新为 SYN_RECEIVED
  3. 客户端发送 ACK 包

    • 防火墙检测到该包属于已建立的连接,更新会话表项状态为 ESTABLISHED
  4. 数据传输

    • 在连接建立后,数据包将通过防火墙,防火墙会继续跟踪和更新会话表中的状态信息。
  5. 连接关闭

    • 当 TCP 连接结束时(通过 FIN 或 RST),防火墙会更新会话表项的状态,并在超时后删除该表项。

结论

防火墙通过会话表来跟踪网络连接的状态,以决定是否允许数据包通过。会话表项的创建涉及数据包的初次到达、策略检查、状态跟踪、数据包处理与转发以及会话超时管理等步骤。通过这种机制,防火墙可以有效地管理和控制网络流量,确保网络安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值