ping某地址或向目的IP发消息时,如何知道自己和对方是否在一个子网内?

ping某地址或向目的IP发消息时,如何知道对方子网掩码?不知道怎么确定是否在同一子网内?不能确定是否在同一子网内如何使用什么同一网段和不同网段不同操作的ARP协议?又怎么能知道对方MAC?
假设PC--Router1-----Router2----PC
刚才收到的回答:

19 分钟前wucl202000|十级最快回答

确定对方和你是否在同一个子网内,看的是你自己的ip和子网掩码,计算出一个网络范围,然后再看对方的ip是否在此范围内。

那假如我是192.168.1.2,子网掩码是255.255.0.0,对方是192.168.2.3,子网掩码是255.255.255.0,都是192.168.0.0,两者怎么能是一个子网呢?这根据站不住脚啊

我举个两个计算机直连不同网段的例子
你是192.168.1.2/16 A主机发ping
第一个发出的数据包是ARP请求要对方的MAC

因为是发广播,后者肯定是可以收到的
B主机收到之后回包
回包就是单播了,发送到刚才ARP广播的A的MAC地址
A收到了B的MAC地址,这时候发送ICMP包
然后。。就没有然后了
B永远不可能给A一个答复,因为对于B来说 A是unreachable的!追问

误人子弟

追答

我这个回答是站得住脚的
模拟了这个实验 也做了抓包 你觉得哪里不对 你可以说出来

追问

我觉得就没有对的地方,因为实话说,也许你表述太差了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-17
完全不理解你的意图。MAC是二层关心的东西,因为二层设备需要通过MAC寻址,三层根本不关心数据包发送源的MAC,三层设备通过IP寻址。PING是工作在三层的,本身根本不携带数据包发送源的MAC,即便你抓包也只能得到在拓扑上离你最近的那个转发端口的MAC。你为什么会要求IP层要担负数据链路层的职能呢?你认为数据报有必要保留每一级转发端口的MAC吗?那将会出现一个多么巨大的报头需要二层设备进行拆包本回答被提问者采纳

ping某地址或向目的IP发消息时,如何知道自己和对方是否在一个子网...
你是192.168.1.2\/16 A主机发ping 第一个发出的数据包是ARP请求要对方的MAC 因为是发广播,后者肯定是可以收到的 B主机收到之后回包 回包就是单播了,发送到刚才ARP广播的A的MAC地址 A收到了B的MAC地址,这时候发送ICMP包 然后。。就没有然后了 B永远不可能给A一个答复,因为对于B来说 A是...

计算机如何判断对方是否与自己是否在同一子网
我想,弄清楚这个问题,首先应该要了解计算机是如何根据对方IP判断对方是否与自己在同一子网的。解析:我解释一下:1--A PING B时,认为B所在子网192.168.1.0(A认为B掩码也是255.255.255.0),和自己192.168.0.0不在同一网段,而又没有默认网关,所以就认为unreachable!2--B PING A时,B自己算...

如何判断两台电脑在同一个局域网内
首先,可以尝试通过ping命令来测试网络连通性。在命令提示符(Windows)或终端(macOS\/Linux)中输入`ping`命令后跟另一台电脑的IP地址。如果命令成功执行并返回了来自目标电脑的响应,这通常意味着两台电脑处于同一局域网内,因为它们能够直接通过局域网内的路由进行通信。其次,检查两台电脑的IP地址和子网...

如何判断两个ip地址是否处于同一子网?
1、打开网络邻居,查看工作组计算机,如果在里面能看到对方的计算机名称。那么两台电脑同属于一个局域网。2、连接同个交换机或者路由器,而且都能上网,那么肯定是同个局域网。3、用局域网查看工具来查,出现的电脑为同个局域网。如果是在b类网的基础上,就不用看160.162段了,就看第三段,192转换...

两台电脑是否在同一个局域网内怎样看?
1. **IP地址判断**:最直接的方法是查看两台电脑的IP地址。如果它们位于同一子网内,即IP地址的前几部分(网络部分)相同,且子网掩码也匹配,那么它们很可能在同一局域网内。例如,IP地址分别为192.168.1.10和192.168.1.20,子网掩码均为255.255.255.0,则它们在同一局域网。2. **网络发现...

如何判断电脑在同一局域网内
如果两台或多台电脑的IP地址在相同的子网内(即IP地址的前几部分相同,具体取决于子网掩码的长度),那么它们很可能在同一局域网内。此外,还可以使用一些网络工具如ping命令来测试网络连接。通过ping另一台电脑的IP地址或主机名,如果能够得到响应,说明它们之间能够通信,这通常是处于同一局域网内的标志...

如何判断两台电脑在同一个局域网内?
除了直接比较IP地址,还可以通过一些网络工具来检测。例如,可以使用ping命令来测试两台电脑之间的网络连接。如果ping命令能够成功返回,那么说明两台电脑之间是可以相互通信的,这在很大程度上意味着它们处于同一个局域网内。当然,这也要考虑到防火墙等网络安全设置可能阻止ping命令的情况。举个例子,如果你...

怎么知道两台电脑是不是一个局域网的
1. **查看IP地址**:最直接的方法是查看两台电脑的IP地址。如果它们属于同一子网(即IP地址的前几段相同,而子网掩码决定了哪几段是子网部分),则很可能在同一局域网内。例如,IP地址分别为192.168.1.10和192.168.1.20,子网掩码均为255.255.255.0,则它们在同一局域网。2. **ping命令测试...

如何判断两台电脑在同一个局域网内?
例如,可以使用ping命令来测试两台电脑之间的网络连通性。如果两台电脑能够相互ping通,那么它们很可能在同一个局域网内。当然,这并非绝对,因为有时不同局域网间的电脑也可以通过VPN或其他技术实现ping通。但结合IP地址和子网掩码的判断,可以更为准确地确定两台电脑是否在同一个局域网内。

如何判断ip是否在同一个局域网内
看子网掩码,根据子网掩码划分出网络号和主机号。如果网络号相同,那就说明IP是在同一个局域网内。具体的就是前面三位相同,只有最后一个不同。(这只限于C类网络,现在大部分的局域网都是C类的)192.168.0.1 192.168.0.最后一位小于255,只要不重复,就都是同一个网络的。

相似回答