静态路由 动态路由 php,静态路由汇总(路由聚合)

1、路由汇总技术背景

showp_w_picpath-10089869-10091351-996c212cbd6f5e651081a77fb5804b16.jpg

我们看上图,对于R1而言,如果要去往R2身后的172.16.1.0/24、172.16.2.0/24、172.16.3.0/24网络,那么自然是要有路由的,如果是采用静态路由的方式,意味着我们要给R1配置三条静态路由分别对应上述三个网段,上面我们已经说过了,这样的配置,一来工作量大,想想看,如果R2身后不仅仅有三个网络呢?如果有100个网络呢?再者这也意味着R1的路由表变得非常臃肿。

在上一小节我们已经介绍过默认路由了,默认路由固然可以解决一部分的问题,但是默认路由的“路由颗粒度”太大,无法做到对路由更为细致的控制,而且如果R1左侧连接了一个网络出口并且已经占用了默认路由了,那么这里只能另想他法了。

路由汇总可以很好的解决这个问题:

showp_w_picpath-10089871-10091351-d081605bb258bf2eec45a18fb3e9714a.jpg

前一个场景,我们需使用3条明细路由,而在上图R1中,我们却仅仅使用一条路由即可实现相同的效果,这条路由是上一个场景中三条明细路由的汇总路由。这样配置的一个直接好处就是,路由器的路由表条目大大减少了。这种操作方式我们称为路由汇总。路由汇总是一个非常重要的网络设计思想,通常在一个大中型的网络设计中,必须时刻考虑网络及路由的可优化性,路由汇总就是一个我们时常需要关注的工具。这里实际上是部署了静态路由的汇总,当然除此之外我们也可以在动态路由协议中进行路由汇总,几乎所有的动态路由协议都支持路由汇总。

2、路由精确汇总的算法

路由的汇总实际上是通过对子网掩码的操作来完成的。对于下面的例子来说:

showp_w_picpath-10089873-10091351-cf464c9536d910e295e5b70ee02b13d5.jpg

在R2上,为了到达R1下联的网络,R2使用路由汇总的工具,指了一条汇总路由:

[R2] ip route-static 172.16.0.0 16 10.1.12.1 #12.1为R1的接口IP

虽然这确实起到了网络优化的目的,但是,这条汇总路由太“粗犷”了,它甚至将R3这一侧的网段也囊括在内,我们称这种路由汇总行为不够精确。因此,一种理想的方式是,使用一个“刚刚好”囊括这些明细路由的汇总路由,这样一来就可以避免汇总不够精确的问题。

这里不得不强调一点,网络可以部署路由汇总的前提是我们网络中IP子网及网络模型设计具备一定的科学性和合理性,因此路由汇总和网络的IP子网及网络模型的设计是息息相关的。如果你的网络规划的杂乱无章,路由汇总部署起来就相当的困难了。

那么如何进行汇总路由的精确计算呢?下面我们来看一个例子:

现有明细路由:172.16.1.0/24至172.16.31.0/24,计算最精确的汇总路由

showp_w_picpath-10089875-10091351-0134d7d7250843b76e265180c24d71b7.jpg

我们要做的事情非常简单,这些个明细子网是连续的,我们只要挑出首位的两到三个网络号来计算就足够了:将这些IP地址写成二进制形式,实际上,我们只要考虑第三个8位组即可,因为只有它是在变化的。

现在,我们要画一根竖线,这根线的左侧,每一个列的二进制数都是一样的,线的右侧则无所谓,可以是变化的,这根线的最终位置,就是汇总路由的掩码长度。注意这根竖线可以从默认的掩码长度,也就是/24开始,一格一格的往左移,直到你观察到线的左端每一列数值都相等,即可停下,这时候,这根线,所处的位置就刚刚好。

如上图,线的位置是16+3=19,所以我们得到汇总地址:172.16.0.0/19,这就是一个最精确的汇总地址。

因此,上面的例子,我们可以这么配置:

showp_w_picpath-10089877-10091351-382ed415bf71971d00ea4a7aed22ced6.jpg

3、路由汇总的潜在问题

showp_w_picpath-10089879-10091351-2e117adcc7824890275e846ba35642a0.jpg

路由汇总是一个非常重要的网络优化工具,然而如果使用不当,也有可能带来问题,在上图中,R1左侧有192.168开头的一系列网络,为了让他们能够访问Internet,R1配置了指向R2的默认路由。而R2为了让数据能够回程,又为了精简路由表,配置了一条汇总路由192.168.0.0/16,并指向R1。这个网络看似没什么问题,但……

showp_w_picpath-10089881-10091351-486823f19c5951bebc60169a5dc168ba.jpg

解决办法:

showp_w_picpath-10089883-10091351-7f2b169eb63c0fff23ce7c527b54822c.jpg

在R1上配置一条ip route-static 192.168.0.0 16 null0,即可解决上述问题,当R1收到扫描报文发往192.168网络下不存在的目的时,就会直接被R1丢弃,而不会再转发给R2了。这就解决了理由环路的问题。这个思路在路由汇总的时候非常关键,许多动态路由协议在使用命令执行路由汇总的时候,会在本地路由表中产生一条指向null0的汇总路由就是这个原因。

因此,无论是采用静态路由,或者是动态路由协议来部署路由汇总,都应格外留意路由汇总是否可能引发路由环路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值