- 防火墙技术及应用
- 孙涛 高峡 史坤编著
- 698字
- 2025-04-15 11:33:08
2.3.4 流与会话
谈到安全策略就不得不提到命中策略及触发动作的流(Flow)和会话(Session)。流和会话的概念在防火墙的相关文章中经常出现,两者关系密切,容易混淆。
网络中常提到的流特指某个五元组或三元组所唯一标识的一组报文,它没有方向的概念。根据IP层协议的不同,可以将流分为4类:
●TCP流:通过源IP、目标IP、源端口、目标端口、协议来唯一标识。
●UDP流:通过源IP、目标IP、源端口、目标端口、协议来唯一标识。
●ICMP流:通过源IP、目标IP、协议、ICMP类型、ICMP代码唯一标识。
●IP流:通过源IP、目标IP、协议唯一标识。会话可以理解为两台设备或用户之间为了信息交换所维护的一个通道。既然是为了信息交换,那么就有信息的发起方(Initiator)和响应方(Responder),是一个双向的交互,存在方向的概念。会话通常关联两个方向的流,初次建立会话的流的方向可唯一定义会话的方向。
这里以建立TCP会话的三次握手的过程为例,图2-12所示为TCP连接的建立过程。

图2-12 TCP连接的建立过程
1)客户端首先向服务器发起建立连接请求报文,标志位SYN置位。
2)服务器收到请求报文后,如果同意建立会话,则回应确认报文,标志位SYN和ACK置位。
3)客户端收到服务器的确认后,对服务器的回应再次确认,标志位ACK置位。
经过上面的3步交互就建立了一条完整的会话,会话的方向就是首包(SYN)发起的方向,也就是客户端到服务器。
会话和策略的关系可以简单描述为只有会话初次建立时会命中安全策略,会话生存周期内的报文交互无须再次匹配策略。例如,客户端从服务器下载一个电影文件,只有在建立下载的TCP连接的过程中才会匹配策略,如果策略放行,那么后续下载数据的过程便不会反复匹配策略,这样可以极大地提高策略的匹配效率,同时达到安全控制的目的。