服务过滤器如何评估数据包
包含单个术语的服务过滤器
对于由单个术语组成的服务过滤器,策略框架软件按如下方式评估数据包:
-
如果数据包与所有条件匹配,则会采取相应措施。
-
如果数据包与所有条件匹配且未指定任何操作,则接受该数据包。
-
如果数据包不匹配所有条件,则将其丢弃。
包含多个术语的服务过滤器
对于由多个术语组成的服务过滤器,策略框架软件会根据过滤器中的术语(从过滤器中的第一个术语开始)按顺序评估数据包,直到数据包匹配其中一个术语中的所有条件,或者过滤器中没有更多术语。
-
如果数据包与某个术语中的所有条件匹配,则执行该术语中的操作,并且数据包的评估将在该术语结束。不使用过滤器中的任何后续术语。
-
如果数据包 与术语中的所有条件不匹配,则数据包的评估将继续进行过滤器中的下一个术语。
不包含任何匹配条件的服务过滤器术语
对于具有单个术语的服务过滤器和具有多个术语的过滤器,如果术语 不包含任何匹配条件,则将对评估的任何数据包执行操作。
不包含任何操作的服务过滤器术语
如果术语不包含任何操作,并且数据包与术语中的条件匹配,则接受该数据包。
服务过滤器默认操作
每个服务过滤器的末尾都有一个隐式skip操作,这相当于将以下示例术语explicit_skip作为服务过滤器中的最后一个术语包括在内:
term explicit_skip {
then skip;
}
默认情况下,如果数据包与服务过滤器中的任何术语均不匹配,则该数据包将绕过服务处理。