文档章节

子网掩码讲解

fengsehng
 fengsehng
发布于 2016/11/09 09:12
字数 2214
阅读 11
收藏 0

定义:

子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

默认子网掩码:

子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。

构成

互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。

IP地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。

规则

子网掩码的设定必须遵循一定的规则。与二进制IP地址相同,子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样做的目的是为了让掩码与ip地址做按位与运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数

(2的主机位数次方-2,因为主机号全为1时表示该网络广播地址,全为0时表示该网络的网络号,这是两个特殊地址)

。只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。

定义子网掩码

用于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。

定义子网掩码的步骤为:

A、确定哪些组地址归我们使用。比如我们申请到的网络号为 “210.73.a.b”,该网络地址为c类IP地址,网络标识为“210.73.a”,主机标识为“b”。

B、根据我们所需的子网数以及将来可能扩充到的子网数,用宿主机的一些位来定义子网掩码。比如我们需要12个子网,将来可能需要16个。用第四个字节的前四位确定子网掩码。前四位都置为“1”,即第四个字节为“11110000”,这个数我们暂且称作新的二进制子网掩码。

C、把对应初始网络的各个位都置为“1”,即前三个字节都置为“1”,则子网掩码的间断二进制形式为:“11111111.11111111.11111111.11110000” 。

D、把这个数转化为间断十进制形式为:“255.255.255.240” 。

如何用子网掩码得到网络 / 主机地址

过程如下:

  1. 将 IP 地址与子网掩码转换成二进制;

  2. 将二进制形式的 IP 地址与子网掩码做 ’ 与 ’ 运算,将答案化为十进制便得到网络地址;

  3. 将二进制形式的子网掩码取 ’ 反 ’ ;

  4. 将取 ’ 反 ’ 后的子网掩码与 IP 地址做 ’ 与 ’ 运算,将答案化为十进制便得到主机地址。

下面我们用一个例子给大家演示:

假设有一个 I P 地址: 192.168.0.1

子网掩码为: 255.255.255.0

化为二进制为: I P 地址 11000000.10101000.00000000.00000001

子网掩码 11111111.11111111.11111111.00000000

将两者做 ’ 与 ’ 运算得: 11000000.10101000.00000000.00000000

将其化为十进制得: 192.168.0.0

这便是上面 IP 的网络地址,主机地址以此类推。

如何计算子网数量?

这个问题大家会常常提到,还是从子网掩码入手,主要有两个步骤:

  1. 观察子网掩码的二进制形式,确定作为子网号的位数 n ;

  2. 子网数量为 2^n - 2 。(为什么减 2 ,继续往下看)

举个例子来说,比如有这样一个子网掩码: 255.255.255.224 其二进制为:

11111111.11111111.11111111.11100000

可见 n=3,2 的 3 次方为 8 ,说明子网地址可能有

如下 8 种情况:

000 001 010 011 100 101 110 111

但其中代表网络自身的 000 ;代表广播地址的 111 是被保留的,所以要减 2 。

如何计算总主机数量,子网内主机数量?

总主机数量=子网数量×子网内主机数量

再用一个例子给大家说明,比如子网掩码为 255.255.255.224

上面的讨论知道它最多可以划分 6 个子网,那么每个子网内最多有多少个主机呢?其实上面我已经给大家算过了,由于网络被划分为 6 个子网,占用了主机号的前 3 位,且是 C 类地址,则主机号只能用 5 位来表示主机号,因此子网内的主机数量=( 2 的 5 次方)- 2 = 30.

因此通过这个子网掩码我们可以算出这个网络最多可以标识 6*30=180 个主机(可见,在化分子网后,整个网络所能标识的主机数量将减少)。

计算方式

由于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。

根据子网数

利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。

1)将子网数目转化为二进制来表示
2)取得该二进制的位数,为 N
3)取得该IP地址的类子网掩码,将其主机地址部分的前N位置1 即得出该IP地址划分子网的子网掩码。
如欲将B类IP地址168.195.0.0划分成27个子网:
1)27=11011
2)该二进制为五位数,N = 5
3)将B类地址的子网掩码255.255.0.0的主机地址前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0
即为划分成27个子网的B类IP地址 168.195.0.0的子网掩码(实际上是划成了32-2=30个子网)。
这一段介绍的是旧标准下计算的方法,关于旧的标准后文在介绍,在新标准中则可以先将27减去1,因为计算机是从0开始计算的,从0到27实际上是有28个,所以说如果需要27个就需要将27减去1。

