(四)子网掩码

作者: 黒猫 | 来源:发表于2017-04-28 22:51 被阅读265次

1、概念简介

  1. 子网掩码
      子网掩码又叫网络掩码、地址掩码,是一个32位地址,用于屏蔽IP地址的一部分以区别网络号和主机号,并说明该IP地址是在局域网上,还是在远程网上。子网掩码不能单独存在,它必须结合IP地址一起使用。

  2. 定义规则
      子网掩码的设定必须遵循一定的规则。与二进制IP地址相同,子网掩码由1和0组成,且1和0必须分别连续。左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。

  3. 表示方法
    子网掩码通常有以下两种格式的表示方法:
    ①通过与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……


版权声明:欢迎转载,欢迎扩散,但转载时请标明作者以及原文出处,谢谢合作!             ↓↓↓

相关文章

网友评论

    本文标题:(四)子网掩码

    本文链接:https://www.haomeiwen.com/subject/equyzttx.html