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