子网掩码
子网掩码:用来标记有多少位是网络号(1)、多少位是主机号(0)。
例子:255.255.255.0 二进制是:11111111 11111111 11111111 00000000
网络号24位。主机号位8位。
172.16.10.33/27 中的/27也就是说子网掩码是255.255.255.224 即27个全1 ,11111111 11111111 11111111 11100000。
根据IP地址和子网掩码求网络地址和广播地址:
说明 | 原始 | 二进制 |
---|---|---|
IP | 192.168.124.7 | 11000000 10101000 01111100 00000111 |
子网掩码 | 255.255.255.192 | 11111111 11111111 11111111 11000000 |
主机号(IP & !子网掩码的主机位) | 0.0.0.7 | 00000000 00000000 00000000 00000111 |
网络地址(IP & 子网掩码的网络位) | 192.168.124.0 | 11000000 10101000 01111100 00000000 |
广播地址(网络地址的主机位变成1) | 192.168.124.63 | 11000000 10101000 01111100 00111111 |
主机数(2^主机位数-2)(2为一个网络地址、一个广播地址)。地址范围:网络地址+1~广播地址-1 | 主机数:2^6-2 = 62。地址范围:192.168.124.1~192.168.124.63 | - |
根据每个网络的主机数量进行子网地址的规划和计算子网掩码。
假如某子网有10台主机,那么对于这个子网需要的IP地址是: 10(主机ip) + 1(指这个网络连接时所需的网关地址) + 1(网络地址) + 1(广播地址) = 13。
由于13小于最近的2进制数为16(2^4),所以主机位为4位(即有4位0即可),所以子网掩码为255.255.255.240(256-16),子网掩码二进制为11111111 11111111 11111111 11110000。
注意:
如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为: 14+1+1+1=17 。17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224
判断两个地址能不能广播
看两个地址与子网掩码&运算后相不相等。
例子巩固
1、IP地址为128.36.199.3,子网掩码是255.255.240.0。算出网络地址、广播地址、地址范围、主机数。
(1)网络地址:
IP地址128.36.199.3二进制为10000000 00100100 11000111 00000011
子网掩码255.255.240.0二进制为11111111 11111111 11110000 00000000
网络地址 = IP & 子网掩码 = 10000000 00100100 11000000 00000000 = 128.36.192.0
(2)广播地址:
广播地址 = 网络地址的主机位变成1 = 10000000 00100100 11001111 11111111 = 128.36.207.255
(3)地址范围:
地址范围 = 网络地址+1 ~ 广播地址-1 = 128.36.192.1 ~ 128.36.207.254
(4)主机数量
主机数量 = 2^主机位数 - 2 = 2^12 - 2 = 4094
2、206.110.4.0/18被划分为16个子网,每个子网的子网掩码是多少?每个子网可容纳的主机数是多少?
子网掩码:255.255.252.0。最大主机数:1022
由最后的那个/18,我们可以知道这个IP已经规定了它的网络位是18位,它默认的子网掩码就是255.255.192.0(11111111.11111111.11000000.00000000)(其中1代表网络位,0代表主机位)。
可以看出我们可以操作的位数就是后面的14个0,也就是说我们可以在地面划分出几位作为子网的网络位,进而来划分子网。要求是切分成16个子网(网络位要切分出来16个不同的网段),我们知道2的4次方刚好等于16,这就说明子网网络位的位数是4位,那14-4=10就是子网的主机位。所以上面我写的那串二进制就可以变成:11111111.11111111.11111100.00000000(其中1代表网络位,0代表主机位)换算成十进制就是:255.255.252.0 。每个子网可容纳的主机数就是2的10次方减2,即1022。