我需要测量某些统计数据,例如延迟、数据包延迟和抖动。是否可以通过嗅探两端的流量然后比较捕获数据包的时间来测量 2 个节点之间的这些统计数据?顺便说一句,这两个节点很可能无法互相看到,但他们稍后可能会看到。
通过比较 PCAP 测量延迟和其他统计数据
网络工程
潜伏
2022-02-19 16:36:57
3个回答
您无法通过嗅探流量来衡量这些统计数据,因为大多数数据包通常会通过 OSI 第 7 层,并且由于应用程序响应缓慢和许多其他因素,响应可能会延迟。
正如 Ron 提到的,您可以使用IP SLA并在 Cacti 或 nProbe 中绘制图表,NTOP 也可以用于收集抖动统计信息。Netflow 将是很好的信息来源。对于非常简单的测量,您可以使用 mtr 等工具。
您不能保证捕获流量的两台主机的时钟同步。即使启用了 NTP,两台主机之间也可能存在 10 毫秒的偏差。现在,如果两台主机同步到同一个 NTP 源(stratum0)并且在同一个 LAN 网络上,我们可以确保它们在几毫秒内精确。如果它们同步到 Internet 上可用的基于 WAN 的 NTP 源(如 pool.ntp),通常具有stratum1/2 和不同的 NTP 源。偏差可能在 10 毫秒内。因此,您的延迟数据包延迟和抖动将完全消失
您可以使用 tshark(或 wireshark),它有一些选项可以获取延迟、抖动和其他指标:
-z icmp,srt[,filter]
Compute total ICMP echo requests, replies, loss, and percent loss, as well as minimum, maximum, mean, median and sample standard deviation SRT statistics typical of what ping provides.
-z rtp,streams
Collect statistics for all RTP streams and calculate max. delta, max. and mean jitter and packet loss percentages.
请注意,要使上述 2 个选项起作用,您需要在网络捕获中分别具有 ICMP 和 RTP 数据包。
使用来自Wireshark Sample Captures的 ICMP 和 RTP 样本捕获的示例:
$ tshark -qr nflog.pcap -z icmp,srt
==========================================================================
ICMP Service Response Time (SRT) Statistics (all times in ms):
Filter: <none>
Requests Replies Lost % Loss
6 4 2 33.3%
Minimum Maximum Mean Median SDeviation Min Frame Max Frame
0.000 1116.657 279.166 0.003 558.328 29 37
==========================================================================
$ tshark -qr aaa.pcap -z rtp,streams
========================= RTP Streams ========================
Src IP addr Port Dest IP addr Port SSRC Payload Pkts Lost Max Delta(ms) Max Jitter(ms) Mean Jitter(ms) Problems?
192.168.1.2 30000 212.242.33.36 40392 0x3796CB71 ITU-T G.711 PCMA 9 0 (0.0%) 69.95 7.80 18.02
==============================================================
其它你可能感兴趣的问题