跨广播域 ping

跨广播域 ping

(非英语母语的海报)

当我尝试测试 ARP 解析第 2 层 IP 地址的方式时,我设置了一个具有固定 IP 的主机 (H1),该主机具有以下地址inet 192.168.0.123/16 brd 192.168.255.255,另一个主机 (H2) 具有inet 192.168.0.155/24 brd 192.168.0.255以下地址。H1 和 H2 都连接到同一台交换机。

我原本以为无法从 H2 ping H1,因为它们属于不同的子网或广播域,但 ping 成功了。我刷新了 H2 上的 ARP 表,结果相同。

我还重置了交换机以清空其 ARP 表,但我仍然可以跨两个不同的广播域进行 ping 操作。

我是否遗漏了什么?

答案1

首先,子网(或 IP 网络)通常与广播域。广播域处理 OSI 第 2 层概念以及帧(而不是数据包)的传播。

其次,Ping 使用 ICMP 协议,该协议发生在 OSI 第 3 层,因此 ping 可以跨路由器到达远程网络。因此,您可以 ping 另一个网络上的设备也就不足为奇了。

ARP 和 PING 本质上没有任何关系。您的本地机器不需要执行 ARP 请求来查找远程站,因为它只是向默认网关发送 IP 数据报(它通过 ARP 查找),并让路由器完成其余工作。

答案2

我不明白你为什么感到惊讶。

inet 192.168.0.123/16 brd 192.168.255.255

inet 192.168.0.155/24 brd 192.168.0.255

虽然这两个网络是不同的,但 H1 位于 H2 的网络内,而 H2 位于 H1 的网络内。因此它们必须能够沟通。

这掩盖了你混淆 OSI 模型第 2 层 (ARP) 和第 3 层 (ICMP) 协议的事实。事实上,你说,

...我仍然可以跨两个不同的广播域进行 ping 操作。

(这是第 2 层(广播域)和第 3 层(ping)概念混淆的一个例子),但有趣的是,你不是正在 ping穿过任何东西:两个 IP 网络之一包含另一个,并且 H1 和 H2 都属于两者之间的公共区域,因此您实际上是在 ping里面兩個網絡。

相关内容