根据主机数

利用主机数来计算

1)将主机数目转化为二进制来表示
2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为 N,这里肯定N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位。
3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
1) 700=1010111100
2)该二进制为十位数,N = 10
3)将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255
然后再从后向前将后10位置0,即为: 11111111.11111111.11111100.00000000
即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址168.195.0.0的子网掩码。

参考:
http://baike.baidu.com/view/878.htm
http://blog.csdn.net/jason314/article/details/5447743

我的微信二维码如下,欢迎交流讨论

这里写图片描述

欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧

微信订阅号二维码如下:

这里写图片描述

© 著作权归作者所有

共有 人打赏支持
fengsehng
粉丝 4
博文 284
码字总数 214494
作品 0
朝阳
程序员
子网数、主机数与子网掩码的关系

直接拿实际的例子说吧,这样容易理解。 1、利用子网数目计算子网掩码 把B类地址172.16.0.0划分成30个子网络,它的子网掩码是多少? ①将子网络数目30转换成二进制表示11110 ②统计一下这个二...

taotie_ksl
06/26
0
0
RIP协议的详细讲解

RIP协议 RIP协议 在所有路由器上启动RIP协议,路由器便会自动向邻居通告自己所知道的路由信息,同时接收邻居通告过来的路由信息,最终自动建立完整的路由表。 1. 路由信息的通告: 每30秒周期...

天涯悠客
2015/01/11
0
0
IP分配及网段划分

ipv4地址分为A,B,C,D,E类: 参考文档: A类:1.0.0.0~126.255.255.255,默认子网掩码/8,即255.0.0.0(其中127.0.0.0~127.255.255.255为环回地址,用于本地环回测试等用途);B类:128.0.0.0~191.25...

想飞的鱼8
2017/09/16
0
0
ip的划分,超详细.[经典]

IP和子网掩码 我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP A类IP段 0.0.0.0 到127.255.255.255 B类IP段 128.0.0.0 到191.255.255.255 C类IP段 192.0.0.0 到223...

长平狐
2012/09/03
41
0
让你一目了然的ip划分!

IP和子网掩码 我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP   A类IP段  0.0.0.0 到127.255.255.255   B类IP段  128.0.0.0 到191.255.255.255   C类IP段 ...

gaoge
2008/09/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

活动招募 HUAWEI HiAI公开课·北京站-如何在4小时把你的APP变身AI应用

人工智能和机器学习是全球关注的新趋势,也是当前最火爆、最流行的话题。当你拿手机用语音助手帮你点外卖,智能推荐帮你把周边美食一网打尽;当你拿起P20拍照时,它将自动识别场景进行最美优...

华为终端开放实验室
9分钟前
0
0
匹配两位小数,js正则

var regex = /^\d*(\.[1-9]|\.\d[1-9])*$/ console.log(1.2,regex.test(1.2)); console.log(0.3,regex.test(0.3)); console.log(1.03,regex.test(1.03)); ......

微信小程序-暗潮
14分钟前
0
0
905. Sort Array By Parity - LeetCode

Question 905. Sort Array By Parity Solution 题目大意:数组排序,偶数放前,奇数在后,偶数的数之间不用管顺序,奇数的数之间也不用管顺序 思路:建两个list,一个放偶数,一个放奇数,最...

yysue
19分钟前
0
0
h5 禁止手机自带键盘弹出

html: <div style="width: 350px;margin:50px auto;"><input type="text" id="datePicker" class="date_picker form-control" placeholder="点击选择入住日期" /></div> js: $("#date......

Delete90
36分钟前
1
0
color透明度对照表

透明度百分比 数值 100% 不透明 FF 95% F2 90% E6 85% D9 80% CC 75% BF 70% B3 65% A6 60% 99 55% 8C 50% 80 45% 73 40% 66 35% 59 30% 4D 25% 40 20% 33 15% 26 10% 1A 5% 0D 0% 完全透明 ......

_无问西东
37分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部