川味干煸四季豆的做法:子网掩码快速计算方法

来源:百度文库 编辑:中财网 时间:2024/04/28 04:45:20

子网掩码快速计算方法

2009-04-25 20:18

     在平常计算子网掩码的时候比较麻烦,因为要牵扯到二进制的变换,对于如何计算子网掩码和从子网掩码快速的看出相关信息。我个人得出一个小经验。

  比如一个C网要分成两个网段,那么256/2=128.每个子网128个地址。用256减去每个子网的地址数,256-128=128,子网掩码就是255.255.255.128;

  分成4个网段,256/4=64每个子网64个地址。用256减去每个子网的地址数,256-64=192,子网掩码就是255.255.255.192;

  分成8个网段,256/8=32每个子网32个地址。用256减去每个子网的地址数,256-32=224,子网掩码就是255.255.255.224.

  所以我们要求的那位数就是256减去每个子网的地址数。

  当然,我们也可以从子网地址中看出,使用此掩码每个子网中的地址数目,划分了多少个子网。

在进行IP规划时,总是头疼子网和掩码的计算,其主要原因是对十进制和二进制的转换不熟练。现在给一窍门,可以解决这个问题。首先,我们看一个例子:

一个主机的IP地址是202.112.14.37,掩码是255.255.255.240,要求计算这个主机所在网络的网络地址和广播地址。

常规办法是把这两个都换算成二进制,然后相与,就可得到网络地址。其实大家只要仔细想想,可以得到一个方法:掩码为255.255.255.240那么可以知道这个掩码所容纳的IP地址有256-240=16个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是16的倍数。而网络地址是子网IP地址的开始,广播地址是结束,可使用的IP地址在这个范围内,因此比37刚刚小的,又是16的倍数的数只有32,所以得出网络地址为202.112.14.32。而广播地址就是下一个网络的网络地址减一。而下一个16的倍数是48,因此可以得到广播地址为202.112.14.47。

那么,如果给定一IP地址范围,根据每个网络的主机数量,要进行IP地址规划,可以按照同样原则进行计算。比如一个子网有10台主机,那么对于这个子网就需要10+1+1+1=13个IP地址。(注意加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。)13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。如果一个子网有14台主机,不少同学常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=17,大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。

 

最近在重看一些网络知识,看到了子网掩码部分,子网掩码在实际使用和考试中都是要遇到的,但是子网掩码的计算牵扯到二进制的转换,比较麻烦。这次在网络和论坛上看到了子网掩码的简易计算方法,就整理一下。子网掩码和VLSM(可变长掩码)的计算方法参见:子网掩码入门之简述

 

C类网为例。

 

如果要划分出2个子网段,用256/2=128,得出每个子网中有128IP地址,用256减去每个子网的地址数(256-128=128),子网掩码就是255.255.255.128

 

划分成4个网段,256/4=64,每个子网64个地址,256-64=192,子网掩码就是255.255.255.192

 

划分成8个网段,256/8=32,每个子网32个地址,256-32=224,子网掩码就是255.255.255.224

 

即,子网掩码的最后一位数 就是用256减去每个子网的地址数而得出。

 

========================

实际应用中,如共有13台主机,在设置子网掩码时用255.255.255.0就浪费了,我们来设定VLSM

 

13<24次方(16),即用16为计算基数,256-16=240(注意:不是用256-13),得子网掩码255.255.255.240

 

256去减的那个子网的地址数,一定是2N次方(N010)。

 

如果主机数是13,加上两头的不可用的网络和广播IP地址数,一共是15,选取比15大,且最接近15的一个2N次方值,即16

 

如果主机是50,则52<26次方(64),256-64=192,子网掩码255.255.255.192

 

