在 Nexus 7000 上为 Netflow 配置采样率的最佳实践

网络工程 cisco-nexus 净流 最佳实践
2022-02-12 12:44:42

是否有为将发送 netflow 数据的接口配置采样率的最佳实践。我已经在我们的 Nexus 7000 上进行了测试,其mode 1 out-of 1000on 接口的流量很少(见下文)

60 seconds input rate  345 packets/sec

60 seconds output rate  23 packets/sec

但是我现在想将它添加到可能的八个接口(我们有四个 Nexus 7000,每个接口上有两个需要监控的接口),这些接口面向 Internet 并看到更大的流量(参见下面的一个示例)

60 seconds input rate  100153 packets/sec
    
60 seconds output rate  10745 packets/sec

这里的采样率mode 1 out-of 1000是否足够?还是会太多?每个 Nexus 上的 CPU 在 10% 到 15% 之间。我也担心 Netflow 服务器被淹没。我的粗略计算表明,我可以预期所有接口每秒有 800 个数据包,这似乎很多。

谢谢,P

1个回答

这完全取决于您使用的是哪种 LC。像 M1 和 M2 这样的老式 LC 可以运行采样或非采样,但是 LC 和主管上的处理器每秒可以跟踪和生成的数据包数量是有限的。较新的刀片(F2/F2e/M3 和大概是 F4)必须运行采样并具有最小限制(即不超过 100 分之一左右),并且被限制为每秒一定数量的数据包。反过来,系统在给定时间保存在内存中的流总数以及每秒可以在线路上放置多少导出方面都有限制。

线卡(..或线卡上的各种 ASIC)每秒可以生成高达一定数量的数据包的流条目。这些流通过 EOBC 发送到 CPU 上的系统缓存。这些收集器生成流的速率决定了流缓存填满的速度。一些巨大的长寿命流使用少量内存。来自不断变化的来源和目的地的数据包填充的相对较低的带宽可能会以惊人的速度快速耗尽缓存。CPU 可以在线生成流导出的最大速率,但在此范围内,生成的流速率是表大小和流的平均寿命的函数。再一次 - 一个与长寿命大象流挂钩的盒子不会对缓存或 CPU 征税,而使用随机源和目的地产生的流量可以惊人地快速最大化整个事情。采样尝试解决这些问题(分析流量的速率以及 CPU 看到和导出的流数)。

那么,1000 个中的 1 个是否足以满足该流量?不知道流量的性质和使用的线卡很难说。如果您分布在 F3 上的 SoC 复合体中?几乎肯定没问题。如果这一切都在一个 F2 刀片上?可能不是。

Cisco 的文档详细介绍了各种 LC 和系统限制。我建议以此为起点。