Networking 如果ARP找不到相关的IP怎么办

Networking 如果ARP找不到相关的IP怎么办,networking,protocols,arp,Networking,Protocols,Arp,我了解ARP的基本工作原理,一台主机发送带有“谁拥有这个IP?”的MAC广播,网络中的某台主机回答“我拥有那个IP” 但是,如果路由器连接到同一个局域网,路由器的功能将是将局域网连接到广域网(希望我没有弄错)。请求地址的主机是否会自动切换并向连接的路由器发送带有其数据的消息或发生了什么情况?发生的情况是,IP堆栈首先确定需要将数据包发送到的位置。如果它转到直接连接网络中的IP地址,它将直接发送数据包,否则,它将向网关发送数据包 你可能觉得这很抽象。对于一个简单的情况,假设您有以下网络:

我了解ARP的基本工作原理,一台主机发送带有“谁拥有这个IP?”的MAC广播,网络中的某台主机回答“我拥有那个IP”


但是,如果路由器连接到同一个局域网,路由器的功能将是将局域网连接到广域网(希望我没有弄错)。请求地址的主机是否会自动切换并向连接的路由器发送带有其数据的消息或发生了什么情况?

发生的情况是,IP堆栈首先确定需要将数据包发送到的位置。如果它转到直接连接网络中的IP地址,它将直接发送数据包,否则,它将向网关发送数据包

你可能觉得这很抽象。对于一个简单的情况,假设您有以下网络:

     host_a        host_b
 +----------+   +----------+
 |10.1.1.101|   |10.1.1.102|
 +-----+----+   +-----+----+                           
       |              |           +--------+         <--------->
  -----+--------------+-----------+10.1.1.1|--------<  INTERNET >
                                  +--------+         <--------->
                                   Router
主机a主机b
+----------+   +----------+
|10.1.1.101|   |10.1.1.102|
+-----+----+   +-----+----+                           
|              |           +--------+         
-----+--------------+-----------+10.1.1.1 |-------<互联网>
+--------+         
路由器
在你的主机上,你将

  • ip地址10.1.1.101
  • 网络掩码255.255.255.0
  • 默认网关10.1.1.1
在你的主机上,你将

  • ip地址10.1.1.102
  • 网络掩码255.255.255.0
  • 默认网关10.1.1.1
假设主机_a想要向10.1.1.102发送数据包。如果使用IP地址和网络掩码,则可以看到它位于同一子网中。因此,主机a将向网络发送ARP请求,询问“嘿,谁拥有10.1.1.102?”主机b将用其MAC-ID进行响应

现在假设主机a想要发送到8.8.8.8。这不在本地网络上。因此,主机a现在将它发送到其默认网关10.1.1.1。主机a将发送一个ARP请求“嘿,谁有10.1.1.1?”路由器将用其MAC-ID进行响应

上面的过程大大简化了实际发生的事情,但它可能会帮助您进一步了解网络的工作方式


(这个问题可能更适合另一个SE站点,但可能会有人迁移它)

这个问题更适合解释,谢谢