IP地址(IP Address)的概念及其子网掩码(Subnet Mask)的计算对于首次学习网络知识的初学者来说是一件比较困难的事情。下文所述的是我个人的一些心得,望大家指正。

  按照目前使用的IPv4的规定,对IP地址强行定义了一些保留地址,即:网络地址广播地址。所谓网络地址就是指主机号全为“0”IP地址,如:125.0.0.0(A类地址);广播地址就是指主机号全为“255”时的IP地址,如:125.255.255.255(A类地址)

  而子网掩码,则是用来标识两个IP地址是否同属于一个子网。它也是一组32位长的二进制数值,其每一位上的数值代表不同含义:为“1”则代表该位是网络位;若为“0”则代表该位是主机位。和IP地址一样,人们同样使用点式十进制来表示子网掩码,如:255.255.0.0

  如果两个IP地址分别与同一个子网掩码进行按位计算后得到相同的结果,即表明这两个IP地址处于同一个子网中。也就是说,使用这两个IP地址的两台计算机就像同一单位中的不同部门,虽然它们的作用、功能、乃至地理位置都可能不尽相同,但是它们都处于同一个网络中。

  子网掩码计算方法

  自从各种类型的网络投入各种应用以来,网络就以不可思议的速度进行大规模的扩张,目前正在使用的IPv4也逐渐暴露出了它的弊端,即:网络号占位太多,而主机号位太少。目前最常用的一种解决办法是对一个较高类别的IP地址进行细划,划分成多个子网,然后再将不同的子网提供给不同规模大小的用户群使用。使用这种方法时,为了能有效地提高IP地址的利用率,主要是通过对IP地址中的主机号的高位部分取出作为子网号,从通常的网络号界限中扩展或压缩子网掩码,用来创建一定数目的某类IP地址的子网。当然,创建的子网数越多,在每个子网上的可用主机地址的数目也就会相应减少。

  要计算某一个IP地址的子网掩码,可以分以下两种情况来分别考虑。

  第一种情况:

  无须划分成子网的IP地址。

  一般来说,此时计算该IP地址的子网掩码非常地简单,可按照其定义就可写出。例如:某个IP地址为12.26.43.0,无须再分割子网,按照定义我们可以知道它是一个A类地址,其子网掩码应该是255.0.0.0;若此IP地址是一个B类地址,则其子网掩码应该为255.255.0.0;如果它是C类地址,则其子网掩码为255.255.255.0。其它类推。

  第二种情况:

  要划分成子网的IP地址。

  在这种情况下,如何方便快捷地对于一个IP地址进行划分,准确地计算每个子网的掩码,方法的选择很重要。下面我介绍两种比较便捷的方法:

  当然,在求子网掩码之前必须先清楚要划分的子网数目,以及每个子网内的所需主机数目。

  方法一:利用子网数来计算。

  1.首先,将子网数目从十进制数转化为二进制数;

  2.接着,统计由“1”得到的二进制数的位数,设为N;

  3.最后,先求出此IP地址对应的地址类别的子网掩码。再将求出的子网掩码的主机地址部分(也就是主机号”)的前N位全部置1,这样即可得出该IP地址划分子网的子网掩码。

  例如:需将BIP地址167.194.0.0划分成28个子网:

  1)(28)10=(11100)2;

  2)此二进制的位数是5,则N=5;

  3)IP地址为B类地址,而B类地址的子网掩码是255.255.0.0,且B类地址的主机地址是后2(0-255.1-254)。于是将子网掩码255.255.0.0中的主机地址前5位全部置1,就可得到255.255.248.0,而这组数值就是划分成 28个子网的BIP地址 167.194.0.0的子网掩码。

  方法二:利用主机数来计算。

  1.首先,将主机数目从十进制数转化为二进制数;

  2.接着,如果主机数小于或等于254(注意:应去掉保留的两个IP地址),则统计由“1”中得到的二进制数的位数,设为N;如果主机数大于254,则 N>8,也就是说主机地址将超过8;

  3.最后,使用255.255.255.255将此类IP地址的主机地址位数全部置为1,然后按照从后向前的顺序将N位全部置为0,所得到的数值即为所求的子网掩码值。

  例如:需将BIP地址167.194.0.0划分成若干个子网,每个子网内有主机500台:

  1)(500)10=(111110100)2;

  2)此二进制的位数是9,则N=9;

  3)将该B类地址的子网掩码255. 255.0.0的主机地址全部置 1,得到255.255.255.255。然后再从后向前将后9位置0,可得:11111111. 11111111.11111110.00000000255.255.254.0。这组数值就是划分成主机为500台的BIP地址167.194.0.0的子网掩码。