一文带你了解什么是子网掩码

什么是子网掩码

子网掩码代表了“网络号+子网号”与主机号之间的分割方案。

很晦涩?

说子网掩码,我们还得先说说IP地址。

什么是IP地址

因特网上的每台主机或路由器端口都必须有一个唯一的IP地址。因为IP地址,在网络上我们才能互相识别,我们才能准确的交换信息或资源。

IP地址又分为IPV4地址和IPV6地址,应用最广的是IPV4地址,在这里我们先对IPV4地址进行讨论。

IPV4地址是一个32位的二进制数,也就是4个字节,通常采用的是点分十进制表示法,也就是用十进制来表示每个字节。 1字节=8位,所以每个字节可以表示的十进制范围是0~255.

IPV4地址分为两部分,分别是网络号和主机号。网络号的长度决定了整个因特网中能容纳多少网络,主机号的长度决定每个网络能容纳多少台主机(多少个ip)。

网络号 主机号

IPV4地址又进行了分类,分为A、B、C、D、E类地址
在这里插入图片描述

  • A类地址的网络号占1字节,主机号占3字节。网络号的最高位固定为0,也就是说还有7位可以用来标识网络,也就是2^7 =128个网络号。0和127分别作为标识本网络和环回测试地址,所以实际可指派的网络号有128-2=126个。因为主机号占3个字节, 所以是24位二进制,也就是2 ^24个,主机号全0代表网络地址,全1代表对应网络上的所有主机即广播地址,所以实际可指派的主机号位2 ^24 -2个
  • B类地址的网络号占2字节,主机号占另外2字节。网络号字段中最高两位固定为10。网络号字段中只有14位可供使用。但实际上B类网络地址128.0.y.z 是不指派的,因此实际可指派的B类网络号共有2^14-1=16383个。在每个B类网络中,同样要考电的和全1这两个特殊的IP地址,因此每个B类子网包含20 ^16 -2=65 534个可用IP地址
  • C类地址的网络号占3字节,主机号占剩余的1字节。网络号字段中最高三位留因此网络号字段中有21位可供使用。而192.0.0.z 通常也不指派给因特网上的主机他指派的C类网络号共有2^21 -1=2097151个,每个C类子网只能包含2 ^8=254个可IP地址。
  • D类地址并不用于标识主机或网络,而是用于多播信息的传输。最高四位为1110,其余28位不再划分网络号和主机号。
  • E类地址最高5位是11110,保留未用。
网络类别 可用网络数目 第一个可用的网络号 最后一个可用的网络号
A 126 1 126
B 16383 128.1 191.255
C 2097151 192.0.1 223.255.255

通过上面的分析,我们可以看到ip地址是有限的。而且这么用的话有两个问题:

  • IP地址利用率过低。 拿A类地址来说,一个A类地址可包含1600万主机,根本不可能把1600万主机用在一个网络中。
  • 网络号-主机号这样的两级IP地址不够灵活。 有些情况下,用户希望在网络中划分新的网络出来,例如一个公司有一栋办公楼,它想给每一层都设置一个网络。

所以我们要划分子网!

划分子网

就是从主机号里借几位来当标识子网。当然这样主机号位数就少了,但是,也足够用了。

这样一个ip地址就可以划分为多个子网络来用,大大的提高了IP地址的利用率。

这时候回顾概念,子网掩码代表了“网络号+子网号”与主机号之间的分割方案。
子网掩码中对应网络号和子网号的二进制位为1,主机号为0,由此可知,A类网络的默认子网掩码是255.0.0.0,B类网络的默认子网掩码是255.255.0.0,C类网络的默认子网掩码是255.255.255.0。
子网掩码也可以用点分十进制来表示,例如:

11111111 11111111 11111111 00000000

就可以用255.255.255.0来表示。

假如给定IP地址位206.95.106.130,子网掩码为255.255.255.192,子网掩码换算为二进制就是

11111111 11111111 11111111 11000000

我们可以判断出这是个C类地址,C类地址网络号的范围是192.0.1~223.255.255,所以130对应的主机号+网络号,因此子网号占用了2位

如何获取子网的网络地址呢?

将子网掩码与IP地址相与就可以。

所以如果要判断两个IP地址是否在同一个子网中,只需要讲过两个IP地址与其对应的子网掩码做运算。

习题练习

例如:

主机一

IP地址"222.21.160.6即:11011110.00010101.10100000.00000110

子网掩码:255.255.255.192即:11111111.11111111.11111111.11000000

按位逻辑与运算结果为:11011110.00010101.10100000.00000000

十进制形式为(网络地址):222.21.160.0
主机二

IP地址 :222.21.160.73 即:11011110.00010101.10100000.01001001

子网掩码 :255.255.255.192即:11111111.11111111.11111111.11000000

按位逻辑与运算结果为:11011110.00010101.10100000.01000000

十进制形式为(网络地址):222.21.160.64

C类地址判断前三位是否相同,即可确定2个IP地址是否在同一网段内,但本例中的222.21.160.6与222.21.160.73不在同一网段,因为这两个C类IP地址已经做了子网划分就不能只判断前三个字节是否相同就确认这两个IP是否在同一网段。

其中222.21.160.6在222.21.160.1-222.21.160.62 段,222.21.160.73在222.21.160.65-222.21.160.126 段,所以不在同一网段,如果要通信需要通过路由器转发。

某台主机IP地址202.97.47.69,子网掩码是255.255.255.240,求它所在网络的网络地址为___________

答案 202.97.47.64

讲ip地址转换为2进制与子网掩码相与即可。

发布了200 篇原创文章 · 获赞 99 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_43889841/article/details/103514829