作者按:话说实验室竟然是公网IP,这可让我爽了不少。可惜这公网IP缺是靠DHCP服务器分配的,得益于实验楼的DHCP服务器记录下MAC地址和IP的对应关系(抑或是人们不关机的好习惯?),每每开机总能得到同样的IP地址。可是靠别人分配的,总是不便,他总有记性不好的时候。怎么办呢?一看,原来实验楼资源丰富,IP地址的分配量和使用量严重不匹配。于是妙招上心头——设置静态地址!

相关知识:

IP地址和子网掩码在我们的电脑中不可或缺。IP地址大家都知道是用来标识每一台上网的机器的,构成也简单,就是四组8位的二进制数据。那么子网掩码估计很多人就不知道了。其实子网掩码这个看似没有直接用途的东西,用途非常广泛。比如我们可以通过子网掩码和自己的IP地址判断本地局域网(子网)中有多少台电脑,而计算机也可以通过IP地址和子网掩码判断两台电脑是否是同一网络(局域网,或称子网)。 

那我们看看子网掩码是什么作用。我们先举两个例子。我们这里有两台电脑,他们的IP地址分别是192.168.1.8、192.168.1.57 。他们的子网掩码都是255.255.255.0 。凭经验我们知道他们肯定是同一子网的。可是电脑怎么知道呢?

首先,将他们的IP地址从十进制转换为二进制。则对应的值分别是

11000000.10101000.00000001.00001000(192.168.1.8)

11000000.10101000.00000001.00111001 (192.168.1.57)

11111111.11111111.11111111.00000000(255.255.255.0)

我们将两个IP地址分别与子网掩码进行按位与运算,可以发现,运算结果都是:

11000000.10101000.00000001.00000000(192.168.1.0)

运算结果显示,他们所在的子网的第一个IP地址都是192.168.1.0,也就是说他们都是位于同一子网的。

不过这里有个局限,因为192开头的地址属于C类地址,只能在局域网内部使用,见不得世面。不能拿到外面去。不过这个方法对应其他地址(公网的地址)是适用的,只不过这里举的例子便于计算而已。

如何判定所在的子网最多有多少台电脑及其地址规律(IP地址数量)

这个很简单,只需要把子网掩码转换成二进制一看就懂了,比如子网掩码是255.255.255.192,转换成二进制就是11111111.11111111.11111111.11000000 。根据刚才判定子网的方法,我们知道,是否同一子网关键就是按位与运算后的结果是否一致。因为同一子网的电脑子网掩码肯定一样,根据运算规则,子网掩码为1的位在与运算中不变,为0的位运算结过肯定为0 。也就是说,如果两台电脑要处于同一子网的话,子网掩码对应为1的部分必须一样,为0的地方随便变化,运算结果才能一致。反过来说,同一子网的电脑IP地址,只能在子网掩码为0的位才能够变化。那么计算所在子网的IP数量的方法就是计算变化的情况有多少种了。

比如本例中的掩码255.255.255.192 ,能变化的只有二进制的最后6位,6位二进制可以存储的数据就是2的六次方,也就是64个数。所以该子网内IP地址就只有64个。

通常情况下,第1个和最后一个保留作为网络管理服务器(DHCP、广播等)用。作为一般DHCP的IP分配规则,往往根据指定的范围从小到大依次分配。所以,在自己是公网的情况下,只需要计算出本子网的地址范围,然后挑后面比较大的地址设置为自己的IP地址(设置网络地址获取为自定义,而不是DHCP),这样就拥有一个固定的公网IP啦!