随着网络规模,复杂性和流量的增长,对连续和精确监控的需求比以往任何时候都要大。持续监控是检测安全问题,错误配置,设备故障以及执行流量工程的重要部分。
在最高级别,它是一种基于推送的监控方法:数据平面设备(如交换机和路由器)将有关流量和性能的数据流式传输到执行分析的软件。网络遥测正在成为支持这些需求的有力方式。
今天的遥测系统迫使用户在粒度和覆盖范围之间进行选择。分组级系统将每个分组(或报头)流式传输到软件。这提供了细粒度的可见性,但是在软件中处理每个数据包的成本使得高覆盖率变得不切实际。流级系统(如NetFlow)会在数据包到达分析软件之前将数据包汇总到每个流记录中。这大大减少了工作量并使高覆盖率变得实用,但却牺牲了数据包级别的可见性。
下一代遥测系统可以利用交换机和服务器硬件的进步,在粒度和性能之间取得更好的平衡。在交换机中,可重新配置的数据平面支持以每秒数10亿个数据包的线路速率进行自定义数据包处理。在服务器中,高带宽内存和指令级并行化每秒可实现数万亿次计算。
两个平台虽然都很强大,但它们都不擅长遥测和分析系统所需的一切。因此,确定每个平台应发挥的作用至关重要。大多数网络分析任务可分为三个不同阶段:
1.选择阶段从数据路径中提取数据包特征。
2.分组阶段按标题空间的某个子集对要素进行分组。
3.最后,聚合阶段计算每组数据包的统计信息。
聚合阶段更适合服务器,因为它是特定于应用程序的,并且可能需要对交换机硬件进行过于复杂的计算。选择和分组阶段更适合于交换机数据平面硬件,它可以直接访问数据包报头,并可以通过低延迟的片上存储器执行基本的分组操作。(欢迎转载分享)