一、背景介绍
IPv4 地址采用 32 位二进制结构,通过点分十进制表示,核心由网络部分与主机部分组成。早期分类编址(A/B/C 类)因固定前缀划分导致资源分配失衡(大网闲置、小网不足)和广播域过大等问题。子网划分技术通过子网掩码解构主机号,形成(网络部分-子网部分-主机部分)三层架构,实现三大价值:
精准分配:利用 VLSM 按需划分子网,提升地址利用率至接近 100%;
性能优化:缩小广播域,降低网络负载,典型场景广播包占比可降至 5% 以下;
精细管理:支持按业务 / 安全需求隔离子网,配合访问控制提升运维效率。该技术推动 IP 地址管理从粗放分配转向精细化运营,后续将深入解析计算实操与通信原理。
二、IPv4地址组成部分
2.1 网络部分
定义:
标识设备所在的逻辑网络(子网或网段),同一网络内的设备共享相同的网络部分。
作用:
路由器通过网络部分判断数据报应转发到哪个目标网络。
网络部分长度决定了网络规模(长度越长,网络数量越多,每个网络的主机数越少)。
分类编址下的默认划分(传统A/B/C类网络):
A 类地址:前8位为网络部分(默认掩码255.0.0.0,即/8)。
B 类地址:前16位为网络部分(默认掩码255.255.0.0,即/16)。
C 类地址:前24位为网络部分(默认掩码255.255.255.0,即/24)。
无类编址(CIDR):网络部分长度可自定义(如192.168.1.0/27表示前27位为网络部分)。
2.2 主机部分
定义:
标识网络内的具体设备(如主机、路由器接口等),同一网络内的主机部分必须唯一。
作用:
在局域网内,主机部分用于区分不同设备,确保数据准确到达目标主机。
限制:
主机部分全为0时,代表网络地址(如192.168.1.0/24是网络地址,不分配给主机)。
主机部分全为1时,代表广播地址(如192.168.1.255/24,用于向网络内所有主机发送广播包)。
可用主机数计算:
公式:2^n-2(n为主机部分位数,减2是排除网络地址和广播地址)。
例:主机部分8位时,可用主机数为2⁸-2=254。
2.3 网络掩码(子网掩码)
定义:
32位二进制数,用1标识地址中的网络部分,0标识主机部分,格式与IPv4地址一致(点分十进制)。
作用:
明确划分IP地址的网络部分和主机部分,是子网划分的核心依据。
设备通过掩码与 IP 地址进行按位与运算,得到目标网络地址(如 IP地址 AND 掩码 = 网络地址)。
表示方法:
点分十进制:如255.255.255.0(对应C类默认掩码,前24位为1,后8位为0)。
CIDR 前缀:如/24(表示前 24 位为网络部分,等价于255.255.255.0)。
2.4 地址换算示例
以192.168.1.100/24为例:
二进制表示:11000000.10101000.00000001.01100100(前24位为网络部分,后8位为主机部分)。
网络掩码:255.255.255.0(或/24)。
网络部分:192.168.1(前24位,标识该设备属于192.168.1.0/24网络)。
主机部分:100(后8位,二进制01100100,标识该网络内的地址为100的主机)。
三、IPv4地址分类
A类地址
地址范围:1.0.0.0 ~ 126.255.255.255(十进制)。
私有地址段:10.0.0.0/8(10.0.0.0 ~ 10.255.255.255),用于内部网络。
B类地址
地址范围:128.0.0.0 ~ 191.255.255.255。
私有地址段:172.16.0.0/12(172.16.0.0 ~ 172.31.255.255)。
C类地址
地址范围:192.0.0.0 ~ 223.255.255.255。
私有地址段:192.168.0.0/16(192.168.0.0 ~ 192.168.255.255)。
D类地址(用于组播)
地址范围:224.0.0.0 ~ 239.255.255.255。
E类地址(保留为实验或科研用途)
地址范围:240.0.0.0 ~ 255.255.255.255(其中 255.255.255.255 为受限广播地址)。
四、换算示例一(192.168.1.0/24)
明确子网掩码与地址结构
前缀 /24:表示子网掩码的前24位为网络部分,后8位为主机部分。
子网掩码二进制:11111111 11111111 11111111 00000000(点分十进制:255.255.255.0)。
IP地址二进制:192.168.1.0 转换为二进制为:
11000000 10101000 00000001 00000000 (前24位:网络部分,后8位:主机部分)
二进制转十进制方法
0 0 0 0 0 0 0 0 (这个8位二进制对应的十进制数值,每8位都可以对应,如二进制0变为1则选择下方的十进制数值)
128 64 32 16 8 4 2 1
0 0 0 0 0 0 0 0 (如二进制00000000转换十进制为0)
128 64 32 16 8 4 2 1
0 0 1 0 1 0 0 0 (如二进制00101000转换十进制为40)
128 64 32 16 8 4 2 1
计算网络地址
规则:网络地址是将IP地址的主机部分全部置为0(即IP地址与子网掩码按位与运算)。
二进制计算:
IP地址: 11000000 10101000 00000001 00000000
子网掩码: 11111111 11111111 11111111 00000000
按位与结果:11000000 10101000 00000001 00000000 (主机部分全0)
十进制结果:192.168.1.0(与原地址相同,因为原地址已是网络地址)。
计算广播地址
规则:广播地址是将IP地址的主机部分全部置为 1(网络部分不变,主机部分全 1)。
二进制计算:
网络部分: 11000000 10101000 00000001 (前24位)
主机部分全1:11111111 (后8位)
组合后: 11000000 10101000 00000001 11111111
十进制结果: 192.168.1.255
计算 IP 地址总数
主机部分位数:8位(由/24可知,32-24=8)。
总地址数:2^8 = 256 个(包括网络地址和广播地址)。
计算可用IP地址数量
排除特殊地址:网络地址(全0)和广播地址(全1)不可分配给主机。
可用IP数:256-2=254 个。
确定可用IP地址范围
第一个可用IP:网络地址的主机部分加 1(即 192.168.1.0 + 1 = 192.168.1.1)。
最后一个可用IP:广播地址的主机部分减 1(即 192.168.1.255 - 1 = 192.168.1.254)。
范围:192.168.1.1 ~ 192.168.1.254。
五、换算示例二(192.168.1.50/26)
明确子网掩码与地址结构
前缀 /26:表示子网掩码的前26位为网络部分,后6位为主机部分。
子网掩码二进制:11111111 11111111 11111111 11000000,点分十进制表示为 255.255.255.192。
IP 地址 192.168.1.50 二进制:
11000000 10101000 00000001 00110010
二进制转十进制方法
0 0 0 0 0 0 0 0 (这个8位二进制对应的十进制数值,每8位都可以对应,如二进制0变为1则选择下方的十进制数值)
128 64 32 16 8 4 2 1
0 0 0 0 0 0 0 0 (如二进制00000000转换十进制为0)
128 64 32 16 8 4 2 1
1 1 0 0 0 0 0 0 (如二进制00101000转换十进制为192)
128 64 32 16 8 4 2 1
计算网络地址
规则:将 IP 地址的主机部分全部置为 0(即 IP 地址与子网掩码按位与运算)。
二进制计算:
IP 地址: 11000000 10101000 00000001 00110010
子网掩码: 11111111 11111111 11111111 11000000
按位与结果:11000000 10101000 00000001 00000000
十进制结果:192.168.1.0
计算广播地址
规则:将IP地址的主机部分全部置为1(网络部分不变,主机部分全 1)。
二进制计算:
网络部分: 11000000 10101000 00000001 00 (前26位)
主机部分全 1: 111111 (后6位)
组合后: 11000000 10101000 00000001 00111111
十进制结果: 192.168.1.63
计算 IP 地址总数
主机部分位数:6位(由 /26 可知,32-26 = 6)。
总地址数:2^6=64个(包括网络地址和广播地址)。
计算可用IP地址数量
排除特殊地址:网络地址(全 0)和广播地址(全 1)不可分配给主机。
可用 IP 数:64-2=62 个。
确定可用IP地址范围
第一个可用IP:网络地址的主机部分加1(即 192.168.1.0+1 = 192.168.1.1)。
最后一个可用IP:广播地址的主机部分减1(即 192.168.1.63-1 = 192.168.1.62)。
范围:192.168.1.1 ~ 192.168.1.62
六、换算示例三(172.16.1.20/22)
明确子网掩码与地址结构
前缀 /22:表示子网掩码的前22位为网络部分,后10位为主机部分。
子网掩码二进制:11111111 11111111 11111100 00000000,点分十进制表示为 255.255.252.0。
IP 地址 172.16.1.20 二进制:
10101100 00010000 00000001 00010100
二进制转十进制方法
0 0 0 0 0 0 0 0 (这个8位二进制对应的十进制数值,每8位都可以对应,如二进制0变为1则选择下方的十进制数值)
128 64 32 16 8 4 2 1
0 0 0 0 0 0 0 0 (如二进制00000000转换十进制为0)
128 64 32 16 8 4 2 1
1 1 1 1 1 1 0 0 (如二进制00101000转换十进制为252)
128 64 32 16 8 4 2 1
计算网络地址
规则:将IP地址的主机部分全部置为0(即IP地址与子网掩码按位与运算)。
二进制计算:
IP 地址: 10101100 00010000 00000001 00010100
子网掩码: 11111111 11111111 11111100 00000000
按位与结果: 10101100 00010000 00000000 00000000
十进制结果: 172.16.0.0
计算广播地址
规则:将 IP 地址的主机部分全部置为1(网络部分不变,主机部分全1)。
二进制计算:
网络部分: 10101100 00010000 000000 (前22位)
主机部分全 1:11 11111111 (后10位)
组合后: 10101100 00010000 00000011 11111111
十进制结果: 172.16.3.255
计算IP地址总数
主机部分位数:10位(由 /22 可知,32-22=10)。
总地址数:2^10=1024 个(包括网络地址和广播地址)。
计算可用IP地址数量
排除特殊地址:网络地址(全 0)和广播地址(全 1)不可分配给主机。
可用IP数:1024-2=1022 个。
确定可用IP地址范围
第一个可用IP:网络地址的主机部分加1(即 172.16.0.0+1 = 172.16.0.1)。
最后一个可用IP:广播地址的主机部分减1(即 172.16.3.255-1 = 172.16.3.254)。
范围:172.16.0.1 ~ 172.16.3.254