我需要测量网络中每个链路的时延,抖动和丢包率,而不是端到端,例如像这样:

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

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

...

所有解决方案我都是可以找到是学术建议还是涉及使用专用硬件进行主动探测。

这里是一个总结,根据我的研究无法解决:



NetFlow:没有延迟信息,仅端到端

活动探测:我无法更改网络配置

测量往返行程-时间:不提供每个链接的统计信息

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

#1 楼

在思科设备上,您可以使用思科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


#2 楼

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

#3 楼

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

有一个非常幼稚的
open-您可以查看C中的源Y.1731实现。

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

希望这会有所帮助。

#4 楼

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

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

您可以指定流量持续时间,帧大小,每秒比特数/字节数第二,要传输的总字节数,以太类型,VLAN ID和PCP值。如果要测试第2层的丢失,也可以ACK第2层的帧。从Tx主机发送的帧数(可提供帧丢失值),已接收的非测试帧,按顺序接收的测试帧和按顺序接收的测试帧(早或晚)。

https ://github.com/jwbensley/etherate