手动计算子网掩码的IP范围
已知条件
- IP:
192.168.251.31
- 掩码:
255.255.252.0
计算思路
-
掩码是
255.255.252.0
,通过二进制转换为11111111.11111111.11111100.00000000
,连续1表示网络位,连续0表示主机位,所以第三段第六位
往后是主机位
,往前(包括第六位)都是网络位
-
IP
192.168.251.31/22
通过二进制转换为:xxxxxxxx.xxxxxxxx.11111011.xxxxxxxx
(这个例子只需要关注第三段) -
将 IP 中所有主机位修改,分别改为 0 和 1
- 后边都置 0, 就是 IP 段起始,
xxxxxxxx.xxxxxxxx.111110|00.00000000
- 后边都置 1, 就是 IP 段结尾,
xxxxxxxx.xxxxxxxx.111110|11.11111111
-
分别将起始和结束IP和子网掩码进行与运算,得到:
11111000.00000000 = 248.0
,11111011 = 251.255
-
得到 IP 段范围为:
192.168.248.0
~192.168.251.255
有个疑问,会不会出现 255.255.253.0 这种掩码
-
首先答案,掩码没有规定必须由连续的1组成,但是现实中肯定是没有这么用的。
因为非连续的对人们规划和使用非常的不友好,无法区分掩码位数,也无法确定网络位和主机位的划分
那么理论上能不能有,分析一下 -
假设存在,那么这个掩码转为二进制的写法为
11111111.11111111.11111101.00000000
通常情况我们以连续1作为网络位
,连续0作为主机位
,示例掩码就无法直接区分了
也无法用常规的/22
这种表示 -
掩码掩码,我理解是把网络位遮住,只识别主机位,那么
前24位中,第23位为主机位,其他位网络位
这样该掩码对应的可用网段就分成了两部分,即192.168.253.0~192.168.253.255
和192.168.255.0~192.168.255.255
不利于规划,还造成了 ip 浪费 -
我们假设它可以成立,那么有没有问题,以
192.168.255.0.0~192.168.255.255
这个网段为例
假设两个掩码中(255.255.255.0
和255.255.253.0
)有相同IP(192.168.255.10
),此时有一个IP(192.168.255.20
)请求与它通信,由于dest_ip和本段掩码做与运算的结果,和本网络号相同,那么会发送广播,两个 ip 会发生争抢导致数据包异常
网络不能正常使用,肯定是由问题的,那么,结论“不能这么用”,大功告成!
参考链接
欢迎加 1092845214 交流沟通呀~
本文来自博客园,作者:难德糊涂,转载请注明原文链接:https://www.cnblogs.com/yangkaiyue/p/18236407
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南