在学习 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子网掩码
/8255.0.0.0
/16255.255.0.0
/24255.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 路由器 A
  • 10.0.0.2 路由器 B
  • 10.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/24
  • 192.168.1.0/24
  • 192.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 这类写法看起来只是一个斜杠加数字,背后却连接着:

  • 地址划分
  • 主机寻址
  • 子网计算
  • 广播机制
  • 点对点链路设计
  • 家庭网络默认结构
  • 全球互联网路由聚合

如果只把这些内容当作零散记忆点,很容易学完就忘;但一旦按照“地址如何被组织与转发”这条主线去理解,很多现象就会自然连起来。

因此,这些概念真正重要的地方不在于公式本身,而在于它们共同回答了一个根本问题:

一个全球规模的网络,究竟如何在有限地址与有限路由资源下,被有序地组织起来。

Leave a Reply

Your email address will not be published. Required fields are marked *