众所周知,TCP是有状态的连接,状态检测的防火墙能根据该IP包所属的连接是新的还是旧的,决定该IP包是否符合防火墙的政策约定。因此,防火墙必须在内存中保留这一记录,每一个连接,就是一个会话。防火墙支持多少会话连接,取决于防火墙的内存多少,系统会自动使用所有内存,直至内存用光,系统崩溃为止。因此,许多防火墙都会设定一个会话连接最大值,一旦系统记录的会话达到这个数值,系统就不再建立新的会话。同时,为了保证防火墙的会话连接不会过多,防火墙提出的长连接和短连接的概念,针对不同的网络应用协议调整会话连接保持的时间。

一、防火墙长连接和短连接的概念

1、长连接的概念

       长连接功能用于设置特定数据流的超长保持时间,让数据流的会话连接保持时间不受全局老化时间限制。其实这项特殊业务与目前业界的状态防火墙的实现机制是存在矛盾的。

       为保证内部网络的安全,防火墙上的各会话缺省保持时间都相对较短,例如:缺省情况下,TCP的保持时间为1200s,UDP的保持时间为120s。

       正常情况下,当一个TCP会话的两个连续报文到达防火墙的时间间隔大于该会话的保持时间时,为保证网络的安全性,防火墙将从会话表中删除相应会话信息。后续报文到达防火墙后,防火墙根据自身的转发机制,丢弃该报文,导致连接中断。在实际应用中&#