我们假设有这么一个场景。
紫竹:“文彬同学,这里有几个子网连续的网段,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/24、10.110.1.0/24,是可以聚合为/23的,即10.110.0.0/23。 如果给你4段子网连续C段:10.110.0.0/24、10.110.1.0/24、10.110.2.0/24、10.110.3.0/24,10.110.0.0/24和10.110.1.0/24可以聚合为10.110.0.0/23;10.110.2.0/24、10.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
整个需求顺利完成,不用算二进制,直接从表格里面就能得到结果,简单、准确、快速。
再提醒你一下,这个表格打印出来,也适合在没有电脑的场合下用哦。