(四)子网掩码
1、概念简介
-
子网掩码
子网掩码又叫网络掩码、地址掩码,是一个32位地址,用于屏蔽IP地址的一部分以区别网络号和主机号,并说明该IP地址是在局域网上,还是在远程网上。子网掩码不能单独存在,它必须结合IP地址一起使用。 -
定义规则
子网掩码的设定必须遵循一定的规则。与二进制IP地址相同,子网掩码由1和0组成,且1和0必须分别连续。左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。 -
表示方法
子网掩码通常有以下两种格式的表示方法:
①通过与IP地址格式相同的点分十进制表示,如:255.0.0.0 或255.255.255.128;
②IP地址后加上"/"符号以及1-32的数字,其中1-32的数字表示子网掩码中网络位的长度,也就是二进制数字“1”的个数,如:192.168.1.1 /24 的子网掩码也可以表示为255.255.255.0,换算成二进制为11111111.11111111.11111111.00000000,网络位共24个“1”。
2、掩码作用
子网掩码的主要作用有两个:
-
子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。
子网掩码之所以要求“1”和“0”必须都是连续的,是为了让子网掩码与IP地址做按位与运算时用“0”遮住原主机数,而不改变原网络号数字,此时若得出两个IP地址的网络号相同,那么就表明属于同一子网;而且这种方式很容易通过“0”的位数确定子网的主机数(2的主机位数次方-2,因为主机号全为“1”时表示该网络广播地址,全为0时表示该网络的网络地址,这是两个特殊地址)。只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。 -
子网掩码用于将一个大的IP网络划分为若干小的子网络,减少IP地址的浪费。
互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。随着互联网的发展,越来越多的网络产生,网络中的计算机有的多则几百台,有的只有区区几台,这样就浪费了很多IP地址,因此要划分子网,提高网络应用的效率。
3、掩码分类
子网掩码一共分为两类:
- 标准子网掩码,也叫做缺省(自动生成)子网掩码,即未划分子网,对应的网络号的位都置1,主机号都置0。
1.判断任意两台计算机的IP地址是否属于同一子网络
假设主机A的IP地址为192.168.0.1,子网掩码为255.255.255.0;主机B的地址为192.168.0.200,子网掩码为255.255.255.0,判断主机A和主机B是否属于同一子网络?
-
第一步,将IP地址和子网掩码分别换算成二进制: <br />
192.168.0.1 换算成二进制为 11000000·10101000·00000000·00000001
192.168.0.200 换算成二进制为 11000000·10101000·00000000·11001000
255.255.255.0 换算成二进制为 11111111·11111111·11111111·00000000 <br /> -
第二步,将两个IP地址分别于对应的子网掩码进行按位与运算,求得网络地址: <br />
主机A:
11000000·10101000·00000000·00000001
11111111·11111111·11111111·00000000
————————按位与————————
11000000·10101000·00000000·00000000
网络地址换算成十进制为 192.168.0.0 <br />
主机B:
11000000·10101000·00000000·11001000
11111111·11111111·11111111·00000000
————————按位与————————
11000000.10101000.00000000.00000000
网络地址换算成十进制为 192.168.0.0 <br /> -
第三步,比较两个网络地址是否相同: <br />
主机A的网络地址为 192.168.0.0
主机B的网络地址为 192.168.0.0
相同,因此判断为属于同一子网络。
假设主机A的IP地址为192.168.0.1,子网掩码为255.255.255.192;主机B的地址为192.168.0.200,子网掩码为255.255.255.192,判断主机A和主机B是否属于同一子网络?
-
第一步,将IP地址和子网掩码分别换算成二进制: <br />
192.168.0.1 换算成二进制为 11000000·10101000·00000000·00000001
192.168.0.200 换算成二进制为 11000000·10101000·00000000·11001000
255.255.255.192 换算成二进制为 11111111·11111111·11111111·11000000 <br /> -
第二步,将两个IP地址分别于对应的子网掩码进行按位与运算,求得网络地址: <br />
主机A:
11000000·10101000·00000000·00000001
11111111·11111111·11111111·11000000
————————按位与————————
11000000·10101000·00000000·00000000
网络地址换算成十进制为 192.168.0.0 <br />
主机B:
11000000·10101000·00000000·11001000
11111111·11111111·11111111·11000000
————————按位与————————
11000000.10101000.00000000.11000000
网络地址换算成十进制为 192.168.0.192 <br /> -
第三步,比较两个网络地址是否相同: <br />
主机A的网络地址为 192.168.0.0
主机B的网络地址为 192.168.0.192
不相同,因此判断为不属于同一子网络。
注意:
选取这两个例子主要想说明:
第一,不要简单认为网络地址就是将IP地址的后几组数改为“0”即可,仅仅是子网掩码对应IP地址的主机位,用二进制数字“0”表示而已;
第二,不要简单认为当IP地址看起来属于同一网段,且子网掩码也相同的情况下,这两个IP地址就一定属于同一子网。
<br />
2.通过IP地址和子网掩码计算相关地址
假设IP地址为128.36.199.3,子网掩码是255.255.240.0,计算出网络地址、广播地址、可用地址范围、主机数。
-
第一步,将IP地址和子网掩码换算为二进制: <br />
128.36.199.3 换算成二进制为 10000000·00100100·11000111·00000011
255.255.240.0 换算成二进制为 11111111·11111111·11110000·00000000 <br />
子网掩码中二进制位连续全“1”的是网络地址,共有20位;后面二进制位连续全“0”的是主机地址,共有12位。 -
第二步,IP地址和子网掩码进行按位与运算,求得网络地址: <br />
10000000·00100100·11000111·00000011
11111111·11111111·11110000·00000000
————————按位与————————
10000000.00100100.11000000.00000000
网络地址换算成十进制为 128.36.192.0 <br /> -
第三步,根据子网掩码,在第二步结果中网络地址二进制位不变的情况下,将主机地址二进制位置为“1”,求得广播地址: <br />
网络地址 128.36.192.0
10000000.00100100.11000000.00000000
根据子网掩码,主机地址是后12位二进制位,将其置为“1”
10000000.00100100.11001111.11111111
广播地址 128.36.207.255 -
第四步,可用地址范围是指包含在本网段内的所有主机: <br />
网络地址+1为第一个主机地址,即起始地址为128.36.192.1;
广播地址-1为最后一个主机地址,即结束地址为128.36.207.254。
地址范围是128.36.192.1——128.36.207.254 -
第五步,主机数量: <br />
主机的数量 = 2^二进制主机位的个数-2
根据子网掩码,主机地址是12位二进制位
因此主机数量为2^12-2,即4094。
<br />
3.子网划分问题
假设X公司申请了一个C类的IP地址,要连接6个子公司,每个子公司在一个网段中,则子网掩码应该为多少?
-
第一步,连接6个子公司就是划分为6个子网: <br />
划分的子网数量 = 2^x (x是掩码位,即掩码位中二进制位是“1”的位数)
因此,根据公式可得 2^x >= 6 , x = 3<br /> -
第二步,得到C类IP地址的缺省子网掩码: <br />
子网掩码为 255.255.255.0
换算成二进制为:
11111111.11111111.11111111.00000000 -
第三步,将C类IP地址的缺省子网掩码的主机地址前3位置“1”,可得结果: <br />
缺省子网掩码:
11111111.11111111.11111111.00000000
置1后子网掩码:
11111111.11111111.11111111.11100000
换算成十进制为: 255.255.255.224
划分子网就是把主机号前几位当做子网号,并添加到网络号里扩充网络号,可参见本篇之前第四部分“可变长子网掩码(VLSM)”中的描述。
假设依然是X公司,要求每一个子公司要容纳800台主机,则子网掩码应该为多少?
-
第一步,根据公式求出实际主机数: <br />
主机数 = 2^y-2(y是主机位,即子网掩码中二进制位是“0”的位数)
因此,根据公式可得 2^y-2 >= 800,y = 10<br /> -
第二步,得到C类IP地址的缺省子网掩码,并将主机地址全部置为“1”: <br />
子网掩码为 255.255.255.0
换算成二进制为:
11111111.11111111.11111111.00000000
主机地址置为“1”后:
11111111.11111111.11111111.11111111 -
第三步,将主机地址置为“1”后的子网掩码,从最后依次向前数10个二进制位,置为“0”,可得结果: <br />
主机地址置为“1”后:
11111111.11111111.11111111.11111111
从最后依次向前数10个二进制位,置为“0”:
11111111.11111111.11111100.00000000
换算成十进制为: 255.255.252.000
<br />
4.快速划分练习
已知:
①IP地址为C类
②子网掩码为255.255.255.128 /25
③网络地址为192.168.10.0
求:
①可划分多少子网
②每个子网中可容纳多少台主机
③有哪些合法子网地址
④每个子网的广播地址
⑤有多少有效主机地址
-
回答问题①: <br />
划分的子网数量 = 2^x (x是掩码位,即掩码位中二进制位是“1”的位数)
C类IP地址的缺省子网掩码为255.255.255.0,共24个二进制位是“1”,已知条件②表示共有25个二进制位是“1”,多的1个就是掩码位扩充得到的。
因此,划分的子网数量 = 2^1,即可划分2个子网。<br /> -
回答问题②: <br />
主机数 = 2^y-2(y是主机位,即子网掩码中二进制位是“0”的位数)
子网掩码一共只有32个二进制位,其中25个二进制位是“1”,那么二进制位是“0”的位数有32-25,即7个。
因此,可容纳的主机数 = 2^7-2,即126台主机。 -
回答问题③: <br />
合法子网号 = 256-十进制的子网掩码掩码位
已知是C类IP地址,且子网掩码是255.255.255.128,则十进制掩码位是128。
因此,合法子网号 = 256-128 = 128,即合法子网地址为192.168.10.0、192.168.10.128。 -
回答问题④: <br />
子网广播地址 = 下一个子网地址-1
已知合法子网地址为192.168.10.0、192.168.10.128。
因此,子网的广播地址分别是192.168.10.127、192.168.10.255。 -
回答问题⑤: <br />
有效主机地址 = 介于子网地址和广播地址之间的所有地址
因此,有效主机地址是192.168.10.1-192.168.10.126、192.168.10.129-192.168.10.254。
已知:
①IP地址为B类
②子网掩码为255.255.255.128 /25
(此时子网掩码指使用了9位来进行子网划分的B类子网掩码,并不是C类子网掩码)
③网络地址为172.16.0.0
求:
①可划分多少子网
②每个子网中可容纳多少台主机
③有哪些合法子网地址
④每个子网的广播地址
⑤有多少有效主机地址
-
回答问题①: <br />
划分的子网数量 = 2^x (x是掩码位,即掩码位中二进制位是“1”的位数)
B类IP地址的缺省子网掩码为255.255.0.0,共16个二进制位是“1”,已知条件②表示共有25个二进制位是“1”,多的9个就是掩码位扩充得到的。
因此,划分的子网数量 = 2^9,即可划分512个子网。<br /> -
回答问题②: <br />
主机数 = 2^y-2(y是主机位,即子网掩码中二进制位是“0”的位数)
子网掩码一共只有32个二进制位,其中25个二进制位是“1”,那么二进制位是“0”的位数有32-25,即7个。
因此,可容纳的主机数 = 2^7-2,即126台主机。 -
回答问题③: <br />
合法子网号 = 256-十进制的子网掩码掩码位
已知是B类IP地址,那么缺省子网掩码是255.255.0.0,已知的子网掩码是255.255.255.128,则十进制掩码位是255和128。
因此,合法子网号 = 256-255 = 1,256-128 = 128,即合法子网地址为176.16.0.0、172.16.0.128,172.16.1.0、172.16.1.128,172.16.2.0、172.16.2.128……共512个。 -
回答问题④: <br />
子网广播地址 = 下一个子网地址-1
已知合法子网地址为172.16.0.0、172.16.0.128,172.16.1.0、172.16.1.128,172.16.2.0、172.16.2.128……
因此,子网的广播地址分别是172.16.0.127、172.16.0.255,172.16.1.127、172.16.1.255,172.16.2.127、172.16.2.255……。 -
回答问题⑤: <br />
有效主机地址 = 介于子网地址和广播地址之间的所有地址
因此,有效主机地址是172.16.0.1-172.16.0.126、172.16.0.129-172.16.0.254,172.16.1.1-172.16.1.126、172.16.1.129-172.16.1.254,172.16.2.1-172.16.2.126、172.16.2.129-172.16.2.254……
已知:
①IP地址为A类
②子网掩码为255.255.240.0 /20
(此处子网掩码是B类子网掩码)
网络地址为10.0.0.0
求:
①可划分多少子网
②每个子网中可容纳多少台主机
③有哪些合法子网地址
④每个子网的广播地址
⑤有多少有效主机地址
-
回答问题①: <br />
划分的子网数量 = 2^x (x是掩码位,即掩码位中二进制位是“1”的位数)
A类IP地址的缺省子网掩码为255.0.0.0,共8个二进制位是“1”,已知条件②表示共有20个二进制位是“1”,多的12个就是掩码位扩充得到的。
因此,划分的子网数量 = 2^12,即可划分4096个子网。<br /> -
回答问题②: <br />
主机数 = 2^y-2(y是主机位,即子网掩码中二进制位是“0”的位数)
子网掩码一共只有32个二进制位,其中20个二进制位是“1”,那么二进制位是“0”的位数有32-25,即12个。
因此,可容纳的主机数 = 2^12-2,即4094台主机。 -
回答问题③: <br />
合法子网号 = 256-十进制的子网掩码掩码位
已知是A类IP地址,那么缺省子网掩码是255.0.0.0,已知是B类子网掩码255.255.240.0,则十进制掩码位是240。
因此,合法子网号 = 256-240 = 16,即合法子网地址为10.0.0.0、10.0.16.0、10.0.32.0、10.0.48.0……共4096个。 -
回答问题④: <br />
子网广播地址 = 下一个子网地址-1
已知合法子网地址为10.0.0.0、10.0.16.0、10.0.32.0、10.0.48.0……
因此,子网的广播地址分别是10.0.15.255、10.0.31.255、10.0.47.255……。 -
回答问题⑤: <br />
有效主机地址 = 介于子网地址和广播地址之间的所有地址
因此,有效主机地址是10.0.0.1-10.0.15.254、10.0.16.1-10.0.31.254、10.0.32.1-10.0.47.254、10.0.48.1-10.0.62.254……
版权声明:欢迎转载,欢迎扩散,但转载时请标明作者以及原文出处,谢谢合作! ↓↓↓