例:IP地址为192.168.100.5 子网掩码是255.255.255.0 ,计算出网络地址、广播地址、地址范围、主机数。

步骤如下:

  • 将IP地址和子网掩码都换算成二进制,子网掩码中全是1的部分是网络地址,后面的是主机地址,红线之前为网络地址,红线之后为主机地址

python3根据ip掩码长度计算掩码 根据掩码计算ip地址范围_网络

  • 网络地址

python3根据ip掩码长度计算掩码 根据掩码计算ip地址范围_网络地址_02

  • 网络地址的主机地址全部变为1,就得到了广播地址

python3根据ip掩码长度计算掩码 根据掩码计算ip地址范围_网络_03

  • 地址范围就是包含在本网段内的所有主机

网络地址+1是第一个主机地址,广播地址-1是最后一个主机地址;

地址范围是:网络地址+1 ~ 广播地址-1

在本例中由上面可得网络地址为192.168.100.0, 广播地址为192.168.100.255

地址范围为:192.168.100.1 ~ 192.168.100.254

也就是说以下地址都是一个网段的

192.168.100.1、192.168.100.2 .......192.168.100.20 .......192.168.100.111 ...... 192.168.100.254

  • 主机数量

主机的数量 = 2的二进制主机位数-2,比如一个网段的二进制主机位数为n,则主机数量= 2^n -2(2的二进制主机位数指的是主机位中1的个数,本例中主机位数是8,主机地址有8个1)

本例中主机数量

减二是因为主机不包括网络地址和广播地址。

例2:已知一台主机IP地址为128.36.199.3 子网掩码是255.255.254.0,计算出该主机IP段的网络地址、网络地址、地址范围、主机数。

  • 将IP地址和子网掩码换算成二进制,子网掩码连续全为1的部分是网络地址,后面的是主机地址,红线前为网络地址,红线之后为主机地址

python3根据ip掩码长度计算掩码 根据掩码计算ip地址范围_广播地址_04

  • 将IP地址与子网掩码进行“与”运算,得到网络地址

python3根据ip掩码长度计算掩码 根据掩码计算ip地址范围_网络地址_05

  • 将网络地址中的主机地址全部变为1,就得到了广播地址

python3根据ip掩码长度计算掩码 根据掩码计算ip地址范围_子网掩码_06

  • 地址范围就是包含在本网段内的所有主机

网络地址+1是第一个主机地址,广播地址-1是最后一个主机地址

地址范围是:网络地址+1 ~ 广播地址-1

在本例中由上面可得网络地址为128.36.192.0,广播地址为:128.36.107.255

地址范围为:128.36.192.1 ~ 128.36.107.254

也就是说以下地址都是一个网段的:

128.36.192.1、128.36.192.2........128.36.107.254

  • 主机数量

主机数量 = 2的二进制主机位数 - 2,比如一个网段的二进制主机位数为n,则主机数量 = 2^n -2(2的二进制主机数值得是主机地址中1的数量,在本例中主机地址1的数量为12,主机地址由8个1,故n= 12)

本例中主机数量 = 2^12 -2 =4094