【软考】快速计算子网掩码和主机块
业务的发展常常会导致许多单位面临这样一个问题:工作站数量越来越多,管理单一的大型网络也变得越来越艰难。如果将一个单一的大型网络划分为多个子网,通过对每个子网进行单独管理,可以明显地提高整个网络的性能。
要划分子网就需要计算子网掩码和分配相应的主机块,尽管采用二进制计算可以得出相应的结论,但如果采用十进制计算方法,计算起来更为简便。经过长期实践与经验积累,笔者总结出子网掩码及主机块的十进制算法。
> 一、明确概念
在介绍十进制算法前我们先要明确一些概念。
类范围:ip地址常采用点分十进制表示方法x.y.y.y,在这里,x在1~126范围内称为a类地址;x在128~191范围内称为b类地址;x在192~223范围内称为c类地址。比如10.202.52.130,因为x为10,在1~126范围内,所以称为a类地址。
类默认子网掩码:a类为 255.0.0.0; b类为 255.255.0.0; c类为 255.255.255.0。当我们要划分子网用到子网掩码m时,类子网掩码的格式如下:a类为 255.m.0.0,b类为 255.255.m.0,c类为 255.255.255.m。m是相应的子网掩码,比如255.255.255.240。
十进制计算基数是256(下面,我们所有的十进制计算都要用256来进行)。
二、变量说明
1.subnet_block指可分配子网块大小,表示在某一子网掩码下子网的块数。
2.subnet_num是可分配子网数,指可分配子网块中要剔除首、尾两块,是某一子网掩码下可分配的实际子网数量。subnet_num =subnet_block-2。
3.ip_block指每个子网可分配的ip地址块大小。
4.ip_num指每个子网实际可分配的ip地址数。因为每个子网的首、尾ip地址必须保留(一个为网络地址,一个为广播地址),所以它等于ip_block-2,ip_num也用于计算主机块。
5.m指子网掩码。
表示上述变量关系的公式如下:
m=256-ip_block ip_block=256/subnet_block或subnet_block=256/ip_block ip_num=ip_block-2 subnet_num=subnet_block-2。
6.2的幂数。大家要熟练掌握28(256)以内的2的幂代表的十进制数(如128=27、64=26等),这样可以使我们立即推算出subnet_block和ip_block的数目。