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