二、初学者精通IP子网划分

子网划分

上一节讲了IP地址的范围、分类、主机位的可用IP的计算,这章也不是特别的重点,这章要学习的是子网的划分。

子网划分,在实际中网络应用的非常广泛,初学者一般学完会有一些疑问,都规定了ABC三类地址是内部地址,可容纳那么大的范围主机IP使用,直接使用其中的地址段就可以了,为什么还需要进行子网划分。

——————————————————————————————————————————————————————

子网划分的原因

这样理解,如某公司网络有300台主机,分配一个C类地址是不够的(254),分类一个B类地址(65534)又太浪费了,为了更好的利用资源,避免IP地址造成浪费。可以把IP地址进一步划分为更小的网络,即子网划分,为了创建子网,需要将掩码中的主机位划分到网络位来使用,这种做法通常叫借位或者租位。

——————————————————————————————————————

题外话:
其实这里可能会有人有疑问,我也在这里阐述下,私网地址和公网地址不同,私网地址只在企业、公司等内部使用,至于你想规划成什么样,都可以,哪怕10台电脑呢,配置A类地址都可以,它只是一个地址而已,能通信即可。子网划分的真正意义只会有两个点,第一个点在于在公网,只有全球的公网地址才是唯一的,为了节省公网IP,运营商机构分配地址时,都会考虑进行地址划分,以缩小范围,让IP地址最大化利用。第二个点:经过子网划分的私网地址,会存在逻辑上的优势,可以让网络的规划很具有层次感,管理员便于维护。

——————————————————————————————————————

经过划分子网后,IP地址的子网掩码则不是规定的标准掩码。A类地址/8,B类地址/16,C类地址/24。就不是之前规定说的形式了。

掩码分两种,标准的叫有类地址,非标准的叫无类地址。

有类地址就是前面说的/8,/16,/24,是规范标准好的地址掩码。

无类的就是经过子网划分后的掩码。


子网划分的原理

子网划分是通过把主机位借位给网络位,从而使主机位减少,网络位增大。也可以反过来说,把网络位借位给主机位,网主机位增大。子网划分的核心就是改变掩码的变化来实现的。

子网划分呢就像一块大饼,用刀子进行切割,一张饼可以分为几份,每份有多少,完全取决于你要切多少次。如下图:

在这里插入图片描述

看到这张图是不是就特别好理解了。我们在具体到IP地址上,看看如何划分?

如:192.168.1.0/24网段,这是一个C类地址的网段,可容纳的IP是0-255=256,可分配的主机IP:1-254

我们先说最原始的办法,来讲解如何划分。还会利用到之前的逻辑关系数字:128 64 32 16 8 4 2 1

先把这个地址转换成二进制展开,在结合逻辑关系数字来看

                                        网络位                                    主机位
                                                                          128  64 32 16 8  4  2  1 
192.168.1.0    =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 . |  0   0  0  0  0  0  0  0 
255.255.255.0  =  1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . |  0   0  0  0  0  0  0  0 

联想下,我们切一刀。分成2分,每份128个可用IP,子网划分同理,我们将主机位借1位至网络位。

                                        网络位                                    主机位
                                                                        128  |  64 32 16 8  4  2  1 
192.168.1.0    =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  0  0  0  0  0  0  0 
255.255.255.0  =  1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 .  0   |  0  0  0  0  0  0  0 

现在呢?网络位由24变成25位了,主机位8位变成7位了。那我们算算这个IP地址192.168.1.0/25位掩码的可用主机?

                                        网络位                                    主机位
                                                                        128  |  64 32 16 8  4  2  1 
192.168.1.0    =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  0  0  0  0  0  0  0 
255.255.255.0  =  1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 .  0   |  0  0  0  0  0  0  0 

开始计算:      =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  0  0  0  0  0  0  0     = 192.168.1.0
               =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  0  0  0  0  0  0  1     = 192.168.1.1
               =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  0  0  0  0  0  1  0     = 192.168.1.2
               =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  0  0  0  0  0  1  1     = 192.168.1.3
               =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  0  0  0  0  1  0  0     = 192.168.1.4
               .............................................
               =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  1  1  1  1  1  1  0     = 192.168.1.126
                                                                               64+32+16+8+4+2=126
               =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  1  1  1  1  1  1  1     = 192.168.1.127
                                                                               64+32+16+8+4+2+1=127                                                                                             

此刻借1位就到此为止。网络位还是192.168.1.,主机位借位1次(切开一次),主机位范围缩小了一半,此时,可用IP范围:192.168.1.0-192.168.1.127,主机可用IP:192.168.1.1-192.168.1.126,0代表网络IP,127代表广播IP。

一张大饼被切1次,分为两块小饼,上面只列出了一张饼的范围。下面在列出第二张饼的范围。注意下表在网络位的变动!!!

                                        网络位                                    主机位
                                                                        128  |  64 32 16 8  4  2  1 
