如何快速掌握IP地址计算、子网掩码、反掩码和通配符?

摘要:你是否还在为 IP 计算和各种掩码规则而困惑? **掩码**、**反掩码**和**通配符**,都是用来计算匹配IP地址的?又有什么区别?今天让你一次学会。
1. 还在为一堆 0 和 1 抓狂吗? 你是否还在为 IP 计算和各种掩码规则而困惑?掩码、反掩码和通配符,它们都是用来计算匹配IP地址的?又有什么区别? 在配置路由器,交换机或防火墙时,你是否对 255.255.255.0 和 0.0.0.254 感到迷惑?。明明长得差不多,凭什么在配置网卡时用这个,配置 OSPF 路由时用那个,到了写 ACL(访问控制列表)防火墙策略时,又换了一套玩法? 如果你也为些感到困惑,别担心,今天,我们将拨开网络底层的迷雾,一次性教会你掩码、反掩码和通配符的核心逻辑和速算技巧。读完这篇,你的网络基础功力将再上一个台阶! 2. 历史渊源:为什么会有这三种“尺子”? 在深入计算之前,我们需要明白它们为什么存在。在早期互联网(ARPANET)时代,IP 地址的设计非常简单粗暴(A,B,C类,具体可查看我的博客文章IP地址是什么?MAC地址是什么?)。但随着网络规模爆炸式增长,工程师们遇到了几个痛点: 如何区分“街道”和“门牌号”? 于是诞生了​子网掩码​,用来严格划分网络位和主机位。 硬件计算如何更高效? 在早期的路由器 CPU 中,执行“按位与”和“匹配 0”的逻辑门电路运行速度最快。为了让路由协议(如 OSPF)快速筛选出需要激活的接口,工程师逆向思维,发明了​反掩码​,去适配硬件计算。 如何实现极其复杂的安全过滤? 防火墙需要极其灵活的抓取能力(比如只允许特定网段的奇数 IP 通过),传统的连续掩码根本做不到。因此,完全打破连续性限制的通配符应运而生。 提示,为尽量避免“知识诅咒”。如果你对下文内容觉得难以理解,或有疑问,请评论留言,我会尽量解释或改进文章表达。 达克效应(Dunning-Kruger Effect)的逆向表现——知识诅咒(Curse of Knowledge) 定义:当一个人掌握了某种知识后,就难以想象没有这种知识时的思维状态,无法理解初学者的困难所在。 表现:专家往往会高估新手的能力,认为简单明了的概念对新手来说也同样容易理解。 例子:数学老师认为简单的题目学生应该都会,编程高手无法理解初学者为什么看不懂代码。。 3. 子网掩码 (Subnet Mask):划定地盘的界碑 核心作用:告诉设备,这个 IP 地址里哪部分是网络号,哪部分是主机号。 铁律:在二进制下,所有的 1 必须是连续的,所有的 0 必须是连续的。1 代表网络位,0 代表主机位。 3.1 如何计算? 假设我们有一个 IP:192.168.1.130,掩码是 255.255.255.224(即 /27)。我们要怎么算出它的网络地址,广播地址,谁和它在一个 IP段内? 常规做法(费脑子)​: 把 IP 和掩码全转成 32 位二进制,上下对齐做“按位与”运算。这种算法在此不做介绍,相信你在很多书籍或文章里都见到过。 快捷口算(简单): 找到掩码中不等于 255 的那一段,这里是 224。 计算块大小(Block Size):256 - 224 = 32。 这意味着子网是按 32 递增的:0, 32, 64, 96, 128, 160... 看看我们的 IP 尾数 130 落在哪个区间?它落在 128 到 159 之间。 得出结论:网络地址是 192.168.1.128,广播地址是192.168.1.159,可用的IP段(主机位)范围是129-158。一秒搞定! 借助Excel/WPS计算(方便) 如果你还觉得麻烦,又不想去搜索寻找IP计算小工具,你可以使用Excel/WPS轻松的“看”出。 例如,在你管理的网络中,有大量的设备互联使用252的掩码(2个主机位),那么哪些IP是我们可以用的呢?你可以在Excel/WPS像下图所示,轻松的拉出一个表格,看出你能用哪些IP地址。 可以看到,可用主机位被划分为了1,2,5,6,9,10……245,246,249,250,253,254。 同理,对于其他掩码,你也可以这样,只需几秒钟就能搞定。 3.2 掩码的特殊应用示例 "/32 "掩码 (255.255.255.255): 主机路由。代表网络中唯一的一台特定设备,没有其他主机。常用于 Loopback 环回口。 "/31" 掩码 (255.255.255.254): 点对点(P2P)链路专属。传统的掩码会浪费网络地址和广播地址,而在两台路由器直连的线路上使用 /31,刚刚好只包含 2 个 IP,极致节省 IP 资源(RFC 3021 标准)。 不过在实际中网络中,你可能看到更多的是依旧使用/30(255.255.255.252)来做掩码,包含 4 个IP,其中有2个主机位。
阅读全文