子网掩码的理解【实习第三天】

     今天主要的学习内容是与IP地址和子网掩码有关的内容,为了以后能够方便的查阅到相关的资料,把今天上午从知乎和CDSN博客上面搜索的一些有用的知识点罗列出来。下面是IP地址结构的分配图(主要罗列一些有助于理解子网掩码的内容,对于一些基本概念的阐述就不复制粘贴到这里来了)

 

下面这一段解释的是子网掩码和IP地址之间的关系,这篇解释的还可以,挺明了的。显然,IP地址是由网络号和主机号构成的,但是如果就给一个IP地址,就比方说是这样的一个形式IP地址:192.168.1.199,如果只有这个,那么我们并不能够确定他的网络号和主机号,但是我们可以结合子网掩码分理出他的网络号和主机号(子网掩码中1对应的是网络号,0对应的是主机号)。(出处链接:https://www.zhihu.com/question/56895036/answer/154192558,作者师爷快上)
内网中192.168.1.199的前三组是网络号,后一组是主机号,子网掩码就是255.255.255.0

首先要说明的是:不是某个IP的网络号和主机号决定子网掩码是什么,而是子网掩码决定了某个IP地址的网络号与主机号是什么,IP地址是要搭配子网掩码使用的。例如上面的子网掩码决定了192.168.1.199的前三段192.168.1是网络号,最后一段199是主机号。

我们再来理解子网掩码的作用,先举个例子,市面上的两个厂家都生产电子秤,每个厂家都坚称他们的秤最准,那你是怎么知道他们的秤到底准不准?很简单,你去找一个 1KG 的国际千克原器,各放到他们的秤上测量,如果秤的测量值是1KG,那这把秤就是准的,子网掩码的作用就相当于这个大家公认的国际千克原器,是我们测量两个IP是否属于同一个网段的一个工具(应该说是让你知道某个IP地址的网络号与主机号分别是什么) 。

如果判断一个IP地址:192.168.1.199的网络号和主机号分别是什么?

请问你怎么判断?你凭什么说192.168.1是网络号?199是主机号?有什么根据吗?

但是如果我给你一个IP地址是以下(带子网掩码)形式的:

IP:192.168.1.199

子网掩码:255.255.255.0

那么根据大家公认的规则,你就可以得出这个IP的网络号和主机号了,怎么算呢?

子网掩码的长度和IP地址一样也是一串32位的二进制数字,只不过为人类的可读性和记忆性的方便,通常使用十进制数字来表示,例如把上面的IP地址和子网掩码都转换成相应的二进制就是下面这样的:

十进制 二进制

IP 地址:192.168.1.199 ‐>11000000.10101000.00000001.11000111

子网掩码:255.255.255.0 ‐>11111111.11111111.11111111.00000000

十进制的显示形式是给人看的,二进制的显示形式是给计算机看的。。。

子网掩码的左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。

例如上面的子网掩码255.255.255.0的 “1”的个数是左边24位,则对应IP地址左边的位数也是24位;

十进制 二进制

IP 地址:192.168.1.199 ‐>11000000.10101000.00000001.11000111

子网掩码:255.255.255.0 ‐>11111111.11111111.11111111.00000000

则这个IP地址的网络号就是11000000.10101000.00000001 ,转换成十进制就是 192.168.1,网掩码255.255.255.0的 “0”的个数是右边8位,则这个IP地址的主机号就是11000111,转换成十进制就是199.


 第二个解释:(作者:我不是段子手 链接:https://www.zhihu.com/question/56895036/answer/155071962 来源:知乎)
子网掩码是为了区分网络位和主机位。把IP地址比作一个人的名字,那么子网掩码可以让你知道什么是名,什么是姓。
假设给你个名字,莱昂纳多迪卡普里奥。你并不知道这九个字名和姓是从何处分开的。那么现在给你一串数字111100000,告诉你这九个二进制数字分别对应名字的九个字,1和0的分界处就是名和姓的分界。
再举个栗子。有一个网段是192.168.1.0 ,咱们把它比作一个村子,叫做司马村。此网段的有一个主机地址是192.168.1.5,咱们叫他司马光。另又有网段是192.168.0.0,叫做司村,村里面同样有个人叫做司马光,主机位同样是192.168.1.5。
这个时候给你司马光(192.168.1.5IP地址)这个名字你如何区分他是哪个村子的?就需要子网掩码了,司马村的子网掩码是255.255.255.0 ,而司村的子网掩码就是255.255.0.0,这个时候你就能知道司马光是哪个村子里的。
192.168.1.5对应的二进制数是
11000000.10101000.00000001.00000101
而255.255.255.0对应的二进制数是
11111111.11111111.11111111.00000000
255.255.0.0的二进制数是
11111111.11111111.00000000.00000000
因为子网掩码为1时对应的就是主网网段,也就是姓。为0对应的是主机位,也就是名。
把255.255.255.0对应的网段取出来就是192.168.1.0
255.255.0.0对应的网段取出来就是192.168.0.0
给你198.168.1.5是,只要凭子网掩码就可以知道他是哪个网段的。
即就知道司马光到底是姓司马还是姓司,同时也知道他住在那个村子了。

猜你喜欢

转载自blog.csdn.net/qq_42322269/article/details/81198343