首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果子网掩码未知,ARP请求(Unicast/广播)将如何处理?

如果子网掩码未知,ARP请求(Unicast/广播)将如何处理?
EN

Network Engineering用户
提问于 2018-05-04 07:14:20
回答 3查看 7.5K关注 0票数 4

请帮助我对ARP请求有一个疑问。根据我的理解,IP的子网是由它的子网掩码识别的,因此请考虑以下情况:-

假设具有IP30.129.33.225的Device1需要与IP- 30.113.220.62的Device2对话。

(I)如果Device1知道Device2 IP的子网掩码-

它计算并发现Device2位于不同的子网上,因此对于通信,It将数据报(数据包)发送到默认网关--没有ARP请求。

( ii)如果Device1不知道Device2 IP的子网掩码-

这是我的怀疑。Device1是做什么的?它是否发送广播ARP请求,认为Device2与其位于同一子网?任何网络设备如何计算子网掩码,或者如何识别IP的子网并决定是ARP还是路由到网关。

这个场景很重要,因为在我的例子中,Device1是一个网络设备发现设备,它从交换机MAC表/ARP表中获取in,然后点击这些in来确定它们是否活着/存在。对于我的知识交换机,MAC表/ARP表不包含子网掩码。只有路由表有子网掩码信息,我相信。那么,Device1是否发送一个ARP广播的形式“谁有30.113.220.62(Device2 IP)”“告诉30.129.33.225(Device1 IP)”或Device1通过某种方式计算掩码,并发现Device2在不同的网络中,从而路由到默认网关?

请引导我。谢谢

EN

回答 3

Network Engineering用户

回答已采纳

发布于 2018-05-04 16:43:25

ARP请求通常仅限于广播域=本地子网或段。本地子网之外的MAC地址是没有意义的。

唯一相关的问题是,我自己子网中的目标IP地址是本地的吗?

如果是,ARP目标地址并发送给MAC。

如果没有,从路由表中选择网关,ARP网关的IP地址并发送到该MAC。

要找出目标IP地址是否在您自己的子网中,您可以按位使用网络掩码来查找您自己的IP地址,从而得到您的子网地址。然后使用网络掩码按位和目标IP地址,并将结果与您自己的子网地址进行比较。如果两个子网地址相同,则目标是本地地址。

如果您打算发现远程设备的MAC地址(无论出于什么原因),您必须在适当的子网中找到(或安装)一个设备,该设备可以ARP IP地址并告诉您MAC地址。

发现远程设备要比本地设备难得多(只要尝试ARP,当你得到答案时,你就知道它就在那里)。您只能通过使用IP/layer 3功能来检测远程设备,因为这些功能可以路由。

您可以尝试ping一个设备(该设备可能选择不回答,或者回显请求或回复在途中被过滤),或者您可以尝试连接到某个公共端口。如果失败,您可以分析ICMP应答(设备请求可能会主动拒绝连接,或者路由器可能会告诉您那里没有人)。但是,如果你什么也得不到,你就不能确定那里什么也没有。

票数 3
EN

Network Engineering用户

发布于 2018-05-04 07:50:02

设备永远不知道另一个设备的子网掩码。

设备知道它的IP地址和它自己的子网掩码,并且基于这个信息知道它驻留在哪个网络中。

当主机A向主机A发送数据包时,它仅通过查找B的IP地址来确定B是否在本地网络中。

示例1:

主机A: IP 30.129.33.225 -子网掩码255.255.255.0。

-> A属于网络30.129.33.0/24。

该网络包含IP地址30.129.33.1至30.129.33.255 (广播地址)。

主机B: IP 30.113.220.62。

此IP不在同一网络中,因此如果主机A向B发送数据包,它将发送到网关。

示例2:

主机A: IP 30.129.33.225 -子网掩码255.0.0.0 -> A属于网络30.129.33.0/8此网络包含IP地址30.0.0.1至30.255.255.255 (广播地址)

主机B: IP 30.113.220.62。

这个IP位于同一个网络中,所以主机A可以直接发送一个数据包到主机B,它将执行一个ARP请求来查找B的MAC地址。

备注:

  • 要使其工作,需要子网掩码是一致的。在示例2中,如果主机B的子网掩码为255.255.255.0,则通信可能失败。
  • 在实践中,主机A确定B是否在同一网络中的方式是将自己的子网掩码应用于自己的IP地址和B的IP地址,并检查结果是否相同。
票数 10
EN

Network Engineering用户

发布于 2018-05-04 07:49:29

设备只知道它自己的子网掩码,它帮助设备计算它属于哪个网络。

网络之外的一切都必须通过默认网关,网络中的一切都必须使用ARP来发现。

在您的示例中,设备1具有IP 30.129.33.225

( a)如果子网掩码为255.255.255.0,则:

网络是从30.129.33.030.129.33.255的。该范围以外的所有东西都会进入默认网关。

然而,

( b)如果子网掩码为255.255.0.0,则:

网络更宽(从30.129.0.030.129.255.255),而且这个范围之外的所有东西都会进入默认网关。

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

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

复制
相关文章

相似问题

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