C3PL 工作指令

网络工程 思科 服务质量 cisco-ios-15
2021-08-03 08:48:49

很难找到有关此主题的信息。我想知道:如果流量在类映射中受到攻击,是立即转发还是首先根据所有剩余的匹配语句进行检查?示例:给出以下配置:

ip access-list extended QOS_CITRIX
 permit tcp any eq 2598 any
 permit tcp any any eq 2598
 permit udp any eq 2598 any
 permit udp any any eq 2598

class-map match-any QOS_CITRIX
 match ip dscp 32
 match access-group name QOS_CITRIX

policy-map QOS
 class QOS_CITRIX
  set dscp 32
  bandwidth percent 50

如果带有 DSCP32 的数据包到达要根据此类映射进行检查,它是否处理 ACL?

2个回答

类映射有 2 种不同的匹配变体。匹配任何或匹配所有:

  • match-all = 所有条件的逻辑 AND 所有条件必须为真才能匹配
  • match-any = 所有条件的逻辑或,如果至少有一个条件为真,则存在匹配

使用 match-any 它按顺序读取它们并停止一次/如果找到匹配项。

使用 match-all 它必须匹配所有匹配语句,因此只要它保持匹配,它就需要读取它们。如果它在匹配语句之一中不匹配,则无需继续尝试在以下匹配语句中进行匹配。

来源:https : //community.cisco.com/t5/routing/qos-class-map-match-any/td-p/1401075

如果带有 DSCP32 的数据包到达要根据此类映射进行检查,它是否处理 ACL?

这是高度特定于实现的。例如,特定路由器模型上的特定软件实现可能将这些匹配标准安排在一个链表中,并遍历该列表以查看给定的数据包是否匹配。不知道匹配条件的顺序是什么,当匹配发生时循环退出。另一个模型上的另一个软件实现可能会启动对两个线程(在不同 CPU 内核上运行)的并行查找,在这种情况下,可以同时检查两个标准。ASIC 实现的行为可能会有所不同,理论上这两个标准可能会在两个完全不同的硅片中进行检查。你真的不能说。

不过,我不得不问:为什么这很重要?