Board logo

标题: [技术文章] 快速计算子网掩码和主机块 [打印本页]

作者: hyadmin    时间: 2006-8-29 22:48     标题: 快速计算子网掩码和主机块

业务的发展常常会导致许多单位面临这样一个问题:工作站数量越来越多,管理单一的大型网络也变得越来越艰难。如果将一个单一的大型网络划分为多个子网,通过对每个子网进行单独管理,可以明显地提高整个网络的性能。
            
          要划分子网就需要计算子网掩码和分配相应的主机块,尽管采用二进制计算可以得出相应的结论,但如果采用十进制计算方法,计算起来更为简便。经过长期实践与经验积累,笔者总结出子网掩码及主机块的十进制算法。
            
一、明确概念  

            在介绍十进制算法前我们先要明确一些概念。

            类范围: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的数目。
            
三、举例说明  

          现在,通过举一些实际例子,大家可以对子网掩码和主机块的十进制算法有深刻的了解。

       1.已知所需子网数12,求实际子网数。  
             这里实际子网数指subnet_num,由于12最接近2的幂为16(24),即subnet_block=16,那么subnet_num=16-2=14,故实际子网数为14。
            
       2.已知一个b类子网的每个子网主机数要达到60×255个(约相当于x.y.0.1~x.y.59.254的数量),求子网掩码。  
             首先,60接近2的幂为64(26),即ip_block=64;
             其次,子网掩码m=256-ip_block=256-64=192,最后由子网掩码格式b类是255.255.m.0得出子网掩码为255.255.192.0。
            
      3.如果所需子网数为7,求子网掩码。  
            7最接近2的幂为8,但8个subnet_block因为要保留首、尾2个子网块,即 8-2=6<7,并不能达到所需子网数,所以应取2的幂为16,即subnet_block=16。因为ip_block=256/subnet_block=256/16=16,所以子网掩码m=256-ip_block=256-16=240。
            
     4.已知网络地址为211.134.12.0,要有4个子网,求子网掩码及主机块。由于211.y.y.y是一个c类网,子网掩码格式为255.255.255.m,又知有4个子网,4接近2的幂是8(23),所以subnet_block=8,subnet_num=8-2=6,ip_block=256/subnet_block=256/8=32,子网掩码m=256-ip_block=256-32=224,故子网掩码表示为255.255.255.224。又因为子网块的首、尾两块不能使用,所以可分配6个子网,每个子网有32个可分配主机块,即32~63、64~95、96~127、128~159、160~191、192~223,其中首块(0~31)和尾块(224~255)不能使用。
            
          由于每个子网块中的可分配主机块又有首、尾两个不能使用(一个是子网网络地址,一个是子网广播地址),所以主机块分别为33~62、65~94、97~126、129~158、161~190及193~222,因此子网掩码为255.255.255.224,主机块共有6段 ,分别为211.134.12.33~211.134.12.62、211.134.12.65~211.134.12.94、211.134.12.97~211.134.12.126、211.134.12.129~211.134.12.158、211.134.12.161~211.134.12.190及211.134.12.193~211.134.12.222。用户可以任选其中的4段作为4个子网。
            
              总之,只要理解了公式中的逻辑关系,就能很快计算出子网掩码,并得出可分配的主机块。




欢迎光临 逐梦论坛 (http://temp2023.zhumeng.org/) Powered by Discuz! 7.2