快速计算子网掩码和主机数

一、明确概念

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

A类地址:IP地址常采用点分十进制表示方法X.Y.Y.Y,在这里,X1126范围内称为A,比如10.202.52.130,因为X10,在1126范围内,所以称为A类地址。

B类地址:X128191范围内称为B类地址。

C类地址:X192223范围内称为C类地址。

各类地址默认子网掩码:

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.240M=240

十进制计算基数是256(下面,我们所有的十进制计算都要用256来进行)。

二、变量说明

1Subnet_block指可分配子网数大小,表示在某一子网掩码下子网的个数。

2Subnet_num是实际(有效)子网数,指可分配子网数中要剔除首、尾两块,是某一子网掩码下可分配的实际子网数量。

3IP_block指每个子网可分配的IP地址数。

4IP_num指每个子网分配的实际IP地址数。因为每个子网的首、尾IP地址必须保留(一个为网络地址,一个为广播地址),也用于计算主机数。

5M指子网掩码。

表示上述变量关系的公式如下:

M=256IP_block

IP_block=256/Subnet_block

Subnet_block=256/IP_block

IP_num=IP_block2

Subnet_num=Subnet_block2

62的幂数。大家要熟练掌握28256)以内的2的幂代表的十进制数(如1024=210512=29256=28128=2764=2632=2516=248=234=222=211=20等),这样可以使我们立即推算出Subnet_blockIP_block的数目。

三、举例说明

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

1、已知所需子网数12,求实际子网数。

这里实际子网数指Subnet_num,由于12最接近2的幂为1624),即Subnet_block=16,那么Subnet_num=162=14,故实际子网数为14

2、已知一个B类子网的每个子网主机数要达到60×255(约相当于X.Y.0.1X.Y.59.254的数量),求子网掩码。

首先,60接近2的幂为6426),即IP_block=64;其次,子网掩码M=256IP_block=25664=192,最后由于子网掩码格式B类是255.255.M.0得出子网掩码为255.255.192.0

3、如果所需子网数为7,求子网掩码。

7最接近2的幂为823),但8Subnet_block因为要保留首、尾2个子网数,即82=6<7,并不能达到所需子网数,所以应取2的幂为1624),即Subnet_block=16

由于IP_block=256/Subnet_block=256/16=16

所以子网掩码M=256IP_block=25616=240

4、已知网络地址为211.134.12.0,要有4个子网,求子网掩码及主机数。

由于211.Y.Y.Y是一个C类地址,子网掩码格式为255.255.255.M,又知有4个子网,4接近2的幂是823),所以Subnet_block=8Subnet_num=82=6IP_block=256/Subnet_block=256/8=32,子网掩码M=256IP_block=25632=224,故子网掩码表示为255.255.255.224

又因为子网数的首、尾两数不能使用,所以可分配6个子网,每个子网有32个可分配主机数,即3263649596127128159160191192223,其中首数(031)和尾数(224255)不能使用。

由于每个子网数中的可分配主机数又有首、尾两个不能使用(一个是子网网络地址,一个是子网广播地址),所以主机数分别为3362659497126129158161190193222,因此子网掩码为255.255.255.224,主机数共有6段,分别为:

211.134.12.33211.134.12.62

211.134.12.65~211.134.12.94

211.134.12.97211.134.12.126

211.134.12.129211.134.12.158

211.134.12.161211.134.12.190

211.134.12.193211.134.12.222。用户可以任选其中的4段作为4个子网。

总之,只要理解了公式中的逻辑关系,就能很快计算出子网掩码,并得出可分配的主机数。

例:给定一IP地址192.168.5.0,要求划分20个子网,每个子网5个主机。

解:因为4<5<82568248――〉即是所求的子网掩码,对应的子网数也就出来了。这是针对C类地址。

下面是针对B类地址的做法。对于B类地址,假如主机数小于或等于254,与C类地址算法相同。对于主机数大于254的,如需主机700台,50个子网(相当大了),512<700<1024256-(1024/256=2564252――〉即是所求的子网掩码,对应的子网数也就出来了。上面2564中的422次幂)是指主机数用2进制表示时超过8位的位数,即超过2位,掩码为剩余的前6位,即子网数为26262个。 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作者:网海拾客 ■ 已知子网掩码为255.255.255.192,求实际子网(去除全0和全1)和每个子主机。 如果将192换为二进制求出子位较繁,可按以下方法计算:256-192=64(2的6次方),所以192进制后面就应用6个0,即11000000,那么子网应有2^2=4个,去除全0和全1两,实际只有2个可用,所实际子网应该是2个;每个子网的主机就是2^6-2=62个。 ■ 已知所需子网12,求实际可分配的子网。 子网是12与之最近的2^x是16(2^4),所以去除全0和全1的两个,就是实际可分配子网为16-2=14个。 ■ 已知一个B子网的每个子网主机要达到60×255个(约相当于 X.Y.0.1~X.Y.59.254量),求子网掩码。 与60最近的2^x是64(2^6),故8位二进制后面应该有6个0。由于BIP,所以掩码格式是255.255.0.0,而现在被分割子网,故现在第三字节的应该是11000000(192),即256-64(2^6)=192,所以子掩码是255.255.192.0 ■ 如果所需子网为7,求子网掩码。 与7最近的2^x是8(2^3),而此时只能有6个子网可以分配,不能满足7个子网的需求,所只能取16(2^4),256-16=240,所以子网掩码为255.255.255.240 ■ 已知网络地址为211.134.12.0,要有4个子网,求子网掩码主机块。 211是个C地址,掩码为255.255.255.0,现要划分4个子网,与4(本身不能用,因为如果取4,实际只能分配2个子网,就不可能满足4个子网的需求)最近的8(2^3),256-32=224,所以子网掩码应为255.255.255.224,此时每个子网有32台主机,理论主机块为:0—31(*),32—63,64—95,96—127,128—159,160—191,192—223,224—255(*),而实际主机块中的全0全1不能使用,故实际主机块为(实际每个子网只有30台):33——62,65——94,97——126,129——156,161——190,193——222 ■ 已知子网中可使用15个主机块,求最大可分配的子网子网掩码。 与15最近的2^x是16(2^4),但16个主机块,实际只用14个可用,不能满足本题15个主机块的条件,故取32(2^5),所以子网为2^(8-5=3)是8个,实际可用子网为6,子网掩码为255.255.255.224(256-32)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值