测量每个链路的延迟/抖动/数据包丢失


9

我需要测量网络中每个链路(而不是端对端)的延迟,抖动和数据包丢失例如:

s1-eth0 <-> s2-eth0(平均延迟约为20µs,标准派生值为10µs,丢包率为57%/最后一秒)

s2-eth1 <-> s3-eth0(平均延迟时间为25µs,标准偏差为5µs,丢包率为21%/最后一秒)

...

我能够找到的所有解决方案都是学术建议,或者涉及使用专用硬件进行主动探测。

这是一个摘要,根据我的研究无法解决:

  • NetFlow:无延迟信息,仅端到端
  • 主动探测:我无法更改网络配置
  • 测量往返时间:不提供每个链接的统计信息

是否有网络协议,测量工具或其他功能可提供全部或至少部分上述统计信息?

Answers:


12

在思科设备上,您可以使用思科IP SLA。您需要首先配置并启用它,然后监视结果。

脚步:

1. ip sla monitor operation-number

2. type echo protocol ipIcmpEcho {destination-ip-address | destination-hostname} [source-ipaddr {ip-address | hostname} | source-interface interface-name]

3. frequency seconds

4. ip sla monitor schedule operation-number [life {forever | seconds}] [start-time {hh:mm[:ss] [month day | day month] | pending | now | after hh:mm:ss] [ageout seconds] [recurring]

配置示例来自思科:IP SLA-使用ICMP Echo操作分析IP服务级别

Router> enable
Router# configure terminal
Router(config)# ip sla monitor 10
Router(config-sla-monitor)# type echo protocol ipIcmpEcho 172.29.139.134
Router(config-sla-monitor-echo)# frequency 300
Router(config-sla-monitor-echo)# exit
Router(config)# ip sla monitor schedule 10 start-time now life forever

监视:

show ip sla monitor statistics

6

在杜松硬件上,您可以使用RPM服务来获取这些测量值。可以将服务配置为监视特定的接口,这将有助于满足“每个链接”的要求。


4

签出Y.1731协议(或IEEE 802.1ag或OAM)。在软件中实现它相当容易(我想这就是您的目标),并且它受到所有物理网络元素的支持。

您可以查看C中非常幼稚 的开源Y.1731实现

请注意,Y.1731并非旨在跨越物理网络边界(即,要求两个MEP的MAC地址都已知),因此,如果需要通过IP路由,则需要将Y.1731帧封装在某些隧道中协议,例如VXLAN或GRE。

希望这可以帮助。


4

Etherate使您可以直接通过以太网(听起来像您要找的东西)在第2层向下测量吞吐量,延迟和数据包(帧)丢失。它目前不测量抖动,但将来会测量。

使用它,您可以以可测量的受控方式生成第二层以太网流量。

您可以指定流量持续时间,帧大小,每秒位数/每秒字节,要传输的总字节数,以太类型,VLAN ID和PCP值。如果要测试第2层的损耗,也可以ACK第2层的帧。

测试完成后,Rx主机将显示已接收的测试帧数(如果该数量少于从Tx主机发送的帧数,则可得出丢帧率),已接收的非测试帧,已接收的测试帧订单和测试框架接收顺序不正确(早或晚)。

https://github.com/jwbensley/etherate

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.