我试图了解这是如何工作的。我有 2 个主机,它们的 IP 地址如下:
m1: 192.168。0.1/24
米2:192.168。1.1/24
如您所见,它们位于不同的网络上。在我的例子中,它们连接到单个交换机 s1。我的问题是:为什么我可以执行该命令
ARP 192.168.1.1
从m1到达m2并得到m2的回复?
据我所知,由于这些主机位于不同的网络上,因此它们不应该进行通信。
我尝试的另一个类似情况是将另一个交换机 s2 直接连接到 s1 并连接
m3:192.168。2.1/24
m4:192.168。3.1/24
到这个新的 s2。我再次可以从 m1 向 m3 或 m4 执行 arping 命令并得到回复。
我没有在这个配置中使用任何路由器。
有人能解释一下发生了什么吗?谢谢
答案1
顾名思义arping
,它不作用于网络 OSI 模型的 IP 层/第 3 层,而是作用于第 2 层(以太网),负责查找连接到 IP 地址的 MAC 地址。
所以arping
基本上
- 请求 who-has 192.168.1.1,这是一个广播
- 回复 192.168.1.1 is-at 52:54:00:6f:ef:de
ARP 层的工作方式与 IP 堆栈不同,答案是 MAC 地址,而不是ICMP 回显答复就像 一样ping
。
此 ARP 查找机制在交换机域上起作用,并且无法路由,而使用 IP 层可以在不同网络之间路由。