
子网计算器指南 — CIDR、子网掩码与IP地址范围详解
📷 Brett Sayles / Pexels子网计算器指南 — CIDR、子网掩码与IP地址范围详解
关于CIDR表示法、子网掩码和IP地址范围的完整指南。使用免费在线子网计算器,即时计算网络地址、广播地址和主机数量。
看到子网掩码时有没有感到一丝茫然?这完全正常。IP地址规划和子网划分既有理论深度,又是网络工程、DevOps和云基础设施工作中无法回避的实践内容。
本指南旨在消除这种复杂感。读完之后,你将清楚地理解CIDR表示法的真正含义、如何自信地解读子网计算器的输出,以及实际工作中常见的应用场景。当然,直接使用我们的子网计算器可以跳过手动计算,但理解底层原理会让你在排查问题时事半功倍。
什么是CIDR表示法?
CIDR是Classless Inter-Domain Routing(无类别域间路由)的缩写。在1990年代之前,IP地址分配被划分为严格的A类、B类、C类,造成了大量地址浪费。CIDR用灵活的前缀系统取而代之。
在192.168.1.0/24中,斜杠后面的数字就是前缀长度,表示IPv4地址的32位中有多少位用于网络部分,剩余位用于主机。
/24— 网络24位,主机8位/16— 网络16位,主机16位/8— 网络8位,主机24位
前缀数字越小,网络越大。/8是拥有超过1600万台主机的庞大范围,而/30是只有2台可用主机的小型网络。
子网掩码:相同信息,不同格式
子网掩码就是CIDR表示法以点分十进制展开的形式。两种格式包含完全相同的信息。
| CIDR | 子网掩码 |
|---|---|
| /8 | 255.0.0.0 |
| /16 | 255.255.0.0 |
| /24 | 255.255.255.0 |
| /25 | 255.255.255.128 |
| /30 | 255.255.255.252 |
掩码以二进制形式与IP地址对齐运作。掩码中1所在的位是网络部分,0所在的位可用于主机。因此255.255.255.0意味着"锁定前三个八位组,最后一个八位组自由分配",最后一个八位组可以有256个值(0到255)。
解读子网计算器的输出
当你向子网计算器输入地址时,会得到几个关键信息。让我们逐一了解每项的含义。
网络地址
子网中的第一个地址,用于标识网络本身,不分配给任何主机。对于192.168.1.50/24,网络地址是192.168.1.0。
广播地址
子网中的最后一个地址,用于同时向网络上所有设备发送流量。192.168.1.0/24的广播地址是192.168.1.255,同样不分配给主机。
可用主机范围
网络地址和广播地址之间的所有地址。/24的可用范围是192.168.1.1到192.168.1.254,共254台主机。
主机数量
可分配IP地址的总数。计算公式为2^(32 - 前缀) - 2,减去的2是网络地址和广播地址。
通配符掩码 子网掩码的按位取反值,后面会详细介绍。
私有IP与公有IP范围
并非所有IP地址都相同。RFC 1918定义了三个专用于私有网络的地址块,这些地址不在公共互联网上路由。
10.0.0.0/8— 最大的私有范围,常用于大型企业和云VPC172.16.0.0/12— 涵盖172.16.0.0到172.31.255.255192.168.0.0/16— 家用路由器最常见的范围
设计内部网络时,始终应使用这些范围之一。将公有IP块用作内部范围是初学者常犯的错误,一旦流量试图到达该公有块的实际所有者就会产生路由问题。
还有一个值得了解的范围:127.0.0.0/8是回环范围。大家熟悉的127.0.0.1(localhost)就在这里。发送到此块中任何地址的流量永远不会离开该机器。
实际案例
让我们通过三个实际场景了解最常见的前缀长度。
小型办公室网络 — /24
经典的/24(如192.168.1.0/24)之所以成为家庭和小型办公室网络的默认选择,是因为它简单且容量充足。
- 网络地址: 192.168.1.0
- 广播地址: 192.168.1.255
- 可用主机: 192.168.1.1 到 192.168.1.254(254台)
- 子网掩码: 255.255.255.0
254台设备对大多数小型办公室来说绰绰有余。通常会将靠近底部的一部分地址(如.1到.10)预留给路由器、交换机、接入点、服务器等基础设施,其余地址通过DHCP动态分配。
数据中心子网 — /22
当需要更多主机时,可以扩展前缀。/22提供了/24四倍的空间。
- 网络地址: 10.0.0.0
- 广播地址: 10.0.3.255
- 可用主机: 10.0.0.1 到 10.0.3.254(1,022台)
- 子网掩码: 255.255.252.0
注意网络跨越了看起来像四个/24的范围(10.0.0.x到10.0.3.x)。这是因为前缀是22位而不是24位,第三个八位组多出了2个自由位(2的2次方等于4个块)。
这种大小在云环境中非常流行,用于在VPC中为团队或应用层分配子网。
点对点链路 — /30
/30是连接两台路由器的经典选择。因为只有两个端点,所以只需要两个可用地址。
- 网络地址: 10.1.0.0
- 广播地址: 10.1.0.3
- 可用主机: 10.1.0.1和10.1.0.2(恰好2台)
- 子网掩码: 255.255.255.252
ISP上行链路、BGP对等会话、路由器间的WAN连接都适用这种子网。在这里分配/24会白白浪费252个地址。
二进制表示:为什么真的很重要
大多数子网计算器(包括我们的)会显示子网掩码和主机范围的二进制表示。很容易跳过这部分,但二进制才是真正理解子网划分的地方。
255.255.255.0的二进制表示:
11111111.11111111.11111111.00000000
前24个1是网络位,8个0是主机位。现在你可以清楚地看到为什么会有256个地址(2的8次方),以及为什么当前缀是8的倍数时,子网边界总是落在256的倍数上。
/25是什么样的呢?
11111111.11111111.11111111.10000000
多出的一个网络位将/24一分为二,产生两个/25子网:
192.168.1.0/25(主机 .1到.126,广播 .127)192.168.1.128/25(主机 .129到.254,广播 .255)
子网划分的核心技能就是了解前缀长度的变化如何影响网络数量和主机数量。二进制让这一切变得直观可见。
通配符掩码 — Cisco与OSPF
如果你使用Cisco路由器或配置OSPF/BGP路由协议,就会遇到通配符掩码。通配符掩码就是子网掩码的按位补数。
| 子网掩码 | 通配符掩码 |
|---|---|
| 255.255.255.0 | 0.0.0.255 |
| 255.255.255.252 | 0.0.0.3 |
| 255.255.0.0 | 0.0.255.255 |
在Cisco ACL中,通配符掩码告诉路由器哪些位必须匹配。0位表示此位必须精确匹配,1位表示此位可以是任何值。
因此permit ip 192.168.1.0 0.0.0.255表示允许前三个八位组为192.168.1的所有IP地址,等同于允许整个192.168.1.0/24网络。
我们的子网计算器会与子网掩码一起输出通配符掩码,无需手动计算反转,可以直接复制到路由器配置中使用。
常见边缘情况和错误
/32 — 单一主机
/32在技术上是只有一个地址的子网。由于没有主机位,所以没有范围——网络地址、主机地址和广播地址都是同一个。
/32路由用于在路由表中创建指向单个特定IP的主机路由。BGP经常用它来宣告单个服务器IP,防火墙规则中也用于精确匹配单个地址。
/31 — 特殊情况
按照传统规则,/31子网总共2个地址减去网络地址和广播地址后剩零个可用主机,似乎毫无用处。RFC 3021改变了这一点,专门针对点对点链路:将其定义为两个端点都用作主机地址且没有广播地址的有效配置。
现代Cisco和Juniper设备支持/31链路。它比/30少浪费一个地址,效率略高。对于有数千个点对点连接的大型ISP来说,这种节省会积少成多。
网络地址未对齐
在需要网络地址的地方输入主机地址是常见错误。如果子网是192.168.1.0/24,网络地址必须以.0结尾,而不能是.50或.100。有些工具会静默修正,有些则会报错。我们的计算器会同时显示输入的地址和修正后的网络地址,让你清楚地了解发生了什么。
子网重叠
在制定多子网网络计划时,很容易意外创建重叠范围。例如192.168.1.0/24和192.168.0.0/22就存在重叠,因为/22已经包含了整个/24。当路由器存在重叠路由时会出现不可预测的行为,因此在部署前务必验证地址分配。
总结
子网划分是那种起初感觉不透明,某个时刻突然豁然开朗的技能。关键在于认识到:子网就是通过固定一定数量的前导位来定义的连续IP地址块。前缀长度告诉你固定了多少位,二进制让这一切变得具体可见。
无论是规划AWS中的VPC、数据中心网络还是家庭实验室,都要从最大的子网开始,逐步向下细分。确定每个网段需要多少台主机,留出一些增长余量(将估计值翻倍是合理的经验法则),然后选择满足需求的最小前缀。这样可以保持IP空间有序,让路由更加清晰。
如需快速计算,请使用ToolBox Hub的子网计算器。输入任意IP地址和前缀长度,即可立即看到网络地址、广播地址、主机范围、总主机数、子网掩码和通配符掩码,无需手动计算。同时还会显示二进制表示,在学习概念或调试意外路由行为时非常实用。