办公室有个人把自己服务器的子网掩码设置为 255.255.255.254,导致他这台电脑只能联网,但是,别的电脑连接不上该服务器(如SSH),甚至 ping 不通该服务器。本篇简单介绍下子网掩码的作用。

简介

在 ipv4 中,子网掩码依附于 ip 地址,用于子网划分。把 ip 地址划分为网络地址和主机地址两部分。

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

常用子网掩码

常用的子网掩码是 255.255.255.0,转化为二进制就是 11111111.11111111.11111111.00000000,有 24 个连续的 1 和 8 个连续的 0 组成。连续的 1 表示网络地址,连续的 0 表示主机地址。8 个 0 表示该子网掩码划分的子网容量为 256 个,即 $2^8$,说明 ip 地址 192.168.1.0-192.168.1.255 在同一个子网中。其中第一个 ip 地址 192.168.1.0 为网段地址,最后一个地址 192.168.1.255 为广播地址,都不可以使用。因此能够使用的 ip 地址为 192.168.1.1-192.168.1.254,共 254 个 ip 地址,设置这个范围内的 ip 地址的计算机互相之间都可以通信联网。

如果子网掩码是 255.255.255.252,那么转化为二进制是 11111111.11111111.11111111.11111100,有 30 个连续的 1 和 2 个连续的 0 组成。共有 $2^2=4$ 个 ip 地址是同一个网段。即第一个子网是 192.168.1.0-192.168.1.3,第二个子网是 192.168.1.4-192.168.1.7,依次类推。且每个子网第一个 ip 地址和最后一个 ip 地址分别是网段地址和广播地址,不能使用,所以每个子网能够使用的 ip 地址只有 2 个。

如果一个公司有 4 个部门,那么想要把这 4 个部门分别划分到不同的子网,即各部门网络不连通,那么设置的子网掩码最大应该是 255.255.255.192 = 11111111.11111111.11111111.11000000,因为 256 / 4 = 64 = 2^6,所以应该是末尾 6 个连续的 0. 这样第一个子网是 192.168.1.0-192.168.1.63,第二个子网是 192.168.1.64 - 192.168.1.127,第三个子网是 192.168.1.128-192.168.1.191,第四个子网是 192.168.1.192-192.168.1.255,且每个子网第一个和最后一个 ip 地址分别是网段地址和广播地址,不能使用。每个部门能够使用的 ip 地址数为 64 - 2 = 62 个,不同部门之间的电脑无法直接联通。

参考文献

  1. 子网掩码是什么?有什么作用?