本文目录导读:
我来详细解释子网掩码的计算方法,并给出一些常见场景的例子。
什么是子网掩码?
子网掩码是一个32位的二进制数,用于将IP地址划分为网络地址和主机地址两部分,通过子网掩码,我们可以判断两个IP是否属于同一个子网,也可以将一个大的网络划分成多个小的子网。
子网掩码的表示方法
- 点分十进制:
255.255.0 - CIDR前缀长度:
/24(表示前24位是网络位)
常见子网掩码对照表:
| 前缀长度 | 子网掩码 | 可用主机数 |
|---|---|---|
| /30 | 255.255.252 | 2 |
| /29 | 255.255.248 | 6 |
| /28 | 255.255.240 | 14 |
| /27 | 255.255.224 | 30 |
| /26 | 255.255.192 | 62 |
| /25 | 255.255.128 | 126 |
| /24 | 255.255.0 | 254 |
| /23 | 255.254.0 | 510 |
| /22 | 255.252.0 | 1022 |
| /16 | 255.0.0 | 65534 |
子网掩码计算核心步骤
计算网络地址
将IP地址和子网掩码进行按位与运算(AND运算):
- 1 AND 1 = 1
- 1 AND 0 = 0
- 0 AND 1 = 0
- 0 AND 0 = 0
示例:IP 168.1.130,子网掩码 255.255.128(/25)
IP: 11000000.10101000.00000001.10000010
掩码: 11111111.11111111.11111111.10000000
按位与结果: 11000000.10101000.00000001.10000000 = 192.168.1.128
所以网络地址是 168.1.128
计算广播地址
将网络地址的主机位全部置为1。
继续上面的例子:
- 网络地址:
168.1.128,二进制最后8位是10000000 - 主机位有7位(因为/25,最后7位是主机位),全部置1:
1111111 - 最后8位变成
10111111= 191 - 广播地址:
168.1.191
计算可用的主机范围
- 起始:网络地址 + 1
- 结束:广播地址 - 1
上面的例子中:
- 可用范围:
168.1.129到168.1.190 - 一共62个可用地址
常见计算场景
场景1:已知IP和子网掩码,求网络号
例如:IP 10.10.10,子网掩码 255.255.0(/24)
10.10.10 AND 255.255.255.0 = 10.10.10.0
网络号:10.10.0/24
场景2:子网划分——将一个/24分成4个/26
原网络:168.1.0/24(可用254个地址)
分成4个/26(每个子网有62个可用地址):
| 子网 | 网络地址 | 广播地址 | 可用范围 |
|---|---|---|---|
| 子网1 | 168.1.0/26 | 168.1.63 | 1 - 62 |
| 子网2 | 168.1.64/26 | 168.1.127 | 65 - 126 |
| 子网3 | 168.1.128/26 | 168.1.191 | 129 - 190 |
| 子网4 | 168.1.192/26 | 168.1.255 | 193 - 254 |
场景3:判断两个IP是否在同一子网
IP1: 16.10.15/20
IP2: 16.20.30/20
子网掩码 /20 = 255.240.0
IP1: 172.16.10.15 → 二进制最后两段: 00001010.00001111
IP2: 172.16.20.30 → 二进制最后两段: 00010100.00011110
掩码: 255.255.240.0 → 最后两段: 11110000.00000000
IP1 AND 掩码: 00001010.00001111 AND 11110000.00000000 = 00000000.00000000
IP2 AND 掩码: 00010100.00011110 AND 11110000.00000000 = 00010000.00000000
结果不同(0 vs 0),所以不在同一子网。
快速计算技巧
- 子网数 = 2^(子网位数)
- 每个子网主机数 = 2^(主机位数) - 2
减去网络地址和广播地址
- 块大小 = 256 - 最后一段非0的掩码值
- 例如掩码
255.255.192,块大小 = 256 - 192 = 64 - 网络地址从0开始,每隔64增加:0, 64, 128, 192
- 例如掩码
练习题
请计算 10.10.55/28 的网络地址、广播地址和可用主机范围。
答案:
/28掩码 =255.255.240- 块大小 = 256 - 240 = 16
- 55 ÷ 16 = 3(余7),网络地址 = 3 × 16 = 48,即
10.10.48 - 广播地址 = 48 + 16 - 1 = 63,即
10.10.63 - 可用范围:
10.10.49~10.10.62(共14个)
如果你有具体的IP和掩码需要计算,欢迎提供,我可以帮你一步步演算!
标签: 网络地址