Rootop 服务器运维与web架构

子网掩码计算

CIDR /30 指的是二进制子网掩码的前30位是网络位,后2位是主机位。
11111111.11111111.11111111.11111100

在ip地址二进制表示中,最后2位的组合就是 00、01、10、11,(转十进制为 0、1、2、3)也就是2的2次方个组合。

# 子网ip地址个数计算方式
/24 即2的8次方个ip地址(32-24=8)
/28 即2的4次方个ip地址(32-28=4)

在二进制表示中后面有几个0,子网ip数量(子网大小)就是2的几次方。

/30 转十进制为 255.255.255.252
ip子网划分始终是从"网络边界"开始,即,一个子网的起点必须是 "以子网大小为单位" 的倍数。
子网是 "连续的区间",不是从任意地址开始。
以cidr/30为例,它的子网大小就是2的2次方,即4:

所有的子网都是从 4 的倍数开始:

倍数  网络地址          ip范围                          可用ip
0倍: 192.168.0.0/30  → IP: 192.168.0.0 ~ 192.168.0.3   去掉网络地址0和广播地址3,可用ip就是 1、2
1倍: 192.168.0.4/30  → IP: 192.168.0.4 ~ 192.168.0.7   去掉网络地址4和广播地址7,可用ip就是 5、6
2倍: 192.168.0.8/30  → IP: 192.168.0.8 ~ 192.168.0.11  去掉网络地址8和广播地址11,可用ip就是 9、10
3倍: 192.168.0.12/30 → IP: 192.168.0.12 ~ 192.168.0.15 去掉网络地址12和广播地址15,可用ip就是 13、14
...

# 得到子网后再算网络、广播地址
网络地址:主机位全为 0 (子网第一个ip)
广播地址:主机位全为 1 (子网最后一个ip)

每个子网的起点必须是与其子网掩码对齐的地址,即主机位全为 0 的地址。

广播地址是某个子网中所有主机都能接收到的特殊地址。

网络、广播地址的计算方式如下:
确定网络地址: 将ip地址与子网掩码逐位相与(AND)运算,得到子网的起始地址。
确定子网大小: 根据子网掩码,计算主机位数。例如 /26 表示有 6 位主机位,子网大小为2^6=64。
广播地址 = 网络地址 + 子网大小 - 1 也就是该子网的最后一个地址。


# 判断一个子网掩码是不是合法
255.255.255.241 不是一个合法的子网掩码,原因在于它违反了子网掩码的二进制结构规则:
合法的子网掩码必须满足以下条件:
1、是一个32位二进制数。
2、前面是连续的 1,后面是连续的 0。
中间不能出现 01 的模式(即,不能有 1 后面跟着 0 再跟着 1)。

255.255.255.241 将其转换为二进制:
11111111.11111111.11111111.11110001
问题出在最后一组 11110001,它不是连续的1后跟连续的0,出现了01,违反规则。


# 延伸
系统如何判断一个目的ip是否和自己是同一个网段?
将目的ip和自己的子网掩码进行与运算,得出目标网络地址和自己的网络地址比较。
一样则为同一个网段,不一样则交由网关路由出去。

# 根据要求的主机数量,推算出子网掩码。
例如一个网络地址块:192.168.100.0/24 需要将其划分为多个子网,每个子网要求 可用IP数量不少于30个主机地址。完成以下任务:

要求:
1 推算出每个子网的子网掩码(CIDR 表示法)。
2 列出每个子网的:网络地址、广播地址、可用 IP 范围。
3 计算最多可以划分出多少个这样的子网。

1、 需要 2^x - 2 >= 30,2^4=16-2=14 不符合,2^5=32-2=30 符合,2^6=64-2=62 不符合(超过30个太多)。
2^5即主机位是5个0,二进制表示,即 11111111.11111111.11111111.11100000,CIDR表示为 /27,十进制为 255.255.255.224

根据每个子网的ip数量(32)倍数算出每个子网的开始ip、结束ip。

      网络地址                            广播地址
0倍	192.168.100.0/27    192.168.100.0 ~ 192.168.100.31
1倍	192.168.100.32/27   192.168.100.32 ~ 192.168.100.63
2倍	192.168.100.64/27   192.168.100.64 ~ 192.168.100.95
3倍	192.168.100.96/27   192.168.100.96 ~ 192.168.100.127
4倍	192.168.100.128/27  192.168.100.128 ~ 192.168.100.159
5倍	192.168.100.160/27  192.168.100.160 ~ 192.168.100.191
6倍	192.168.100.192/27  192.168.100.192 ~ 192.168.100.223
7倍	192.168.100.224/27  192.168.100.224 ~ 192.168.100.255

共8个网段,每个网段的网络地址+1,广播地址-1,之间的数就是每个网段的可用ip范围。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/5617.html

作者:Venus

服务器运维与性能优化

评论已关闭。