今天分享了一个通过添加路由实现跨网段通讯的帖子,其中有个网友留言说是通过更改子网掩码实现的,我觉得这个话题挺好的,所以发了这个帖子:
疑问:
两个PLC 一个地址是192.168.0.1 255.255.254.0 另一个192.168.1.1 255.255.254.0 怎么可以通讯呢? 这种是通过子网掩码实现跨网段通信吗?
解答:
先把话说明白:这两个 PLC 其实就在同一个三层网段里!
掩码 255.255.254.0 → 块大小 512 地址 → 覆盖范围 192.168.0.0 – 192.168.1.255
因此
? 192.168.0.1/23 的网络号 = 192.168.0.0
? 192.168.1.1/23 的网络号 = 192.168.0.0
两者完全属于同一子网,ARP 广播能直达,根本不需要任何路由器或改掩码,直接把默认网关留空即可互相 Ping/通信。
疑问:
192.168.0.1/23 后面的/23是什么意思? 为什么说两者完全属于同一子网?
解答:
/23 是 CIDR(无类域间路由) 的写法,告诉你“前 23 位是网络号,剩下 9 位是主机号”。 把它转成十进制就能一眼看出范围:
1.先写掩码
/23 → 二进制 1 的个数 = 23
11111111 11111111 11111110 00000000
→ 十进制 255.255.254.0
2.再算“块大小”
主机位共 32-23 = 9 位 → 2? = 512 个地址
所以每个 /23 网段长度是 512,起点一定是 0、512、1024... 的倍数(把第 3 字节当成 256 进制看)。
3.对 192.168.0.1/23 具体算一次
第三字节掩码 254 → 256-254 = 2,块大小就是 2 个“256”
网络号 = 能被 512 整除的数 → 192.168.0.0 – 192.168.1.255
可用主机:192.168.0.1 – 192.168.1.254
广播地址:192.168.1.255
4.对 192.168.1.1/23 同样算
192.168.1.1 落在 192.168.0.0 – 192.168.1.255 区间 → 网络号仍是 192.168.0.0
因此
192.168.0.1/23
192.168.1.1/23
网络号完全相同,ARP 广播在同一二层域里就能直达,不需要任何路由器,所以它们属于“同一子网”。