BFD的硬件实现

网络工程 以太网 互联网 设计
2022-02-07 10:50:33

BFD(双向转发检测)是否有任何硬件实现?在这种情况下,发现链路故障而不是路径故障的平均时间是多少?

谢谢

1个回答

我知道至少有一些 Cisco 路由器和交换机在硬件中“实现”了 BFD。他们解决的问题如下。

在 BFD 中,需要非常频繁地发送数据包,例如相隔 50 毫秒(基于配置)。类似地,如果接收方没有连续看到三个数据包,则声明 BFD 会话已关闭。

现在考虑一个 Cisco IOS 或 IOS-XE 或 IOS-XR 路由器/交换机。CPU上运行着很多软件(各种路由协议、后台任务等等)。在已加载的系统上,软件可能会变得如此繁忙,以至于在配置的可能许多 BFD 会话之一上未能满足 50 毫秒的最后期限。

即使可以满足 50ms 的最后期限,仅它必须每 50ms 发送一个数据包这一事实可能会成为 CPU 的主要负担,从而影响软件在其他工作中的可扩展性。

接收器上的故事也是一样的。每 50ms 需要接收和处理一个 BFD 数据包。

许多路由器/交换机通过专用硬件来处理这个问题。这个硬件不必非常复杂:它只需要每 50 毫秒发送一个 BFD 数据包(格式相当简单)。这将软件从发送 BFD 数据包的繁重任务中解放出来。在接收器上,再次检查接收到的数据包的正确性,这也不是太难。

现在,当接收器的硬件实现看到连续丢失了三个(例如)数据包时,它会做什么?它只是中断 CPU,软件通过声明链接断开并触发各种其他操作来处理这种情况。

总而言之,“硬件辅助”或“硬件卸载”BFD 实现的全部意义在于释放 CPU。

所以是的,与基于软件的实现相比,拥有硬件实现将允许您配置更积极的计时器。我已经看到 50ms 的计时器以 3 的乘数稳定工作。更激进的计时器也应该是可能的,但是,对不起,我不知道这些数字。特定硬件/线路卡的 Cisco 文档可能是权威信息的来源。