ASPF定义:
Application Specific Packet Filter 是针对应用层的包过滤,即基于状态(会话表)的报文过滤。
ASPF能检测试图通过设备的应用层协议会话信息,通过维护会话的状态和检查会话报文的协议和端口号等信息,使得某些特殊应用(如使用多通道协议的QQ)的报文能够正常转发。

目的:
ASPF是为了解决多通道协议这种特殊服务的转发而引入的。这些协议会在通信过程中自动协商一些随机端口,而在严格安全策略的情况下,这些随机端口发出的报文可能不能得到正常转发。
通过ASPF功能可以对这些协议的应用层数据进行解析,识别这些协议协商出来的端口号,从而自动为其开放相应的访问规则,解决这些协议不能正常转发的问题。

原理:
ASPF的原理是检测出来使用多通道协议的应用的首个包的五元组,进而形成会话表(含五元组(含Sip、S端口、Dip、D端口、协议类型)信息),从而自动维护相应的server-map表(含三元组(Sip、Dip、协议类型)),这样即使后面的数据使用的端口号不同也可以通过设备的安全策略正常传输了。
ASPF的原理就是检测报文的应用层信息,记录应用层信息中携带的关键数据,使得某些在安全策略中没有明确定义要放行的报文也能够得到正常转发。

ASPF可以根据报文应用层中的信息动态生成Server-map表,即简化了安全策略的配置又确保了安全性。
ASPF功能不但可以对报文的网络层信息进行检测,也可以对报文的应用层信息进行深度检测,是FW安全规则检查的重要组成部分。

用户自定义的协议检测
用户自定义的协议检测是一种特殊的ASPF应用。
在TCP/IP协议簇中,通过端口号来判断报文的协议类型。如果用户有某些特殊应用不在上述支持的应用协议范围内,设备不能解析其应用层数据,但是用户又了解该应用的协议原理,可以通过ACL来对某一类流量进行定义,用过自定义协议的ASPF功能自动为其创建STUN类型的server-map表,以保证报文的转发。