相关概念:IP地址、子网掩码、网络号、主机号、主机数、网络地址、广播地址
IP地址:由4字节/32位表示,通常用点分十进制表示法,例如192.168.1.1,对应的二进制就是11000000 10101000 00000001 00000001
IP地址通常有下面三种表示方法,目前最常用的是CIDR表示法。
- IP地址 ::= {<网络号>,<主机号>} //分类IP地址表示法
- IP地址 ::= {<网络号>,<子网号>,<主机号>} //子网划分方法
- IP地址 ::= {<网络前缀>, <主机号>} / 网络前缀所占位数 //CIDR表示法
子网掩码:子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分,通过子网掩码可以看出有多少位是网络号,有多少位是主机号。例如:255.255.255.0 二进制是:11111111 11111111 11111111 00000000,可知网络号24位,即全是1;主机号8位,即全是0。
网络地址:把IP地址转成二进制和子网掩码进行与运算(逻辑乘法:0&0=0;0&1=0;1&0=0;1&1=1 )
广播地址:将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址
主机数:2 ^ 二进制位数的主机 - 2
下面用两个实例来加深理解:
一、IP地址为128.36.199.3,子网掩码是255.255.240.0,算出网络地址、广播地址、地址范围、主机数。
- 将IP地址和子网掩码进行二进制形式的与运算,可求得网络地址为 128.36.192.0 。
255.255.240.0 转二进制:11111111.11111111.11110000.00000000
通过子网掩码可知网络号有20位,主机号有12位。此时,IP地址也可用CIDR形式表示为 128.36.199.3/20 。
IP地址&子网掩码:128.36.199.3 = 128.36.11000111.00000011
255.255.240.0 = 255.255.11110000.00000000
—————————————
128.36.11000000.00000000 = 128.36.192.0
- 将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址。
网络地址为128.36.192.0 = 128.36.11000000.00000000
将标红的后12位主机号全都变为1即可得到广播地址:128.36.11001111.11111111 即:128.36.207.255。
- 地址范围就是含在本网段内的所有主机。网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出地址范围是: 网络地址+1 至 广播地址-1本例的网络范围是:128.36.192.1 至 128.36.207.254
本例的网络范围是:128.36.192.1 至 128.36.207.254
- 主机的数量=2^二进制位数的主机-2
主机的数量=2^12-2=4094,减去2是因为主机不包括网络地址和广播地址。
二、根据每个网络的主机数量进行子网地址的规划和计算子网掩码。比如一个子网有10台主机,那么对于这个子网需要的IP地址是:
10+1+1+1=13
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。因为13小于16(16等于2的4次方),所以主机位为4位。而
256-16=240
所以该子网掩码为255.255.255.240。如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为:
14+1+1+1=17
17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224
参考文章:
- IP地址、子网掩码、网络号、主机号、网络地址、主机地址
- CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)