如何解释 WinMTR 识别的数据包丢失

如何解释 WinMTR 识别的数据包丢失

我被要求调查一位前顾问在客户那里发现的数据包丢失问题。他们有两个 ADSLMax 连接,一个用于数据,另一个专用于 VoIP。数据包丢失给 VoIP 呼叫造成了问题,但我的第一个尝试是在网络上运行 WinMTR数据连接以便在测试 VoIP 线路之前给我一个参考框架。

我发现结果很有趣,尽管我不确定如何解释它们。在这两种情况下,10.5.4.1都是 Linux 网关,10.5.4.254是 ADSL 路由器,212.74.102.14是 ISP 端的网关。我的第一次运行产生了:

|------------------------------------------------------------------------------------------|
|                                      WinMTR statistics                                   |
|                       Host              -   %  | Sent | Recv | Best | Avrg | Wrst | Last |
|------------------------------------------------|------|------|------|------|------|------|
|                                10.5.4.1 -   10 | 1215 | 1094 | -24901298 | 2353567 | 24901342 | 24901342 |
|                              10.5.4.254 -    0 | 2149 | 2149 | -24901307 | 222826 | 24899947 |    0 |
|                           212.74.102.14 -    0 | 2138 | 2138 | -24901309 | 1904058 | 24901369 |   30 |
|________________________________________________|______|______|______|______|______|______|

第二次运行时,我通过将网关地址更改为 10.5.4.254(数据路由器)来切断 Linux 网关:

|------------------------------------------------------------------------------------------|
|                                      WinMTR statistics                                   |
|                       Host              -   %  | Sent | Recv | Best | Avrg | Wrst | Last |
|------------------------------------------------|------|------|------|------|------|------|
|                              10.5.4.254 -    0 |  955 |  955 | -24896677 | 3722073 | 24896756 |    0 |
|                           212.74.102.14 -    0 |  821 |  821 | -24896534 | 2222737 | 24896284 | -297383 |
|________________________________________________|______|______|______|______|______|______|

我询问了顾问对这些测试的解释,他说:

Linux 机器实际上并不路由互联网流量,它是使跨 VPN 路由更容易的默认路由,但它会对大多数流量执行 ICMP 重定向到实际路由器。

ICMP 并不总是代表数据包丢失,除非是端到端,因为两端都在您的控制之下。中间路由器通常会限制 ICMP 回显响应。

本质上,他认为数据包丢失是在 ADSL 线路离开我们的路由器后发生的,但他对我的问题“您进行了哪些测试来测量数据包丢失 - 它仅在 Asterisk 日志中出现还是您使用工具来测量它?”的回答是:

我不记得了——那是几年前的事了。

我的问题是,这是否是对数据的有用解释,或者我是否发现了一个可以通过修复我们这边的网关来解决的潜在问题。

请注意,我并不是想贬低或诽谤顾问或他的技能——他为这位客户所做的大部分工作都是无偿的(这是一种慈善行为)。我只是希望得到专家的第二意见 :-)

答案1

基本上,他对丢弃的 ICMP 数据包的属性的看法是正确的,尽管在本地 Linux 机器上看到丢包的情况并不常见 - 尤其是在 10% 的范围内。您应该使用另一台 Linux 主机并运行ping -f 10.5.4.1以检查是否存在本地连接问题。如果您看到相同程度的丢失,请执行防火墙在这台机器上运行,看看它是否也会影响其他协议(即 TCP 和 UDP)。

WinMTR 统计数据表明连接正常 - 向 212.74.102.14 发出的回应请求有 100% 的回复。如果 VoIP 数据通过 10.5.4.1 传输 VPN,而该主机由于某种原因出现本地连接问题,则这可能是导致 VoIP 中断的原因。

相关内容