博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2612|回复: 6

如何划分子网并快速计算子网掩码

[复制链接]
发表于 2010-1-19 20:05:31 | 显示全部楼层 |阅读模式
不管你是需要了解子网划分技巧还是准备CCNA考试,本文都能告诉你如何计算一个子网掩码、IP地址分类和理解二进制。如果你不知道在需要“x”个主机和“x”个网络时如何确定子网掩码,本教程是最佳解答。

  当你准备参加一个Cisco考试时,在考试开始前写下以下的信息(公共和私有分类范围及图表),会节省你很多的时间和麻烦。

  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


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



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

一个8字节的比特值




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

如何划分子网并快速计算子网掩码?无论你是想要了解子网划分技巧,还是要准备CCNA考试,相信本文都能对您有所帮助。

如何划分子网并快速计算子网掩码(上)中,我们详细介绍了IP地址分类的分类,以及一个8字节的比特值等内容,本文我们将着重介绍如何快速计算子网掩码。

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


  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范围内有效的主机数应该是:




  如果计算一下,我们会发现其中有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。


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



  这是我进行子网划分的最简单方法。
发表于 2010-1-19 20:33:21 | 显示全部楼层
学习 学习!
发表于 2010-1-25 13:38:23 | 显示全部楼层
不错学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-11-24 01:53 , Processed in 0.087023 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表