当前位置:网站首页>NetSeer:可编程数据平面的流事件遥测笔记

NetSeer:可编程数据平面的流事件遥测笔记

2022-06-23 17:37:00 巴川笑笑生

NetSeer:可编程数据平面的流事件遥测

意义

在云提供商拥有庞大而复杂的网络中,配置、软件和硬件的错误和故障是不可避免的。因此,应用程序经常遭受不断的网络性能异常,如带宽下降、长尾延迟、带宽/延迟抖动等

由于应用程序对性能越来越敏感,网络性能异常对云提供商来说越来越重要。

挑战

迅速缓解网络性能异常是极具挑战性的,因为它在网络监测的覆盖范围、速度和准确性方面有着极高的标准。

在大多数的网络性能异常中,瓶颈是找出网络性能异常产生的原因所花费的时间。为了快速定位原因,云提供商必须能够立即发现发生在应用程序流量上的所有性能关键事件,例如丢包、拥塞等,这些都是网络性能异常的直接触发。此外,这些事件的粒度应该在流量级别而不是传统的接口或设备级别,因为关于受害者应用程序的流量在哪里以及如何受到干扰的精确信息可以显著加快原因定位。因此,云提供商必须监视数据平面的流事件,并使事件检测尽可能响应快。

不幸的是,现有的网络监测方法远远不能满足上述对网络性能异常进行故障排除的要求,因为它们不是为此目的而设计的。

方案

最近在商品可编程数据平面上的进展为直接在交换机数据平面本身的起点执行监控逻辑提供了基础。这种方法可以实现细粒度和低成本。

本文介绍了一种基于流事件遥测的网络监视器NetSeer,它可以连续、同时地监视所有单独的流,并综合检测流事件,包括包丢弃、拥塞、路径改变和包暂停,成本适中。NetSeer的核心思想是对流事件进行检测,将事件数据完全压缩到可编程数据平面内部,然后再上传到管理平面,这样可以大大降低监控开销,同时保持数据的细粒度。

有如下创新点

  • NetSeer利用链路两边的可编程性来协作发现交换机间的丢弃事件,并恢复丢弃或损坏数据包的流信息

  • NetSeer充分利用数据平面可编程性,精确识别遇到事件的数据包,聚合经历相同流级事件的数据包,对流事件进行无损压缩,最大限度地减少产生的事件数据量

  • NetSeer通过一种新颖的环形包驱动事件收集的数据平面内设计,将小型事件消息批量处理到大数据包中,以减少交换机的传输和处理开销

  • NetSeer采用分布式方式进行流事件遥测,使其可以随网络规模线性扩展

  • NetSeer确保事件生成中零误报,并使用带有ASIC卸载的开关CPU以较小的开销发现和消除误报。

开放问题

总结

在本文中,我们提出了NetSeer,这是一种数据平面内的网络监视器,它可以通过高级可编程数据平面精确捕获流级数据平面事件,以方便对npa进行故障排除。我们通过新颖的设计,充分探索可编程数据平面的灵活性和性能,证明NetSeer可以实现几乎全流事件覆盖,对网络规模具有良好的可扩展性,以及流事件数据的高准确性。通过案例研究和实验,我们揭示了NetSeer在加速缓解各种网络性能异常方面的强大能力。

原网站

版权声明
本文为[巴川笑笑生]所创,转载请带上原文链接,感谢
https://ranyou.blog.csdn.net/article/details/125010121