在学习 TCP/IP 网络时,很多概念表面上看只是记忆题,比如“网段”“子网掩码”“CIDR”“广播地址”“路由聚合”。但这些概念其实都不是孤立存在的,它们共同描述了一件事:
互联网中的地址如何被组织、划分、识别与转发。
本文从最基础的“网段”开始,一直讲到家庭网络为什么几乎总是 /24,以及互联网为什么必须依靠 CIDR 聚合 才能维持全球路由系统的可扩展性。
一、网段是什么
所谓网段,本质上就是:
一组属于同一个网络范围、可以按同一套网络规则被识别的 IP 地址集合。
更直白一点说,网段就是“某一批 IP 地址所在的那个网络范围”。
例如:
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.10
192.168.1.254
这些地址如果使用相同的网络前缀,就可以被认为属于同一个网段,例如:
192.168.1.0/24
这表示:
- 这个网络的“网络部分”是
192.168.1 - 最后一段用于区分具体主机
因此,网段不是单个 IP,而是一个地址范围。
二、为什么要有网段
如果没有“网段”概念,那么整个网络世界就会变成“所有设备都直接平等地散落在一个巨大地址池里”,这会带来两个问题:
第一,地址管理混乱。
第二,转发效率极低。
所以 TCP/IP 网络采用的不是“纯主机编号”结构,而是:
网络部分 + 主机部分
这意味着一个 IP 地址不是纯随机编号,它内部自带结构。
例如:
192.168.1.25
在某种掩码条件下,可以理解成:
- 网络:
192.168.1 - 主机:
25
也就是“在 192.168.1 这个网络里的第 25 号主机”。
这就是网段存在的意义:
先确定属于哪个网络,再确定这个网络里的哪一台设备。
三、IP 地址后面的 /24 是什么意思
像下面这样的写法:
192.168.1.10/24
后面的 /24 叫做 CIDR 前缀长度。它的含义是:
这个 IP 地址的前 24 位属于网络部分。
IPv4 地址总长度是 32 位。
所以 /24 的意思就是:
- 前 24 位:网络
- 后 8 位:主机
也就是:
[ 网络 24 bit ][ 主机 8 bit ]
这套写法叫做 CIDR(Classless Inter-Domain Routing)表示法。
四、IPv4 地址本质上是 32 位二进制数
例如:
192.168.1.10
转换成二进制就是:
192 = 11000000
168 = 10101000
1 = 00000001
10 = 00001010
所以完整形式是:
11000000.10101000.00000001.00001010
一共 32 位。
当写成:
192.168.1.10/24
就表示前 24 位用于标识网络。
因此,这个地址所在的网络是:
192.168.1.0/24
五、/24 对应什么子网掩码
CIDR 写法和传统子网掩码写法是等价的。
例如:
/24
对应:
255.255.255.0
因为:
255 = 11111111
0 = 00000000
所以 /24 的二进制掩码是:
11111111.11111111.11111111.00000000
也就是说:
- 前 24 位全部固定为网络位
- 最后 8 位留给主机位
常见对照关系如下:
| CIDR | 子网掩码 |
|---|---|
| /8 | 255.0.0.0 |
| /16 | 255.255.0.0 |
| /24 | 255.255.255.0 |
六、为什么 192.168.1.10/24 的网段是 192.168.1.0
这背后依靠的是一个非常核心的计算规则:
IP 地址 AND 子网掩码 = 网络地址
这就是网络设备判断“某个 IP 属于哪个网段”的基础算法。
1. IP 地址写成二进制
192.168.1.10
=
11000000.10101000.00000001.00001010
2. /24 对应掩码写成二进制
255.255.255.0
=
11111111.11111111.11111111.00000000
3. 执行按位 AND
规则很简单:
- 1 AND 1 = 1
- 1 AND 0 = 0
- 0 AND 1 = 0
- 0 AND 0 = 0
所以:
11000000.10101000.00000001.00001010
AND
11111111.11111111.11111111.00000000
=
11000000.10101000.00000001.00000000
转换回十进制就是:
192.168.1.0
所以:
192.168.1.10/24
所在的网段就是:
192.168.1.0/24
这也解释了为什么网段地址通常看起来像 .0:
因为主机位全部被清零了。
七、网络地址、可用地址、广播地址
以:
192.168.1.0/24
为例,整个网段总共有 256 个地址,因为主机位有 8 位:
2^8 = 256
但它们并不是都能分配给普通设备。
1. 网络地址
192.168.1.0
主机位全为 0。
它代表的是“整个网段本身”,不能分配给主机。
2. 广播地址
192.168.1.255
主机位全为 1。
它代表“向整个网段广播”,也不能分配给普通主机。
3. 可用主机地址
所以真正能分配给设备的是:
192.168.1.1 ~ 192.168.1.254
一共:
254 个
八、为什么 /24 有 256 个地址,但只能用 254 个
这是很多网络入门教材都会讲的一条公式:
可用主机数 = 2^n - 2
其中 n 是主机位数。
对于 /24:
- 主机位数 = 8
- 总地址数 =
2^8 = 256 - 减去 1 个网络地址
- 减去 1 个广播地址
得到:
254
这个规则本质上来自网络协议设计中的两个保留角色:
- 全 0:表示该网络本身
- 全 1:表示该网络的广播目标
所以并不是“少了两个地址”,而是这两个地址有固定用途。
九、/31 为什么反而可以两个都使用
这部分很有意思,因为它看起来像是在“推翻”前面的规则。
先看 /31:
- 总长度 32 位
- 网络位 31 位
- 主机位只剩 1 位
于是总地址数是:
2^1 = 2
理论上这两个地址应该是:
- 一个网络地址
- 一个广播地址
那不是就没有可用地址了吗?
实际上,现代网络中 /31 可以用于点对点链路
原因是:
点对点链路只有两台设备,广播根本没有意义。
例如:
Router A —— Router B
这种场景里,只存在两个端点,没有“向整个子网广播”的需求。
于是 RFC 3021 规定:
/31可以用于点对点链路,两边地址都可用。
例如:
10.0.0.0/31
两个地址:
10.0.0.0
10.0.0.1
可以分别给链路两端使用。
这意味着:
- 地址数 = 2
- 可用地址 = 2
十、为什么运营商喜欢 /31
在老式设计里,点对点链路通常会用 /30。
例如:
10.0.0.0/30
一共有 4 个地址:
10.0.0.0网络地址10.0.0.1路由器 A10.0.0.2路由器 B10.0.0.3广播地址
虽然只需要两个端点,却浪费了两个地址。
而 /31 的优势是:
- 正好 2 个地址
- 两个都能用
- 节省一半 IPv4 地址
对于 ISP、大型骨干网、BGP 邻居互联,这种节省非常有价值。
所以现代运营商网络、核心路由链路中,/31 很常见。
十一、家庭网络为什么几乎总是 /24
这是一个现实中非常典型的问题。
理论上,家庭网络完全可以用:
/23/25/26
但实际上,大多数家用路由器和默认 LAN 配置几乎都是 /24。
原因在于它是一个非常稳妥的平衡点。
1. 地址数量足够
/24 可以提供 254 个可用地址。
普通家庭网络即使包含:
- 手机
- 电脑
- 平板
- 电视
- 打印机
- NAS
- 智能灯
- 智能音箱
- 摄像头
- IoT 设备
通常也很难接近 254 台。
所以 /24 对家庭来说通常已经宽裕得多。
2. 配置简单
192.168.1.0/24 这种形式非常直观:
- 网段容易识别
- DHCP 范围容易设置
- 用户不容易出错
而像 /25、/26 这种掩码虽然也能用,但会增加理解门槛和配置复杂度。
3. 广播域大小适中
家庭网络里会存在 ARP、DHCP、mDNS、UPnP 等依赖广播或多播的协议。
如果把网段做得太大,例如 /23,广播域会扩大一倍。
虽然对小型家庭来说不一定立刻出问题,但通常也没有必要。/24 在广播规模和地址容量之间是一个成熟平衡。
4. 历史与设备厂商习惯
早期的 Classful 网络时代,/24 非常接近传统的 Class C 网络使用习惯。
后来虽然进入了 CIDR 时代,但大量设备厂商仍然沿用这种最稳定、最不容易出错的默认设计。
所以常见家用路由器经常默认采用:
192.168.0.0/24192.168.1.0/24192.168.50.0/24
十二、什么时候才需要改成不是 /24
虽然家庭网络几乎默认 /24,但也有例外情况。
1. 设备特别多
例如实验室、学校、企业办公室、宿舍网络,设备数量远超 254。
这时可能使用 /23、/22 等更大网段。
2. 需要隔离不同业务区域
例如:
- 普通终端
- 服务器
- IoT
- 来宾 Wi-Fi
这类情况下更常见的做法不是把网段做大,而是拆分多个 /24,再配合 VLAN 和路由策略进行隔离。
3. 大型交换网络或企业网络
企业里常常一个 VLAN 一个子网。
为了便于管理和故障定位,/24 仍然非常受欢迎,因为它既不太小,也不太大。
十三、设备如何判断“目标是否和自己在同一网段”
一台主机判断目标地址是不是“本地直连”的方法也很简单:
- 用自己的 IP 和掩码做 AND
- 用目标 IP 和同一个掩码做 AND
- 如果结果相同,就认为对方在同一网段
- 如果结果不同,就把数据发给网关
例如主机自己是:
192.168.2.101/24
目标是:
192.168.2.106
那么两边 AND 255.255.255.0 之后,结果都等于:
192.168.2.0
说明在同一网段,可以直接通信。
如果目标换成:
192.168.3.5
那结果就不同了,这时候主机不会直接去找 192.168.3.5,而是交给默认网关转发。
这也是为什么网关在局域网中那么关键:
它负责连接“不是本地网段”的其他网络。
十四、从网段继续向上:为什么互联网必须依靠路由聚合
理解了网段之后,很自然就会进入更大的问题:
如果全世界有无数个网段,路由器如何记住它们?
答案就是:
不能全部一条条精确记录,必须做聚合。
这就是 路由聚合(Route Aggregation),也叫 CIDR 聚合。
它的核心思想是:
把多个连续的小网段合并成一个更大的前缀,对外只通告一条路由。
十五、路由聚合的基本例子
假设存在四个连续网段:
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
如果逐条写入路由表,就要有 4 条记录。
但实际上,这四个 /24 可以合并为:
192.168.0.0/22
因为 /22 覆盖的地址范围正好是:
192.168.0.0 ~ 192.168.3.255
于是原来 4 条路由可以压缩成 1 条。
这就是聚合的意义:
- 减少路由表条目
- 节省内存
- 加快查表效率
- 提高全网可扩展性
十六、为什么它能聚合:本质是公共前缀更长
看二进制会更直观。
192.168.0.0 = 11000000.10101000.00000000.00000000
192.168.1.0 = 11000000.10101000.00000001.00000000
192.168.2.0 = 11000000.10101000.00000010.00000000
192.168.3.0 = 11000000.10101000.00000011.00000000
可以看到它们前 22 位是相同的,因此可以被表达成:
192.168.0.0/22
也就是说,CIDR 的本质不是“按字节切割”,而是“按前缀位数划分与聚合”。
十七、如果没有 CIDR 聚合,互联网会怎样
这个问题非常关键。
早期互联网使用的是 Classful Network,也就是固定类别的地址划分:
- Class A:
/8 - Class B:
/16 - Class C:
/24
这种方式非常僵硬。
例如某个组织只需要 200 个地址,却可能被迫申请一个 /16,即 65536 个地址。
造成两个严重后果:
1. 地址浪费严重
明明只需要几百个地址,却拿走一大片地址空间。
2. 路由表膨胀
由于网络结构不灵活、分配不连续、无法高效聚合,全球路由表迅速变大。
1990 年代互联网就已经明显感受到这个问题。
于是 1993 年,CIDR 被提出,核心目的之一就是:
- 更精细地分配地址
- 更有效地做路由聚合
这对互联网的持续扩展几乎是救命级别的改进。
十八、路由器如何在聚合和精确路由之间取舍
既然可以聚合,那么如果同时存在:
10.0.0.0/8
10.1.0.0/16
10.1.2.0/24
目标地址是:
10.1.2.5
到底该匹配哪一条?
答案是:
最长前缀匹配(Longest Prefix Match)
也就是说,匹配到的候选路由里,谁的前缀最长、谁更具体,就优先选谁。
所以上面的例子里:
/8能匹配/16也能匹配/24也能匹配
最终会选择:
10.1.2.0/24
因为它最精确。
这保证了互联网既可以做大范围聚合,又能在局部保留更精细的路由控制。
十九、CIDR 聚合为什么是现代互联网的基础能力
今天的全球互联网依赖 BGP 在不同自治系统之间交换路由。
如果每个小网段都单独向全球宣告,全球骨干路由表会增长到极其夸张的程度。
而通过聚合,运营商可以把许多客户网段、边缘网段压缩成较少的前缀向上通告。
例如一个 ISP 可能内部切分了很多小网段,但对外只发布一个或几个大的汇总前缀。
这样整个互联网主干路由系统才有可能维持在“可管理”的规模之内。
因此,CIDR 不只是“更现代的地址写法”,它是:
- 地址分配机制
- 子网划分机制
- 路由聚合机制
- 互联网扩展能力的基础之一
二十、把这些概念串起来看
到这里,可以把本文涉及的全部话题连成一条线:
1. IP 地址不是纯编号,而是有结构的
它由:
- 网络部分
- 主机部分
组成。
2. /24、/16、/31 这类写法,是 CIDR 前缀长度
表示前多少位用于识别网络。
3. 网段的计算依赖按位 AND
IP AND 掩码 = 网络地址
4. /24 的 256 个地址并不都能给主机使用
因为有:
- 网络地址
- 广播地址
所以只剩 254 个可用地址。
5. /31 是特殊情况
在点对点链路中,因为广播没有意义,所以两个地址都可以使用。
6. 家庭网络喜欢 /24
因为:
- 地址够用
- 广播域适中
- 配置简单
- 历史兼容性好
- 厂商默认普遍如此
7. 互联网必须进一步做路由聚合
否则全球路由表会膨胀到难以承受。
CIDR 聚合让多个连续小网段可以合并成大前缀,极大提高了互联网的可扩展性。
二十一、一个简化但准确的整体比喻
可以把整个体系理解成这样:
IP 地址
相当于“门牌号”。
网段
相当于“一个小区”。
子网掩码或 CIDR 前缀
告诉系统:门牌号里有多少部分代表“小区”,多少部分代表“住户”。
网络地址
表示“小区本身”。
广播地址
表示“通知整个小区”。
路由器
负责判断“这个目标在本小区,还是在别的小区”。
路由聚合
相当于地图管理时,不是逐栋楼逐户登记,而是把一大片连续街区汇总成一个区域,提高整个交通系统的管理效率。
这个比喻并不覆盖所有技术细节,但足以帮助建立整体直觉。
结语
“网段”看起来像一个很小的概念,实际上它是整个 IP 网络组织方式的起点。
而 /24 这类写法看起来只是一个斜杠加数字,背后却连接着:
- 地址划分
- 主机寻址
- 子网计算
- 广播机制
- 点对点链路设计
- 家庭网络默认结构
- 全球互联网路由聚合
如果只把这些内容当作零散记忆点,很容易学完就忘;但一旦按照“地址如何被组织与转发”这条主线去理解,很多现象就会自然连起来。
因此,这些概念真正重要的地方不在于公式本身,而在于它们共同回答了一个根本问题:
一个全球规模的网络,究竟如何在有限地址与有限路由资源下,被有序地组织起来。