3. IP地址与子网划分:IPv4地址结构、子网掩码与CIDR表示法

3.1 IPv4地址的层次化结构

IPv4地址是一个32位二进制数,为了便于人类阅读与配置,通常采用点分十进制表示法,即将32位划分为4个8位组(octet),每组转换为0~255的十进制数,并以点号分隔。例如,二进制 11000000 10101000 00000001 00000001 对应的点分十进制即为 192.168.1.1。

从逻辑结构上看,IPv4地址由两部分组成:网络号(Network ID)与主机号(Host ID)。网络号用于标识设备所在的物理或逻辑网段,主机号则用于在该网段内唯一标识一台主机。这种“网络号+主机号”的两级结构,是IP路由能够高效工作的基础——路由器只需根据目的IP的网络号进行转发决策,而不必关心具体主机。

核心要点:IPv4地址的32位长度决定了其理论地址空间约为43亿个,但早期分类编址(A/B/C类)造成了大量浪费,因此后续引入了子网划分与CIDR技术来提升地址利用效率。

IPv4地址结构:网络号 + 主机号 二进制: 11000000 10101000 00000001 00000001 十进制: 192 . 168 . 1 . 1 网络号 (Network ID) 192.168.1.0/24 网段标识 主机号 Host ID = 1 ← 前24位 → ← 后8位 → 子网掩码: 255.255.255.0 二进制: 11111111 11111111 11111111 00000000 关键概念 • 网络号相同 → 同一网段 • 主机号全0 → 网络地址 • 主机号全1 → 广播地址 • 可用主机数 = 2ⁿ - 2 (n = 主机位长度) • 子网掩码1对应网络位

3.2 子网掩码与子网划分原理

子网掩码(Subnet Mask)是一个32位二进制数,其作用是通过“1”和“0”的分布来界定IP地址中的网络位与主机位。掩码中连续的“1”对应网络号部分,连续的“0”对应主机号部分。例如,255.255.255.0 的二进制为 11111111.11111111.11111111.00000000,表示前24位为网络号,后8位为主机号。

子网划分的本质是从主机号部分“借位”作为子网号,从而将一个大的网络分割成多个更小的子网。这样做的好处包括:减少广播域范围、提升网络性能与安全性、更灵活地分配地址空间。例如,将 192.168.1.0/24 划分为4个等长子网,需要借用2位主机位(因为2²=4),此时子网掩码变为 255.255.255.192(即/26)。

子网划分方法流程

  1. 确定需求:明确需要划分的子网数量以及每个子网需要容纳的主机数量。
  2. 计算借位数:若需划分 N 个子网,则借位数 m 满足 2^m ≥ N;若每个子网需容纳 H 台主机,则主机位 n 满足 2^n - 2 ≥ H。
  3. 确定新掩码:原网络位 + 借位数 = 新网络位长度,对应新的子网掩码。
  4. 枚举子网地址:子网块大小 = 256 - 新掩码对应十进制值(或按2^n计算),依次列出各子网的网络地址、广播地址及可用主机范围。

快速计算技巧:子网块大小 = 2^(8 - 新掩码最后一位非零字节的位数)。例如 /26 掩码最后一位为192,块大小 = 256 - 192 = 64,即每个子网包含64个地址(含网络地址与广播地址)。

3.3 CIDR表示法与无类编址

CIDR(Classless Inter-Domain Routing,无类域间路由)于1993年提出,彻底摒弃了A/B/C类的固定分类限制。CIDR使用“IP地址/前缀长度”的表示法,其中前缀长度直接以十进制数字标明网络位的数量。例如 192.168.1.0/26 表示前26位为网络号,后6位为主机号。

CIDR的核心优势在于支持路由聚合(Route Aggregation),即将多个连续的子网合并为一个超网(Supernet),从而显著减少核心路由器的路由表条目数量。例如,将 192.168.0.0/24 至 192.168.3.0/24 四个连续网段聚合为 192.168.0.0/22,路由表中仅需一条记录即可覆盖全部四个网段。

CIDR前缀 子网掩码 包含地址数 可用主机数 典型用途
/30 255.255.255.252 4 2 点对点链路(如路由器间互联)
/29 255.255.255.248 8 6 小型网络(如家庭办公)
/26 255.255.255.192 64 62 小型企业部门子网
/24 255.255.255.0 256 254 经典C类网段,常见于局域网
/22 255.255.252.0 1024 1022 超网聚合,中型园区网

3.4 案例:企业网络子网规划

假设某企业获得一个 172.16.0.0/16 的B类地址段,需要为5个部门分配独立子网,每个部门最多200台主机。请进行子网规划。

分析过程:

  • 每个子网需容纳200台主机,主机位 n 需满足 2^n - 2 ≥ 200,取 n = 8(2⁸-2=254),即主机位至少8位。
  • 原网络位16位,主机位16位。若每个子网主机位为8位,则子网位 = 16 - 8 = 8位,可提供 2⁸ = 256 个子网,远超5个部门需求。
  • 新前缀长度 = 16 + 8 = 24,即子网掩码为 255.255.255.0,每个子网为 /24。
部门A: 172.16.0.0/24   可用范围: 172.16.0.1 ~ 172.16.0.254
部门B: 172.16.1.0/24   可用范围: 172.16.1.1 ~ 172.16.1.254
部门C: 172.16.2.0/24   可用范围: 172.16.2.1 ~ 172.16.2.254
部门D: 172.16.3.0/24   可用范围: 172.16.3.1 ~ 172.16.3.254
部门E: 172.16.4.0/24   可用范围: 172.16.4.1 ~ 172.16.4.254
网关统一配置为各子网第一个可用地址(如 .1)

若后续部门数量增长至超过256个,可调整主机位为7位(每个子网126台主机),则子网位变为9位,可支持512个子网,但需注意主机数量上限的变化。

3.5 常见误区与排障复盘

误区一:混淆网络地址与广播地址。网络地址是主机号全0的地址,用于标识网段本身,不可分配给主机;广播地址是主机号全1的地址,用于向该网段所有主机发送数据。初学者常误将这两个地址分配给设备,导致通信异常。

误区二:忽略“全0”和“全1”子网。在传统分类编址中,全0子网和全1子网不可用(因与网络地址和广播地址冲突),但在CIDR与无类路由中,这两个子网已被允许使用(RFC 1878),只要路由器支持即可。

典型排障案例:某网络管理员将两台服务器分别配置为 192.168.1.1/25 和 192.168.1.200/25,发现两者无法互通。原因分析:/25 掩码为 255.255.255.128,子网块大小为128,因此 192.168.1.0/25 的子网范围为 0~127,而 192.168.1.128/25 的子网范围为 128~255。两台服务器分属不同子网,必须通过路由器才能通信。此案例说明,子网划分后,同一IP段内不同子网间的通信必须依赖三层路由,而非二层交换。

复盘要点:进行IP规划时,务必先明确子网掩码与CIDR前缀,再计算子网范围与可用主机数。建议使用“网络地址/前缀长度”的书写方式,避免十进制掩码带来的计算歧义。同时,为每个子网预留网关地址与少量扩展地址,以应对未来扩容需求。