链接: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.