192.168.1.0    =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  0  0  0  0  0  0  0 
255.255.255.0  =  1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 .  0   |  0  0  0  0  0  0  0 

开始计算:      =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  0   |  1  1  1  1  1  1  1     = 192.168.1.127
                                                                               64+32+16+8+4+2+1=127  
              ————————————————————————————————————————————————————————————————————————————————————————————————————————————
              进入下一块饼,注意借位的数字变动在网络位。
               =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  1   |  0  0  0  0  0  0  0     = 192.168.1.128
          128+1=  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  1   |  0  0  0  0  0  0  1     = 192.168.1.129
          128+2=  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  1   |  0  0  0  0  0  1  0     = 192.168.1.130
        128+2+1=  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  1   |  0  0  0  0  0  1  1     = 192.168.1.131
        ..............................................................
               =  1 1 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 . 0 0 0 0 0 0 0 1 .  1   |  1  1  1  1  1  1  1     = 192.168.1.255
         128+64+32+16+8+4+2+1                                                                                                                                              

所以第二段子网IP范围:192.168.1.128-192.168.1.255,主机可用IP:1.129-.1.254,网络IP:1.128,广播IP:1.255。
那么掩码应该怎么表示?192.168.1.0/24,借1位变成192.168.1.0/25,一个C类大段地址被分为两个小的子网。
那么展开来说就是第一段子网:192.168.1.0/255.255.255.128,第二段子网:192.168.1.128/255.255.255.128

这里的192.168.1.128是代表一个网段。

结论:当一个C类地址借位1次,可用的主机IP成倍减少。那么借2位,借3位都是一个逻辑。

在举例借4位,192.168.1.0/24+4,192.168.1.0/28,看看步骤

                                        网络位                                    主机位
                                             128 64 32 16  |  8  4  2  1 
192.168.1.0    =  11000000.10101000.00000001.  0  0  0  0  |  0  0  0  0 
255.255.255.0  =  1111111.11111111.11111111.   0  0  0  0  |  0  0  0  0 
              ————————————————————————————————————————————————————————————————————————————————————————————————————————————
开始计算第一段:
               =  11000000.10101000.00000001.  0  0  0  0  |  0  0  0  0     = 192.168.1.0
               =  11000000.10101000.00000001.  0  0  0  0  |  0  0  0  1     = 192.168.1.1  
               =  11000000.10101000.00000001.  0  0  0  0  |  0  0  1  0     = 192.168.1.2
               =  11000000.10101000.00000001.  0  0  0  0  |  0  0  1  1     = 192.168.1.3
               =  11000000.10101000.00000001.  0  0  0  0  |  0  1  0  0     = 192.168.1.4
               .........................................................
               =  11000000.10101000.00000001.  0  0  0  0  |  1  1  1  1     = 192.168.1.15                                                              
              ————————————————————————————————————————————————————————————————————————————————————————————————————————————
 开始计算第二段:
               =  11000000.10101000.00000001.  0  0  0  1  |  0  0  0  0     = 192.168.1.16
               =  11000000.10101000.00000001.  0  0  0  1  |  0  0  0  1     = 192.168.1.17
               =  11000000.10101000.00000001.  0  0  0  1  |  0  0  1  0     = 192.168.1.18
               ........................................................
               =  11000000.10101000.00000001.  0  0  0  1  |  1  1  1  1     = 192.168.1.31     16+8+4+2+1=31
              ————————————————————————————————————————————————————————————————————————————————————————————————————————————
 开始计算第三段:             
               =  11000000.10101000.00000001.  0  0  1  0  |  0  0  0  0     = 192.168.1.32
               =  11000000.10101000.00000001.  0  0  1  0  |  0  0  0  1     = 192.168.1.33
               =  11000000.10101000.00000001.  0  0  1  0  |  0  0  1  0     = 192.168.1.34
               .........................................................
               =  11000000.10101000.00000001.  0  0  1  0  |  1  1  1  1     = 192.168.1.47    32+8+4+2+1=47
               ————————————————————————————————————————————————————————————————————————————————————————————————————————————
 开始计算第四段:
               =  11000000.10101000.00000001.  0  0  1  1  |  0  0  0  0     = 192.168.1.48
               ..........................................................
               =  11000000.10101000.00000001.  0  0  1  1  |  1  1  1  1     = 192.168.1.63   32+16+8+4+2+1=63
               ————————————————————————————————————————————————————————————————————————————————————————————————————————————
 开始计算第五段:
               =  11000000.10101000.00000001.  0  1  0  0  |  0  0  0  0     = 192.168.1.64
               .........................................................
               =  11000000.10101000.00000001.  0  1  0  0  |  1  1  1  1     = 192.168.1.79    64+8+4+2+1=79
               ————————————————————————————————————————————————————————————————————————————————————————————————————————————
 开始计算第六段:
               =  11000000.10101000.00000001.  0  1  0  1  |  0  0  0  0     = 192.168.1.80
               .........................................................
               =  11000000.10101000.00000001.  0  1  0  1  |  1  1  1  1     = 192.168.1.95
                ————————————————————————————————————————————————————————————————————————————————————————————————————————————
 开始计算第七段:
               =  11000000.10101000.00000001.  0  1  1  0  |  0  0  0  0     = 192.168.1.96
               .........................................................
               =  11000000.10101000.00000001.  0  1  1  0  |  1  1  1  1     = 192.168.1.111

