IP地址分类

  A类:1 – 126 (127是为回路和诊断测试保留的)

  B类:128 – 191

  C类:192 – 223

  D类:224 – 239 (保留,主要用于IP广播)

  E类:240 – 254 (保留,实验用)

  私有地址

  A类:10.0.0.0 到 10.255.255.255

  B类:172.16.0.0到172.31.255.255

  C类:192.168.0.0到192.168.255.255

2010-01-13-17-32-32.jpg

  上面的图表表示的是一个IPv4 IP地址的一个8字节的8位的值。如果所有位为1,那就是255。

  一个8字节数表示256时是通过在最后隐含一个0实现的。你可以将一个网络地址设置为192.168.17.0。128 – 0的模数为256。为了获得该子网掩码,我们可以使用以下两种方法之一:增加正数位或用256减去最低有效正数位。

一个8字节的比特值

2010-01-13-17-32-56.jpg

  这个表用处是当你想知道/27的子网掩码,你可以对前3个8字节求和得到24,然后25是第一位(128)。依次数到27就是第3个最高有效位(32)。这样就可以看到子网掩码列是.224。

 

我的一个老师Jeremy,他曾经给我讲过一个制砖公司老板的故事。那个老板有许多许多砖块,并且有很多人来买。当生意做大后,他必须找一种方法将砖块堆成一叠,这样才能快速又简单地拿到他们想要的砖块数目。所以,他将砖块按以下数量放到运货板上:128,64,32,16,8,4,2和1。这样,就很容易拿到客户所需要数量的砖块。例如,如果一个客户想要188个砖块,所以你要给他一组128的,然后仍然还少60块。你要确保不要再给他64块的一组,否则你会损失一部分,所以要给他32块一组的。现在仍然差28块,所以要再给他16块一组的。最后还差12块,所以给他一组8块和一组4块就够了。这是188的二进制数:

2010-01-13-17-41-21.jpg

  Jeremy也在需要“x”台主机和“x”个网段时使用这个方法来计算子网掩码。

  然后我的另一个老师是使用2ⁿ-2表来做的。在Cisco考试中使用这个方法会有些复杂。

  我是这样确定网段/主机数的。我们知道需要先减去2,因为我们需要用1个地址作网络地址,1个地址作为广播地址(子网掩码)。所以,当是一个比特值时(如,128,64,32等),要先减去2,然后剩下的就是主机数了。

  假如,我们需要为57个主机确定子网掩码。很简单。首先我们查看上面的图表,知道57在32和64之间。我们要记住30和62,因为我们确定的主机数需要减去2。我们将使用第2个——64,所以对应右边的子网掩码是.192。

  如果想要知道192.168.30.7/28中的有效主机数,我们需要计算图表来查看第28个位值。它是16。然后我们查看最后一个8字节(因为28位于最后一个8字节范围),然后将它除以16。在这里我们不需要这样做,因为我们知道它小于16,但如果是.189而不是.7,除以16会结果会大于11。然后将16乘11次就会得到子网的第1个地址——176。176加上16就得到下一个子网的第一个地址(192).这表示.189位于子网176 – 188内。我们知道第一个数是网络地址(192.168.30.176),最后一个数是广播地址(255.255.255.188——记住我们拆分了256网段,所以不能使用全部256的子网,而只是其中一部分)。这表示主机必须在177 – 187(加上前后的176和188)范围之内。

  回到我们的问题,那么192.168.30.7/28范围内有效的主机数应该是:

192.168.30.1

192.168.30.2

192.168.30.3

192.168.30.4

192.168.30.5

192.168.30.6

192.168.30.7

192.168.30.8

192.168.30.9

192.168.30.10

192.168.30.11

192.168.30.12

192.168.30.13

192.168.30.14

  如果计算一下,我们会发现其中有14个地址。记住2ⁿ-2公式——比特值减去2(1个是网络地址,1个是广播地址或子网掩码)等于我们使用的主机数。

  如果你想知道我们可以从第3个8字节得到多少个这样的16位网络,可以将256除以16。结果是16。不要认为能得到的网络数就是这个位值——它仅适用于计算/28。对于/26,我们可以得到4个网段(0-63;64-127;128-191和192-255,并且我没有使用256,因为我是从0开始计算的——(256)的模数是从0到255)。

  还有另一个方法可以计算一个8字节所表示的16位网络个数。对于位值128、64、32、16、8、4、2和1,将从2到128的每一个位值乘以2。然后得到4对应64、8对应32、16对应16、32对应8、64对应4,以及128对应2。这比256除以26更容易得到16位网络个数。

  如果要计算172.16.64.0/18的子网掩码,查看上面的图表,在开始计算第一个位(128)时,将它定为第3个8字节,而不是第4个,这样/18就是第2位(64),子网掩码是.192。

  同时,计算主机数也很简单。你已经注意到各个位值是依次减半并递减排列的,所以只需要将它们乘以2并升序排列。从最后一个8字节(128)计算最高有效位,然后将它乘以2,得出第3个8字节的最低有效位,然后继续乘以2。

2010-01-13-17-42-46.jpg

  因此,一个/18网段可以有16382个主机(16384-2)。


知道位数,求子网掩网

位数  掩码地址
32  255.255.255.255
31  255.255.255.254
30  255.255.255.252
29  255.255.255.248
28  255.255.255.240
27  255.255.255.224
26  255.255.255.192
25  255.255.255.128

24  255.255.255.0 (
平时最常见的这个掩码)
23  255.255.254.0
22  255.255.252.0
20  255.255.240.0
19  255.255.224.0
18  255.255.192.0
17  255.255.128.0
16  255.255.0.0.

15  255.255.254.0
14  255.255.252.0
13  255.255.248.0
... ......
... ......
1 128.0.0.0