微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 子网掩码的作用_子网掩码计算_子网掩码和ip地址的关系

子网掩码的作用_子网掩码计算_子网掩码和ip地址的关系

时间:07-16 来源:电子发烧友网整理 点击:

  子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

  子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

  子网掩码的作用和设置方法?

  IP地址是以网络号和主机号来标示网络上的主机的,只有在一个网络号下的计算机之间才能"直接"互通,不同网络号的计算机要通过网关(Gateway)才能互通。但这样的划分在某些情况下显得并十分不灵活。为此IP网络还允许划分成更小的网络,称为子网(Subnet),这样就产生了子网掩码。子网掩码的作用就是用来判断任意两个IP地址是否属于同一子网络,这时只有在同一子网的计算机才能"直接"互通。那么怎样确定子网掩码呢?

  P地址分网络号和主机号,要将一个网络划分为多个子网,因此网络号将要占用原来的主机位,如对于一个C类地址,它用21位来标识网络号,要将其划分为2个子网则需要占用1位原来的主机标识位。此时网络号位变为22位为主机标示变为7位。同理借用2个主机位则可以将一个C类网络划分为4个子网……那计算机是怎样才知道这一网络是否划分了子网呢?这就可以从子网掩码中看出。子网掩码和IP地址一样有32bit,确定子网掩码的方法是其与IP地址中标识网络号的所有对应位都用"1",而与主机号对应的位都是"0"。如分为2个子网的C类IP地址用22位来标识网络号,则其子网掩码为:11111111 11111111 11111111 10000000即255.255.255.128。于是我们可以知道,A类地址的缺省子网掩码为255.0.0.0,B类为255.255.0.0,C类为255.255.255.0。下表是C类地址子网划分及相关子网掩码:

  子网位数 子网掩码 主机数 可用主机数

  1 255.255.255.128 128 126

  2 255.255.255.192 64 62

  3 255.255.255.224 32 30

  4 255.255.255.240 16 14

  5 255.255.255.248 8 6

  6 255.255.255.252 4 2

  这是一种划分和区分网络和主机的方法,一般是自动设置的,但是还可以使用可变长掩码(VLSM)就是指一个网络可以用不同的掩码进行配置。这样做的目的是为了使把一个网络划分成多个子网更加方便。

  子网掩码计算方法

  业务的发展常常会导致许多单位面临这样一个问题:工作站数量越来越多,管理单一的大型网络也变得越来越艰难。如果将一个单一的大型网络划分为多个子网,通过对每个子网进行单独管理,可以明显地提高整个网络的性能。

  要划分子网就需要计算子网掩码和分配相应的主机块,尽管采用二进制计算可以得出相应的结论,但如果采用十进制计算方法,计算起来更为简便。经过长期实践与经验积累,笔者总结出子网掩码及主机块的十进制算法。

  

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

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

  22.接着,统计得到的二进制数的位数,设为N;

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

  4例如:需将B类IP地址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个子网的B类IP地址 167.194.0.0的子网掩码。

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

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

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

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

  4例如:需将B类IP地址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,可得:1111111

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top