博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

學習筆記一:子网掩码的计算方法

Posted on 2006-05-08 17:28  自適應軟件......  阅读(2076)  评论(0编辑  收藏  举报

子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据.最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯.
运算演示之一:

IP 地址  192.168.0.1
子网掩码 255.255.255.0
 
转化为二进制进行运算:

IP 地址 11010000.10101000.00000000.00000001
子网掩码 11111111.11111111.11111111.00000000

AND运算

     11000000.10101000.00000000.00000000

转化为十进制后为:

     192.168.0.0

运算演示之二:

IP 地址  192.168.0.254
子网掩码 255.255.255.0
 
转化为二进制进行运算:

IP 地址 11010000.10101000.00000000.11111110
子网掩码 11111111.11111111.11111111.00000000

AND运算

     11000000.10101000.00000000.00000000

转化为十进制后为:

     192.168.0.0

运算演示之三:

IP 地址  192.168.0.4    子网掩码 255.255.255.0

转化为二进制进行运算:

IP 地址 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 、IP 地址 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



一.利用子網數來計算

  步驟:
        1.將子網轉換成二進製表示
        2.取得該二進製位數 N
        3. 將255.255.0.0地址的主机地址部分的前N位置1,得到255.255.262.0 ,即为划分成 N个子网的IP地址的子网掩码。


  例子: B类IP地址168.195.0.0 分為50個子網
           50 = 110010
            N = 6
            將255.255.0.0地址的主机地址部分的前6位置1,得到255.255.262.0 ,即为划分成 50个子网的B类IP地址 168.195.0.0的子网掩码。

二.利用主機數來計算

  步驟:
        1.將主機數目轉化為二進製來表示
        2.如果主機數小於或等於254  (注意去掉保留的兩個IP) ,则取得该主机的二进制位数,为 N,这里肯定 N<8。如果大于254,则 N>8,这就是 说主机地址将占据不止8位。
        3.使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。

    例子: B类IP地址168.195.0.0 分為若干個子網,每个子网内有主机700台
               700=1010111100
               该二进制为十位数,N = 10(1001)
               将该B类地址的子网掩码255.255.0.0的主机地址全部置 1,得到255.255.255.255,然后再从后向前将后10位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。