MTR 无法识别跳数 IP

MTR 无法识别跳数 IP

我正在构建一个集成的网络运营门户,将来自多个资源的信息联系在一起。我想了解的一件事是网络的拓扑结构,我正在尝试使用 MTR 来实现这一点。不幸的是,我认为它无法识别交换机、防火墙或虚拟 (vSphere) 交换机的 IP 地址。

我知道到达该终点需要经过几个跳转。此输出很有用,因为我将能够了解终点之间的跳转次数,因此有了足够的数据,我将能够确认同一段(逻辑或虚拟)上的内容,但是我希望能够了解这些段如何组合在一起。

$ mtr --show-ips  --report-wide 10.8.100.12
Start: Sat Feb 27 12:00:05 2016
HOST: tbrown                         Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- ???                            100.0    10    0.0   0.0   0.0   0.0   0.0
  2.|-- ???                            100.0    10    0.0   0.0   0.0   0.0   0.0
  3.|-- drblah02.xyz.com (10.8.100.12)  0.0%    10   76.2  76.1  73.7  80.7   2.3

是否需要启用这些设备才能以某种方式提供这些信息?

答案1

跟踪输出中的行数将指示从您到对等点的路径上跳数限制(也称为生存时间)减少了多少次。因此,未减少跳数限制的设备将对跟踪不可见。例如,交换机将不会出现在跟踪中,因为它们在比 IP 更低的层上运行。

同样重要的是,当跳数限制变为零时,设备会如何表现。如果设备默默地丢弃数据包,您将看到一条空白行。如果设备生成带有正确错误代码的 ICMP 数据包,您将看到该 ICMP 数据包的源 IP(或主机名)。

路由器在跟踪中显示为空白行可能有多种原因:

  • 它可能配置为限制其产生的 ICMP 数据包的数量或者根本不发送它们。
  • 它可能在 ICMP 生成中存在错误(一个可能的错误是在 ICMP 数据包中使用原始数据包的剩余跳数限制)。
  • 它可能没有足够的 CPU 能力来响应所有数据包。

如果您在最终目标之前看到多个空白行,则可能是目标本身的 IP 堆栈中存在错误。如果目标将跳数限制从原始数据包复制到响应,则除非原始跳数限制足以覆盖双向路由,否则响应将不会返回。这通常会导致路径看起来是实际长度的两倍 - 而路径的后半部分没有响应。

相关内容