监控网络链接以获取带宽和/或延迟变化

网络工程 网络 sdn 数据
2022-03-07 09:58:18

我有一个受控的 SDN 实验室场景,其中有一个控制平面和一个数据平面。该网络由以下部分组成:

  • 一个开关
  • 2 pc 连接到数据平面的交换机
  • 连接到交换机控制平面的控制器 PC,可以更改网络参数

网络控制器能够从 pc1 和 pc2 设置带宽和队列优先级。

当控制器开始向 SDN 交换机发送新配置以及 SDN 交换机回复 ack 时,我可以获得时间戳。我正在寻找一种方法来获取新网络配置何时应用于网络的时间戳。我尝试使用 ping 命令,设置间隔为 0.001 秒。可以找到显示延迟更改的确切 ping,但我怎样才能获得该确切时间的时间戳?如果我将 ping 输出传递给一个文件,那么我可以使用 Python 脚本读取它,但它不会是一个实时过程。

如果我尝试使用 iperf 从 pc1 到 pc2 监控带宽,也会发生同样的事情。在这种情况下,情况会更糟,因为 iperf 只显示一个时间窗口内平均带宽的聚合报告。

我错过了什么吗?有没有办法监控我的数据平面上的网络变化?

1个回答

我尝试使用 ping 命令,设置间隔为 0.001 秒。可以找到显示延迟更改的确切 ping,但我怎样才能获得该确切时间的时间戳?

ping不是延迟、处理延迟或类似的精确测量ping使用ICMP echo request并对ICMP echo reply 计时,因此它仅测量该协议/处理。ping值可能接近实际值,但它们也可能会大大偏离。

要进行准确的测量,您必须使用转发设备本身的仪表(例如通过 SNMP)或使用专门的路径内设备。端口镜像引入了延迟(抖动)和吞吐量(突发)的新变化,因此它不一定与您正在寻找的相似。