子网掩码是什么?

网络上,数据从一个地方传到另外一个地方,是依靠 IP 寻址。
从逻辑上来讲,是两步的。
第一步,从 IP 中找到所属的网络,好比是去找这个人是哪个小区的;
第二布,再从 IP 中找到主机在这个网络中的位置,好比是在小区里面找到这个人。
第一步中的网络,就称之为「子网」(Subnet)。
从逻辑上来讲,一般同一子网(Subnet)是使用相同的网关。就好比,一个小区的入口。
IPv4 的 IP 地址是 32 位的,形式如 http://xxx.xxx.xxx.xxx,每一个 xxx 取值都是 0 - 255。
到底是前三个 xxx 相同,就代表同一个子网,还是前两个,还是其他?这个并不一定。
就好比小区有大有小,有的小区有上千户人家,有的小区只有区区几个。
所以,就引入「子网掩码」(Subnet Mask)来标识该子网的大小。
我们一般看到的 IP 地址是十进制的编码,所以如果换一个视角,从二进制的角度看,每一个 IP 地址就是 32 位 1 或 0。
子网掩码,就是用来告诉这个子网的覆盖区间。这 32 位中,前多少位是网络段?当然,余下的就是主机段。
举典型的例子:
IP 中前 24 位代表子网号,后 8 位代表主机号。
所以子网掩码就是 24 个 1(代表前 24 位是子网部分),加 8 个 0(后 8 位是主机部分)。
如果沿用 IP 的标识方式,就是 255.255.255.0 。
每一个 255 对应 8 个二进制 1,最后一个 0 对应 8 个二进制 0。
该子网可以容纳最多 256 台主机,也就是主机号从 0 到 255。
当然,实际情况没有这么多,有一些特殊数字有保留用处(广播、网关等)。
所以,总结来说:子网掩码就是用来帮助我们从IP地址中找出有多少位是表示子网的,有多少位又是表示主机号的,我们要清楚,当二进制中表示子网的位都设为1,主机都设为0
发布了27 篇原创文章 · 获赞 85 · 访问量 7万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章