欢迎来到时光飞逝的博客

----------------

【网工的福利来了!】用Excel表做的“子网划分&路由聚合计算器”

 

 

我们假设有这么一个场景。

 

紫竹:“文彬同学,这里有几个子网连续的网段,10.108.1.0/24、10.108.2.0/24、10.108.3.0/24、10.108.4.0/24、10.108.5.0/24、10.108.6.0/24,你把这些网段聚合一下。”

 

谢文彬:“好嘞!”

 

结果,过了5分钟,谢文彬还没有把答案交过去。

当紫竹走到他面前时,才发现这小子还伏在电脑面前,辛辛苦苦的画着二进制呢……

 

 

 

 

 

 

福利来了

 

 

捷哥根据自己对子网划分、路由聚合的理解,结合多年的工作经验,用Excel做了一个比较粗糙,但是非常实用的Excel表格。用这个表格,让你做子网划分/路由聚合的时候彻底告别二进制换算,让你的工作效率更高,更准确。

 

 

 

 

 

 

制表原理

咱其实可以说一下用Excel做路由聚合计算器的原理。



就拿C段聚合来说吧,两段子网连续C段10.110.0.0/2410.110.1.0/24,是可以聚合为/23的,即10.110.0.0/23。



如果给你4段子网连续C段:10.110.0.0/2410.110.1.0/2410.110.2.0/2410.110.3.0/2410.110.0.0/24和10.110.1.0/24可以聚合为10.110.0.0/2310.110.2.0/2410.110.3.0/24可以聚合为10.112.2.0/23,也可以把这4个连续C段聚合为10.110.0.0/22。



所以,这里可以看出来,/23包含2个/24(2个C)、/22包含2个/23和4个/24(4个C)。

于是,我们可以以此类推:



/21包含2个/22、4个/23、8个/24(8个C)

/20包含2个/21、4个/22、8个/23、16个/24(16个C)



直到一个/16,就包含255个C了,且C段正好是0-255,完全包含了IP地址256个数字

所以,我们就可以根据这个,在Excel内做一个表:

 

 

 

 

这张表格中的数字,就代表一个C段IP网段中,第三段的数值。

如果这个IP网段的前两段是10.108,则这张表就代表了10.108.0.0/24—10.108.255.0/24。每一格都代表一个C段。

 

根据之前说过的,/23为两个C、/22为4个C、/21为8个C、/20为16个C,我们就在这表格中对相应位置的单元格进行合并,得到如下这张表:

 

 

在这张表内,/23合并两个单元格,/22合并4个单元格,/21合并8个、/20合并16个。

于是,一个格子的数字是一个/24、偶数小奇数大两个就是/23、包含两个/23的4个格子就是/22、包含两个/22的8个格子就是/21、一行16个格子就是一个/20。

从图上来看,就是16个/20

分别是x.x.0.0/20、x.x.16.0/20、x.x.32.0/20……依次类推

 

咱举个例子:172.31.152.0/24、172.31.153.0/24、172.31.154.0/24、172.31.155.0/24要怎么聚合?

 

这正好是4个连续C,于是我们就可以在表格中,标出152、153、154、155的位置:

 

 

然后和表格上方的掩码做一个比较:

 

 

结果你发现, 152、153、154、155正好处于一个/22的列内。这说明152、153、154、155可以聚合成一个/22,正好是一个4C段。

 

我们选举152、153、154、155中的最小值152,得到结果:152.0/22,再加上这个网段的A、B两段,就得到结论了:

 

172.31.152.0/24、172.31.153.0/24、172.31.154.0/24、172.31.155.0/24可以聚合为一个网段,结果是172.31.152.0/22。

 

咱再来看一个例子:

202.106.71.0/24—202.106.78.0/24,这8个连续C应该怎么聚合?

 

还是老规矩,在表格中标出71—78的位置:

 

 

 

再把71—78这段与表格上方的掩码长度做一个对应,结果你发现:

 

 

 

有人会说,那71-78不也都在一行,都在/20里面吗?

但是,71-78也就8个连续C,把它直接聚合为/20显然太大了。

 

所以,得到结论是,:

 

A、202.106.71.0/24—202.106.78.0/24只能聚合202.106.72.0/24—202.106.78.0/24,聚合为202.106.72.0/21。

B、202.106.71.0/24只能单独留出来

C、而未提及的202.106.79.0/24也必须作为这个区域预留网段了,最好不要分配给其他区域使用。

 

图片

图片

表格的扩充

图片

 

看到这里有人会说了,你这张表格只能聚合到/20,那么,我要想聚合到/19、/18、/17怎么办呢?实际上,这张表格还能继续扩充掩码,如下图所示:

 

 

图片

表格的数字,每一行都是一个/20段。

再根据/19是两个/20、/18是4个/20、/17是8个/20的递进关系,就可以在表格的左边合并单元格,做出/17、/18、/19了

 

 

图片

表格的数字,每一行都是一个/20段。

