子网掩码的作用,子网掩码和ip地址的关系

 子网掩码(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,可得:11111111. 11111111.11111110.00000000即255.255.254.0。这组数值就是划分成主机为500台的B类IP地址167.194.0.0的子网掩码。

 子网掩码与IP地址的关系是什么?

 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。

 最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。

 请看以下示例:

 运算演示之一:aa I P 地址 192.168.0.1 子网掩码 255.255.255.0 AND运算

 转化为二进制进行运算: I P 地址 11010000.10101000.00000000.00000001 子网掩码 11111111.11111111.11111111.00000000 AND运算

 11010000.10101000.00000000.00000000 转化为十进制后为: 192.168.0.0

 运算演示之二: I P 地址 192.168.0.254 子网掩码 255.255.255.0 AND运算

 转化为二进制进行运算: I P 地址 11010000.10101000.00000000.11111110 子网掩码 11111111.11111111.11111111.00000000 AND运算

 11000000.10101000.00000000.00000000 转化为十进制后为: 192.168.0.0 运算演示之三: I P 地址 192.168.0.4 子网掩码 255.255.255.0 AND运算

 转化为二进制进行运算: I P 地址 11010000.10101000.00000000.00000100 子网掩码 11111111.11111111.11111111.00000000 AND运算

 11000000.10101000.00000000.00000000 转化为十进制后为: 192.168.0.0

 通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0

 所以计算机就会把这三台计算机视为是同一子网络,然后进行通讯的。我现在单位使用的代理服务器,内部网络就是这样规划的。

 也许你又要问,这样的子网掩码究竟有多少了IP地址可以用呢?你可以这样算。 根据上面我们可以看出,局域网内部的ip地址是我们自己规定的(当然和其他的ip地址是一样的),这个是由子网掩码决定的通过对255.255.255.0的分析。可得出: 前三位IP码由分配下来的数字就只能固定为192.168.0 所以就只剩下了最后的一位了,那么显而易见了,ip地址只能有(2的8次方-1),即256-1=255一般末位为0或者是255的都有其特殊的作用。

 那么你可能要问了:如果我的子网掩码不是255.255.255.0呢?你也可以这样做啊假设你的子网掩码是255.255.128.0

 那么你的局域网内的ip地址的前两位肯定是固定的了(什么,为什么是固定的?你看上边不就明白了吗?·#¥)

 这样,你就可以按照下边的计算来看看同一个子网内到底能有多少台机器

 1、十进制128 = 二进制1000 0000

 2、IP码要和子网掩码进行AND运算

 3、 I P 地址 00010000.01001001.1*******.******** 子网掩码 11111111.11111111.10000000.00000000 AND运算

 00010000.01001001.10000000.00000000 转化为十进制后为:

 16 。 73 。 128 。 0

 4、可知我们内部网可用的IP地址为:

 00010000.01001001.10000000.00000000 到 00010000.01001001.11111111.11111111

 5、转化为十进制:

 16.73.128.0 到 16.73.255.255

 6、0和255通常作为网络的内部特殊用途。通常不使用。

 7、于是最后的结果如下:我们单位所有可用的IP地址为: 192.168.128.1-192.168.128.254 192.168.129.1-192.168.129.254 192.168.130.1-192.168.130.254 192.168.131.1-192.168.131.254 。 。 。 。 。 。 。 。 。 。 。 。 。 192.168.139.1-192.168.139.254 192.168.140.1-192.168.140.254 192.168.141.1-192.168.141.254 192.168.142.1-192.168.142.254 192.168.143.1-192.168.143.254 。 。 。 。 。 。 。 。 。 。 。 。 。 192.168.254.1-192.168.254.254 192.168.255.1-192.168.255.254

 8、总数为(255-128+1)*(254-1+1) =128 * 254 = 32512

 FAINT!!!!@#!@把我们公司都买了还买不了这么多的机器呢!·¥!·#

 9、看看的结果是否正确

 (1)、设定IP地址为192.168.128.1

 Ping 192.168.129.233通过测试

 访问http://192.168.129.233可以显示出主页

 (2)、设定IP地址为192.168.255.254

 Ping 192.168.129.233通过测试

 访问http://192.168.129.233可以显示出主页

 10、结论

 以上证明我们的结论是对的。

 现在你就可以看你的子网中能有多少台机器了

 255.255.255.128 分解: 11111111.11111111.11111111.1000000 所以你的内部网络的ip地址只能是 xxxxxxxx.xxxxxxxx.xxxxxxxx.0??????? 到 xxxxxxxx.xxxxxxxx.xxxxxxxx.01111111

 怎么样,这下你知道多少了吧?

相关推荐

相关文章