来源: https://blog.csdn.net/weixin_39676242/article/details/110257459
概念- IP地址:一般是指逻辑ip;
- 子网掩码:将IP划分为网络号和主机号的IP;
- 网络号/主机号:子网掩码转成二进制后,连续全1的是网络号,后面的是主机号;
- 网络/广播/主机地址:在二进制下,主机位全为零就是网络地址,主机位全为1就是广播地址,其它就是主机地址。
相关计算 根据IP地址和子网掩码,求网络地址和广播地址
一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址?
-
根据子网掩码可知网络号有27位,主机号有5位!
255.255.255.224 --> 11111111 11111111 11111111 11100000 # 子网掩码
-
网络地址(把IP地址转成二进制和子网掩码进行
与运算
)202.112.14.137 --> 11001010 01110000 00001110 10001001 # ip地址 255.255.255.224 --> 11111111 11111111 11111111 11100000 # 子网掩码 202.112.14.128 <-- 11001010 01110000 00001110 10000000 # 与操作
即网络地址: 202.112.14.128
-
广播地址(网络地址的主机位有5位,全部变成1)
202.112.14.128 --> 11001010 01110000 00001110 10000000 # 网络地址 || 202.112.14.159 <-- 11001010 01110000 00001110 10011111 # 广播地址
即广播地址: 202.112.14.159
-
主机数
2^5 - 2 = 30
根据每个网络的主机数量,计算子网掩码和子网地址的规划
比如一个子网有10台主机,那么对于这个子网需要的IP地址是?
- ip所需总数:
10 + 1 + 1 + 1 =13
Tips
:三个 1
分别是指网关地址
、网络地址
和广播地址
。
-
子网掩码(因为 13 < 16(2^4=16),所以主机位为4位,网络位28位):
11111111 11111111 11111111 11110000 --> 255.255.255.240
或者根据主机位:
2^8 - 2^4 = 256 - 16 = 240
所以该子网掩码为 255.255.255.240
Tips: 如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为:
根据IP地址和子网掩码,计算网络地址、广播地址、地址范围、主机数
IP地址为 128.36.199.3 子网掩码是 255.255.240.0 , 算出网络地址、广播地址、地址范围、主机数
128.36.199.3 --> 10000000 00100100 11000111 00000011 # IP地址
255.255.240.0 --> 11111111 11111111 11110000 00000000 # 子网掩码
128.36.192.0 <-- 10000000 00100100 11000000 00000000 # 与操作
Tips:子网掩码连续全1的是网络号,后面的是主机号
-
IP地址和子网掩码进行与运算,结果是网络地址
即网络地址: 128.36.192.0
-
将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址(由子网掩码可知主机号为12位)
10000000 00100100 11000000 00000000 --> 10000000 00100100 11001111 11111111 --> 128.36.207.255
即广播地址: 128.36.207.255
-
地址范围就是含在本网段内的所有主机
地址范围是: 网络地址+1 至 广播地址-1
网络地址: 128.36.192.0,广播地址: 128.36.207.255
所以本例的网络范围是:128.36.192.1 至 128.36.207.254
Tips:
网络地址+1
即第一个主机地址,广播地址-1
即最后一个主机地址 -
主机的数量
主机的数量 = 2^主机号-2
即:主机的数量 = 2^12-2 = 4096-2 =4094
Tips:
减2
是因为主机不包括网络地址
和广播地址
。
从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址数时只要把地址换算成二进制,然后从子网掩码处分清楚连续1以前的是网络地址,后是主机地址进行相应计算即可。
206.110.4.0/18被划分成16个子网,求每个子网掩码?
划分成16个子网,根据子网掩码/18就表示有18个1,就要从的IP地址的主机位借4位来用作网络位
-
由前缀长度18,得掩码是 255.255.192.0
11111111 11111111 11000000 00000000 --> 255.255.192.0
Tips:206.110.4.0/18 由前缀长度/18,可得网络位是18位,主机位是14位(其中1代表网络位,0代表主机位)
-
切分成16个子网(2^4=16)
-
可以看出能操作的位数就是后面的14个0,即可以在里面划分出几位作为子网的网络位,进而来划分子网。
-
要求是切分成16个子网,而2的4次方刚好等于16,则:
- 子网的网络位:
18+4 = 22
- 子网的主机位:
32-22 = 10
11111111 11111111 11111100 00000000 --> 255.255.252.0
- 子网的网络位:
-
结论:
- 子网掩码是: 255.255.252.0
- 每个子网可以容纳的主机数是: 2^10-2 = 1024-2, 即 1022台;