LAN 上 ping 的细微变化

网络工程
2022-03-02 04:37:27

当我在 ping 一个空 LAN 时得到 ping 结果的微小变化,这意味着什么?

例如 :

  • ping 同一个 vlan(第 2 层)中的资源时:无变化,ping < 1ms 持续
  • 当 ping 另一个 vlan ip 地址(第 3 层,由 L3 交换机路由)时:ping 在 1 ms 和 <1ms 之间变化
  • ping 另一个 vlan ip 地址时(第 3 层,通过防火墙):ping 在 1ms 和“<1ms”之间变化
  • ping 另一个 vlan(第 3 层,由 L3 交换机路由)中的服务器时,ping 在 <1ms 和 3ms 之间变化

防火墙没有流量过滤器。

我的问题是:这种行为正常吗?我并不担心响应时间本身,而是担心我无法真正解释的变化。交换机不忙,防火墙也不忙,因为我的网络此时是空的,所以应该不是负载问题。

我期待听到关于这个问题的想法。

1个回答

我会说它看起来很正常。但我认为你这样做有点错误。

Ping 只有一个功能:探测,即“你好,你在吗”-“你好,是的,我在这里”。虽然它向您显示了两台主机之间的延迟,但它不是网络性能工具。

您的“空”网络永远不会沉默。当您将两个网络设备(任何设备)连接在一起时,它们将立即开始交换各种信息;可用性、功能、链接状态等。这是(如 ICMP)网络管理流量,由 CPU 处理。

任何网络设备的主要功能都是流量转发。当讨论的第一个数据包到来时,第 2 层交换机将首​​先检查 MAC/ARP 表以查看通向目标的端口是否已知。如果没有,它将通过 ARP 网络学习目标端口。一旦知道,流量转发就被委托给转发引擎。CPU 在该讨论中不会接触数据包,但仍会继续与其他网络设备通信。L3 转发(即路由)通常完全由 CPU 完成。这取决于设备,一些路由交换机能够进行类似于 L2 交换的硬件数据包转发。这被称为“一次路由/多次切换”或“多层切换”。

网络设备被配置为维护网络的主要功能。所有管理流量都被赋予次要优先级,而 ICMP ping 具有最低的低优先级。这是 - 据我所知 - 适用于所有设备。允许 ICMP 具有更高的优先级将为诸如Ping of DeathPing Flood之类的 DOS 攻击打开大门。

因此,测试 2 和 3 无关紧要。设备正在响应,这表明流量正在正确流动。设备不会为 ping 牺牲 CPU 周期,它们只会在(或如果!)有时间时做出响应。一旦网络获得更多流量,您可以预期网络设备 ping 响应的变化更大。这仍然是预期的行为,它们的延迟与网络性能没有任何关系。主机到主机的响应时间应该受到的影响较小。

测试 1 和 4 更明智;但它们不是 L2 和 L3 转发性能之间的有效比较。在测试 1 中,您正在 ping 一个“资源”,在测试 4 中,您正在 ping 一个服务器 - 即不是同一个设备。虽然网络可能正在发挥作用,但延迟取决于接收者。以上内容也适用于任何计算机;NIC 是一个网络设备,ICMP 由 CPU 处理……也许您的服务器正在花时间响应。当您 ping 到不同的子网时,您会带来另一个潜在的延迟来源 - 默认网关。

如果要测试网络的转发能力,则需要以不同的方式进行。

  1. 下载iperf这是一个简单但非常强大的网络性能工具。从默认 TCP 测试开始。之后您可以更改参数、运行 UDP 测试等以进行更具体的测试。
  2. 在所有测试中使用相同的两个设备以排除基于主机的差异
  3. 连接的位置取决于测试的具体内容 - 布线、接线板等也是潜在的延迟来源
  4. 我会在所有测试中使用静态 IP;我不希望我的测试设备做任何我没有明确指示他们做的事情,包括更新 IP

Ping 谬误