子网位数
子网掩码(二进制)
子网掩码(十进制)
每个子网主机数
1~2
1
11111111.11111111.11111111.10000000
255.255.255.128
128
3~4
2
11111111.11111111.11111111.11000000
255.255.255.192
64
5~8
3
11111111.11111111.11111111.11100000
255.255.255.224
32
9~16
4
11111111.11111111.11111111.11110000
255.255.255.240
16
17~32
5
11111111.11111111.11111111.11111000
255.255.255.248
8
33~64
6
11111111.11111111.11111111.11111100
255.255.255.252
4
如上表所示的C类网络中,若子网占用7位主机位时,主机位只剩一位,无论设为0还是1,都意味着主机位是全1或全1。由于主机位全0表示本网络,全1留作广播地址,这时子网实际没有可用主机地址,所以主机位至少应保留2位。
从上表可总结出子网划分的步骤或者说子网掩码的计算步骤:
2.1确定要划分的子网数目以及每个子网的主机数目。
2.2求出子网数目对应二进制数的位数N及主机数目对应二进制数的位数M。
2.3对该IP地址的原子网掩码,将其主机地址部分的前N位置 1或后M位置0 即得出该IP地址划分子网后的子网掩码。
例如,对B类网络135.41.0.0/16需要划分为20个能容纳200台主机的网络。因为16<20<32,即24<20<25,所以,子网位只须占用5位主机位就可划分成32个子网,可以满足划分成20个子网的要求。B类网络的默认子网掩码是255.255.0.0,转换为二进制为11111111.11111111.00000000.00000000。现在子网又占用了5位主机位,根据子网掩码的定义,划分子网后的子网掩码应该为11111111.11111111.11111000.00000000,转换为十进制应该为255.255.248.0。现在我们再来看一看每个子网的主机数。子网中可用主机位还有11位,211=2048,去掉主机位全0和全1的情况,还有2046个主机ID可以分配,而子网能容纳200台主机就能满足需求,按照上述方式划分子网,每个子网能容纳的子网数目远大于需求的主机数目,造成了IP地址资源的浪费。为了更有效地利用资源,我们也可以根据子网所需主机数来划分子网。还以上例来说,128<200<256,即27<200<28,也就是说,在B类网络的16位主机位中,保留8位主机位,其它的16-8=8位当成子网位,可以将B类网络138. 96.0.0划分成256(28)个能容纳256-1-1-1=253台(去掉全0全1情况和留给路由器的地址)主机的子网。此时的子网掩码为11111111.11111111.11111111.00000000,转换为十进制为255.255.255.0。
在上例中,我们分别根据子网数和主机数划分了子网,得到了两种不同的结果,都能满足要求,实际上,子网占用5~8位主机位时所得到的子网都能满足上述要求,那么,在实际工作中,应按照什么原则来决定占用几位主机位呢?
在划分子网时,不仅要考虑目前需要,还应了解将来需要多少子网和主机。对子网掩码使用比需要更多的主机位,可以得到更多的子网,节约了IP地址资源,若将来需要更多子网时,不用再重新分配IP地址,但每个子网的主机数量有限;反之,子网掩码使用较少的主机位,每个子网的主机数量允许有更大的增长,但可用子网数量有限。一般来说,一个网络中的节点数太多,网络会因为广播通信而饱和,所以,网络中的主机数量的增长是有限的,也就是说,在条件允许的情况下,会将更多的主机位用于子网位。
综上所述,子网掩码的设置关系到子网的划分。子网掩码设置的不同,所得到的子网不同,每个子网能容纳的主机数目不同。若设置错误,可能导致数据传输错误。
[参考文献]
[1]Vito Amato.思科网络技术学院教程(上册)[M].北京:人民邮电出版社,2000.
[2]方程.操作系统——Windows2000[M].北京:高等教育出版社,2003.