再根据/19是两个/20、/18是4个/20、/17是8个/20的递进关系,就可以在表格的左边合并单元格,做出/17、/18、/19了。

 

利用路由聚合表判断IP网段能否聚合。

 

首先说明一下,如果IP网段太离散,比如有人常用的垃圾IP:192.168.10.0/24、192.168.20.0/24……这肯定不能聚合,想都别想。要判断IP网段能否聚合,必须是一段连续C。

 

比如,你得到的连续C是192.168.44.0/24—192.168.47.0/24,这正好是4段连续C,4C段的掩码应该是/22,那你就在表格中找44-47的格子,看看这4个格子是不是能正好落在一个/22的大格子里。

 

 

图片

 

那如果是192.168.44.0/24到192.168.58.0/24呢?

从44到58,有15个C段,也就是说192.168.44.0/24到192.168.54.0/24是15个C。也只有一个/20能装得下15个C。

 

但是,从表格上来看,44—58没法是没法落在一个/20的大格子里的:

 

 

所以我们只能细分,我们发现:44-47是在一个/22格子里,48-51在一个/22格子里,52-55在一个/22格子里,剩下的56、57、58还在一个/22格子里,但这个格子里余了一个59。

 

于是,我们得到了4个/22的4C段:

192.168.44.0/22,192.168.48.0/22、192.168.52.0/22、192.168.56.0/22

 

这4个/22的4C段肯定是没法聚合成一个/20的,因为在表格里面,只有在同一行内的网段才能聚合,跨行的网段是不能聚合的。

 

 

那就只能考虑把192.168.44.0/22,192.168.48.0/22、192.168.52.0/22、192.168.56.0/22聚合成两个/21了。

 

但这里也要注意一点,跨行的不能聚合,处于中间位置的不能聚合。

 

跨行的不能聚合,这个好理解,192.168.44.0/22和192.168.48.0/22,里面包含的C段44—47、48—51就不在一行,这个肯定不能聚合。

 

那么192.168.48.0/22、192.168.52.0/22、192.168.56.0/22包含的48—58可都在一行内,怎么聚合呢?这就要看/21大格的落位情况了。如果是192.168.52.0/22、192.168.56.0/22,只能分别落在两个/21大格内,这就叫做:处于中间位置的不能聚合。

 

 

最终:192.168.44.0/24到192.168.58.0/24聚合成三段

192.168.44.0/22、192.168.48.0/21、192.168.56.0/22。

 

处于中间位置不能聚合总结

 

同样,当/23聚合为/22的时候,如果两个/23分别落在了两个/22里面,且处于两个/22表格的中间位置,这两个/23也是不能聚合成/22的。

 

比如10.112.2.0/23和10.112.4.0/23,就不能聚合成/22,同样,10.112.66.0/23和10.112.68.0/23,也不能聚合成/22。

 

这个关系如下图所示:

 

 

咱在把眼光放远一点,如果是/20聚合到/19呢?

 

也满足“中间位置不能聚合”,只是,/20聚合到/19是在左边扩充的位置,要竖着看才行。

 

 

进一步扩充

图片

 

计算表的进一步扩充:

 

如果你认为这张表只能计算/17-/24的路由聚合,那就错了!这张表可以计算任何掩码长度的路由聚合。

 

刚才,在我们的表格中,出现的0-255的数字都是IP地址的第三段,也就是C段,每个格子的数字代表一个/24;但在这个表格中,我们还可以把这0-255的数字都看成是IP地址的第四段,也就是D段。这时,每个数字代表的就是一个/32了。

 

再根据两个/32为一个/31(实际上基本没这种情况),两个/31是一个/30,两个/30是一个/29,我们就可以对表格做出如下扩充:

 

 

当你要计算/24的路由聚合的时候,你选中右下表格中的数字,这些数字就和有蓝色背景色的掩码长度大格子对齐计算;当你要计算/32主机路由聚合的时候,这些数字就和有白色背景色的掩码长度大格子对齐计算。

 

当然,这个表格还可以用来计算掩码小于/16的时候,咱让表格中的数字代表一个/16,再进行一次扩充:

 

 

这样,就得到了一个可以计算掩码长度从/9-/32的IP地址划分表了

图片

图片

举例说明表的用法

图片

 

最后,我们举几个例子,告诉你这个表怎么用。

 

【例1】写出下列地址的子网ID和广播地址,并说出这个地址是否可用。

 

 

这里有9个地址,但是子网掩码最长的是/16。我们要先进行一个分类,把掩码长度小于/24的分成一类,把掩码长度大于/24的分成一类。

于是有:

172.18.31.255/16、10.16.100.100/18、10.31.255.255/22、172.250.32.158/23为一类。

10.0.20.56/29、192.168.100.72/30、192.168.50.1/30、192.168.15.255/28为一类

 

掩码取值在[24,32]的,参照计算表中白底色的计算格子,取IP地址中的第四段和表格中的数字对照。这个相对简单一些:

 