第八段:......................................112-127
第九段:......................................128-143
第十段:......................................144-159
第十一段:....................................160-175
第十二段:....................................176-191
第十三段:....................................192-207
第十四段:....................................208-223
第十五段:....................................224-239
开始计算第十六段:  
                =  11000000.10101000.00000001.  1  1  1  1  |  0  0  0  0     = 192.168.1.240
               .........................................................
                =  11000000.10101000.00000001.  1  1  1  1  |  1  1  1  1     = 192.168.1.255                                                                                  

看懂了这些简单的逻辑,以上只是还原了如何借位的原理,我们可以通过口算,快速计算IP借位包含有多少个子网,子网的网络IP和广播IP,以及每个子网包含的可用主机IP。

举例:随便说一个地址,192.168.20.59/27。计算出子网个数、每个子网的范围及包含的主机IP。

看到27,就知道借了3位。2的3次方就是子网的个数,222=8个子网。
子网的范围:想到逻辑关系数字:128 64 32 16 8 4 2 1 ,借3位,第三位是32,每个子网范围就是0-31的范围,以32的倍数递增。0-31,32-63以此类推,包含的主机IP,很简单就是1-30。。。


B类地址的借位和C类地址同理。我简单的介绍下。

172.16.0.0/18,来看看怎么借位

                         网络位               主机位
                                     128 64 32 16 8 4 2 1 
172.16.0.0    =  11000000.10101000.  0  0 | 0  0  0  0  0  0  .  0  0  0  0  0  0  0  0 
255.255.0.0   =  1111111 .11111111.  0  0 | 0  0  0  0  0  0  .  0  0  0  0  0  0  0  0
              —————————————————————————————————————————————————————————————
第一段        
              =  11000000.10101000.  0  0 | 0  0  0  0  0  0  .  0  0  0  0  0  0  0  0  =172.16.0.0
              =  11000000.10101000.  0  0 | 0  0  0  0  0  0  .  0  0  0  0  0  0  0  1  =172.16.0.1
              ......................................
              =  11000000.10101000.  0  0 | 1  1  1  1  1  1  .  1  1  1  1  1  1  1  1  =172.16.63.255
              —————————————————————————————————————————————————————————————
第二段        
              =  11000000.10101000.  0  1 | 0  0  0  0  0  0  .  0  0  0  0  0  0  0  0  =172.16.64.0
              =  11000000.10101000.  0  1 | 0  0  0  0  0  0  .  0  0  0  0  0  0  0  1  =172.16.64.1
              ......................................
              =  11000000.10101000.  0  1 | 1  1  1  1  1  1  .  1  1  1  1  1  1  1  1  =172.16.127.255
              —————————————————————————————————————————————————————————————
第三段        
              =  11000000.10101000.  1  0 | 0  0  0  0  0  0  .  0  0  0  0  0  0  0  0  =172.16.128.0
              =  11000000.10101000.  1  0 | 0  0  0  0  0  0  .  0  0  0  0  0  0  0  1  =172.16.128.1
              ......................................
              =  11000000.10101000.  1  0 | 1  1  1  1  1  1  .  1  1  1  1  1  1  1  1  =172.16.191.255
              —————————————————————————————————————————————————————————————
第四段        
              =  11000000.10101000.  1  1 | 0  0  0  0  0  0  .  0  0  0  0  0  0  0  0  =172.16.192.0
              =  11000000.10101000.  1  1 | 0  0  0  0  0  0  .  0  0  0  0  0  0  0  1  =172.16.192.1
              ......................................
              =  11000000.10101000.  1  1 | 1  1  1  1  1  1  .  1  1  1  1  1  1  1  1  =172.16.255.255

看看,第一段:172.16.0.0-172.16.63.255,主机的范围被缩小。网络IP:172.16.0.0,广播IP:172.16.63.255,可用主机:172.16.0.1-172.16.63.254

——————————————————————————————————————————————————————

补充

个人的理解,判断一个IP地址是ABC三类中哪一类,取决于掩码是多少位掩码,而不是规定的10、172、192的定义IP。
在有一次考试中,出现的题,说172.16.0.0/24是C类还是B类,然而我答了C类,直接提示错误。
个人理解吧,因为有子网掩码的借位,才能真正的判断到底是否是哪一类的IP。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值