为什么有些路由协议发送到 Host 子接口,而另一些发送到 CEF-Exception 子接口?

网络工程 思科
2021-07-12 02:17:32

这个问题是关于控制平面保护CPPr - 不要与控制平面策略( CoPP )混淆

CoPP 和 CPPr 之间的主要区别在于,CPPr 通过将控制平面流量分为三类(也称为子接口,允许对控制平面流量进行更细粒度的限制

  • 控制平面主机子接口
  • 控制平面传输子接口
  • Control Plane CEF-Exception子接口

第一个和第三个由 Cisco 定义如下:

控制平面主机子接口:此接口接收所有直接发往路由器接口之一(物理和环回)的控制平面 IP 流量。控制平面主机 IP 流量的示例包括隧道终止流量;管理流量;以及路由协议,例如 SSH、SNMP、内部 BGP (iBGP) 和 EIGRP

控制平面 CEF 异常子接口:此控制平面子接口接收所有流量,这些流量要么由于在 CEF 数据包转发路径中配置的输入功能而被重定向以进行进程交换,要么由接口驱动程序(即即 ARP、外部 BGP (eBGP)、OSPF、LDP、第 2 层保持连接和所有非 IP 主机流量)。控制平面保护允许对此类控制平面流量进行特定的聚合监管。

我的问题:

为什么某些路由协议被视为控制平面主机子接口,而其他路由协议被视为控制平面 CEF-异常子接口?

即从上面的文档来看:iBGP和EIGRP是Host子接口,eBGP和OSPF是CEF-Exception子接口。尽管 iBGP 和 eBGP 都使用 TCP/179 单播作为传输。

我试图了解所有三个类别/子接口的不同功能,而路由协议被拆分为其中两个让我感到困惑。

1个回答

该描述具有误导性,这是我们需要修复/标准化的内容(我在 Cisco 工作,将与文档人员联系以修复它)。

事实上:

  • 控制平面主机子接口 - 在它的一个接口(物理/逻辑)上遇到路由器控制平面的任何东西;认为:路由协议、管理协议等。
  • 控制平面传输子接口 - 软件交换并传输到路由器的流量(如不同类型的隧道,取决于 IOS/IOS XE 版本)
  • 控制平面 CEF-Exception 子接口 - 任何没有被捕获更高,并且不适合 CEF 处理链的东西(软件路由器中的软件,或者 ASR1k/ISR4k 中的 QFP 之类的东西) - 在这里,误导部分是 '直接由接口驱动程序(即 ARP、外部 BGP (eBGP)、OSPF、LDP、Layer2 Keepalive 和所有非 IP 主机流量)在控制平面输入队列中排队' - 实际上,如果您有多播或非 IP 流量,以及 QoS 策略和/或使用 BFD(UDP 流量,但以特殊方式处理)或 SPD(缓冲,再次对选定的标记流量进行特殊处理)的调整它可能会在这里结束,但通常情况下,BGP/OSPF/LDP 会命中主机子接口。另请注意,此子接口还将获得 TTL<=1 的流量(这可能会影响某些 BGP 直接会话并在文档中解释不清楚的注释)、设置了 IP 选项的数据包、校验和错误等。

问题是,由于功能是在 12.4T 左右实现的,据我所知,它至少被重写了一次 12.4S(后来变成了 15S),所以它在不同的硬件和软件组合上的表现可能不同。YMMV,因此最好首先使用一些合理的默认值和“允许”操作配置策略,然后在正常工作期间观察您的平台和网络以构建基线。然后检查是否一切都被理解并将“删除”操作应用于已建立的阈值。

请记住,“正常工作”应包括重新收敛事件。CoPP/CPPr 通常会忽略这一点,从而导致难以解决问题。