比如10.0.20.56/29,我们就看数字56落在哪个/29掩码格子的位置:

 

 

 

再看一个:192.168.15.255/28,找到255与/28大格对应的位置:

 

 

再看192.168.100.72/30,在表格中标出72的位置:

 

 

如果是掩码范围在[16,24]之间的,则相对来说要麻烦一些。我用10.16.100.100/18为例来说明一下。

 

首先要确认,10.16.100.100/18所在的子网ID。这时我们把表格内的数值看做是IP地址的C段,找到/18掩码和数值100重合的区域,把100所在的/18的所有数值全选

 

 

从图上可以看到,当100作为IP地址的第四段时,它既不是所选范围的最小值,也不是最大值,肯定是一个可用地址。

 

所以,10.16.100.100/18既不是子网ID也不是广播地址,所以是一个可用IP地址。只是在现网标准环境中,不可能有掩码那么短的IP地址。

 

它的子网ID是10.16.64.0/18,广播地址是10.16.127.255。

 

你要验算也没关系,打开ENSP模拟器,把这个地址配置在一个UP的物理接口上

 

 

【例2】下列网段不能聚合成一个掩码尽可能短的大段?

 

第一组:10.108.64.64/26、10.108.64.128/26

第二组:10.112.11.0/24--10.112.20.0/24

第三组:10.112.81.0/24--10.112.90.0/24

 

先看第一组:10.108.64.64/26、10.108.64.128/26,掩码长度大于/24,所以把表格中的数值看成是IP地址的D段。

在表格上先将这两个/26的标出来,找到左下角/26的位置,可以看到10.108.64.64/26和10.108.64.128/26正好位于两个/25的中间位置,这属于“中间位置不能聚合”,所以,这两个网段不能聚合成/25的大段。

 

 

第二组:10.112.11.0/24--10.112.20.0/24

这是C段地址聚合,所以我们要把11-20在表格中标出来,和灰色底色的掩码格子对应

 

 

从11-20有“换行”的情况,所以11-20肯定不能聚合成一个大段了。但仔细看这个表格

11.0/24的C段是一个奇数,连续C里面的第一个段是奇数的话,这个网段就只能单独出来了。所以11.0/24只能单独成一段。

 

所以,要聚合成一个大段还有个先决条件:C段聚合时,第一个C段只能是偶数。

 

再看从12.0/24以后的,12、13、14、15落在了一个/22的格子里,但15以后有换行,所以12、13、14、15聚合成12.0/22。

剩下的16、17、18、19、20,是5个C,而16-19又落在了一个/22的格子里,所以16、17、18、19聚合成16.0/22,剩下的20.0/24也只能单独出来了

 

 

最终10.112.11.0/24--10.112.20.0/24只能聚合成4个网段

10.112.11.0/24、10.112.12.0/22、10.112.16.0/22、10.112.20.0/24

 

第三组:10.112.81.0/24--10.112.90.0/24

就留给读者自己去练习吧,在评论区把答案告诉我。

 

【例3】根据此表格做IP地址规划题

 

某公司共有生产部、研发部、销售部、财务部、客服部5个部门和1组服务器,其中生产部和研发部各有主机50台,销售部、财务部和客服部各有主机20台,服务器组有主机6台。该公司使用C类地址192.168.10.0/24,应该如何划分子网呢?

 

我们把表格稍微修改一下,然后直接往里面标记即可。按照主机数量多从到少进行标记。

给你的地址是192.168.1.0/24,让你给这段地址划分子网,则表格中的数字肯定是IP的D段了。

 

先标记生产部的50台,用红底白字进行标记:

 

 

再有一个50台主机的部门是研发部,由于前4行的数字已经分配给生产部了,所以研发部从数字的第5行,即64的位置还是标记,正好也是4行数字,也是一个/26。

 

 

然后就是销售部、财务部和客服部各有主机20台,这个我们直接在表格中标记

 

 

20个主机就需要标记20个数字,而20个数字正好占两行。两行也就是一个/27

所以,销售部、财务部和客服部分配的地址就是三个/27,分别是:

192.168.10.128/27、192.168.10.160/27、192.168.10.192/27

 

还剩余一个/27没有分配。

而此时还有服务器组有主机6台,于是,我们在最后224开始的位置标记6个数字。见图中的最上方掩码/29和最下方绿底白字标记的数字。

 

 

综上所述:针对这个需求做如下的IP地址规划:

 

生产部和研发部各有主机50台,使用192.168.10.0/26和192.168.10.64/26

销售部、财务部和客服部各有主机20台,

使用192.168.10.128/27、192.168.10.160/27、192.168.10.192/27

服务器组有主机6台,使用192.168.10.224/29

 

整个需求顺利完成,不用算二进制,直接从表格里面就能得到结果,简单、准确、快速。

 

再提醒你一下,这个表格打印出来,也适合在没有电脑的场合下用哦。

 

posted @ 2021-09-05 20:57  时光已飞逝  阅读(2298)  评论(0编辑  收藏  举报