首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果没有对ARP请求的响应,主机会发送到它的默认网关吗?

问如果没有对ARP请求的响应,主机会发送到它的默认网关吗?
EN

Network Engineering用户
提问于 2018-07-15 03:03:18
回答 3查看 15.5K关注 0票数 6

主机A和B位于同一子网上。A发送ARP请求(S)请求B的MAC。不管是什么原因,B都不回应。A也会:

  1. 放弃
  2. 将数据包发送到默认网关,路由器R,并让它尝试将其路由到B?

当然,如果B位于不同的子网上,那么A就会直接进入上面的#2。我的问题是,如果它们在同一个子网上,但是ARP失败了,那么主机也会尝试#2。

这是什么时候出现的?两个案件:

  1. A实际上位于与B不同的子网上,但是子网掩码配置错误。
  2. A和B位于同一子网上,但它们都在受保护的端口(私有VLAN)中,因此没有路由器就不能直接通信。

我可以想象这种行为是依赖于实现的。因此,我希望不仅是一个理论上的论点,而且引用一个特定的操作系统的行为,或者至少引用一个RFC或标准。

EN

回答 3

Network Engineering用户

回答已采纳

发布于 2018-07-15 12:13:14

如果A的ARP请求没有得到响应,ARP尝试将在几次重试后超时,并返回返回到上层的错误(主机不可访问或类似)。

A不会尝试使用网关路由器,因为B的目标地址位于同一子网中。在尝试本地传送或使用网关之间的决定是基于本地路由表,而本地路由表又基于每个主机接口的网络部件和掩码长度。当本地传递失败时,不存在网关的回退。

A实际上位于与B不同的子网上,但是子网掩码配置错误。

如果A位于其他地方或者根本不存在,那就无关紧要了。B根据他们共同的子网前缀确定A是本地的,如果本地传递失败,那就是它。

A和B位于同一子网上,但它们都在受保护的端口(私有VLAN)中,因此没有路由器就不能直接通信。

同样的事情-如果B的ARP请求没有到达A或A的答复没有到达B,ARP失败并且没有发生本地传递(或任何其他方式)。

ARP是在RFC 826中定义的,有一些更新。

票数 5
EN

Network Engineering用户

发布于 2018-07-15 09:12:25

每个ARP都会超时,一个新的ARP会周期性地被憎恨。视具体实施情况而定,它可能会在某个阶段放弃。应用程序可能会自行超时,或者较低的层会将错误传递到应用层。

它肯定不会发送到默认网关(除非默认网关响应,代理ARP等)

在两台主机位于不同网络的情况下,可能会出现默认网关为主机执行代理ARP并使用自己的MAC进行应答,然后转发流量的情况。只有当路由器被配置为发送代理ARP时,两台主机都配置了地址/掩码,使它们相信自己位于同一网络上,并且路由器具有较长的掩码,并且认为它们位于不同的网络上,这才会发生)。不过,这不是ARP超时,执行代理ARP的路由器会立即响应。

票数 6
EN

Network Engineering用户

发布于 2018-07-15 17:04:50

简单地说,不。

当主机ARPs时,它已经通过比较自己的IP地址和子网掩码来计算主机在本地子网中的位置。

票数 0
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/51799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档