两个ip是否在同一网段?

转载自知乎:
有两台设备,设备A:IP 172.33.4.101/16 设备B:IP 172.33.4.106/24 那么设备A的网络号是:172.33 设备B的网络号是:172.33.4 显然不在一个网段,但是两台设备经过一台交换机进行二层转发可以ping通。 这是什么原因?是我对同一网段的理解有误吗?

觉得最好的回答:
我们在这里有两个主机,四个元素:
主机A:IP-A/掩码A
主机B:IP-B/掩码B
IP-A和掩码A做与运算,得到主机A的网络号:subnet-a
同理,得到subnet-b
那么,判断主机A和主机B是否在一个子网里,是不是就看subnet-a和subnet-b是否一致呢?
不是
(敲黑板,下面的话要记住!!)
A判断B是是否和自己在一个子网里,是用IP-B和掩码A做与运算,得到subnet-b1,然后比较subnet-b1和subnet-a是否一致
A觉的B是个值得在一起人,在这里A是用A的标准去判断的.
同样,B觉的A是个值得在一起人在这里B是用B的标准去判断的
然后他们就幸福的在一起了
那么,有没有单相思的情况呢?
A用A的标准判断B是个值得在一起人,A想和B在一起
B用B的标准去判断A,却不是值得在一起人
于是A就开始了苦苦的单相思之旅.
回到答主的情况
设备A:IP 172.33.4.101/16
设备B:IP 172.33.4.106/24
A看到B的IP地址,判断B的子网为172.33.0.0/16,和自己的一致
B看到A的IP地址,判断A的子网为172.33.4.0/24,和自己的一致
然后AB通
题主可以在这样测一下
还是一个二层交换的结构,A的地址你改成172.33.3.101/16
A看到B的IP地址,判断B的子网为172.33.0.0/16,和自己的一致
B看到A的IP地址,判断A的子网为172.33.3.0/24,和自己的不一致
然后A ping B就不通了
如果抓包的话,能看到A有发包,B有收包
但是B的回包邮问题了
如果B配了网关/默认路由,B会尝试去找网关,但是找不到,无法发包
如果B没有配置网关/默认路由,B直接就会找不到路由然后无法发包

猜你喜欢

转载自blog.csdn.net/wanggong_1991/article/details/86626061