《CCNP ROUTE 300-101认证考试指南》——8.4节选择最优OSPF路由

简介:

本节书摘来自异步社区《CCNP ROUTE 300-101认证考试指南》一书中的第8章,第8.4节选择最优OSPF路由,作者 【美】Kevin Wallace(凯文 华莱士),更多章节内容可以访问云栖社区“异步社区”公众号查看

8.4 选择最优OSPF路由
CCNP ROUTE 300-101认证考试指南
定义LSA类型、创建区域、完整泛洪LSA,所有这些工作都只有一个目的:让区域中的路由器计算出所有已知子网的最优无环路由。虽然数据库的交换过程看起来可能挺费事的,但读者对SPF计算最优路由的过程无需关注太多,至少对于CCNP ROUTE考试的水平来说没有必要。事实上,选择某个特定子网的最优路由,以及特定路由器计算的过程可总结如下:

关键

分析LSDB,以找到去往子网的所有可能的路由;
对于每条可能的路由,累加该路由中所有出接口的OSPF接口开销值;
选择总开销最低的路由。
对于工程师来说,如果构建了网络拓扑图,并标注了每个接口的OSPF开销(show ip ospf interface命令所示),就可以轻松地累加每台路由器到每个子网的可能路由开销,从而判断OSPF将选用哪条路由。而路由器必须使用更复杂的SPF算法,基于LSA提取拓扑的数学模型进行计算。本节将讨论简单的度量计算(工程师视图),以及SPF计算最优路由时在路由器上必须进行的一些基本操作。本节还将介绍调节度量计算以影响路由选择的几种做法。

8.4.1 计算内部OSPF路由的SPF度量值
计算路由器到每个子网的开销,对于大多数人来说可能很直观。但我们还是有必要花些时间来考虑一些具体细节,这既有助于与LSA的概念建立相互联系,也能使读者更好地准备ROUTE考试。本节将讨论分为四部分:区域内路由、区域间路由、简短讨论子网中存在区域内路由也存在区域间路由的情况,以及SPF算法的解释。

1.计算区域内路由的开销
当路由器分析LSDB,以计算每个子网的最优路由时,它会执行以下操作。

关键

步骤1 寻找区域内的所有子网,根据类型1 LSA中的末节接口和类型2网络LSA进行查找。

步骤2 运行SPF算法,寻找从路由器到每个子网的所有可能路径。

步骤3 计算每条路由中所有出接口的OSPF接口开销,为每个子网选择总开销最低的路由作为最优路由。

例如,图8-11显示了区域34内的路由器和链路,这是图8-1所示互联网络的子集。图8-11显示了接口地址和OSPF开销。


30f49811f9412a26987094b6dd0d52e62dce9c6e

遵循前面介绍的三步基本过程,在第1步时,R1根据该子网DR创建的类型2 LSA,可以确定区域34中存在子网10.10.34.0/24。在第2步时,R1运行SPF算法,并确定4条可能的路由,其中2条从工程师的角度看显然更合理:R1-R3和R1-R4(其他两条可能的路由,R1-R3-R2-R4和R1-R4-R2-R3也是有可能的,这两条路由也会被OSPF考虑,但显然开销更高)。在第3步时,R1累加每条路由中出接口的开销,并计算如下。

R1-R3:累加R1 S0/0/0.3的开销(647)和R3 Fa0/0的开销(10),总共为657。
R1-R4:累加R1 S0/0/0.4的开销(647)和R4 Fa0/0的开销(10),总共为657。
度量值相同,在默认设置maximum-paths 4的情况下,R1将2条路由都加入其路由表。具体地说,路由中会列出度量值657和两链路另一端分别的下一跳IP地址:10.10.13.3(R3的S0/0/0.1)和10.10.14.4(R4的S0/0/0.1)。

注意OSPF支持等价负载均衡,但不支持非等价负载均衡。OSPF配置模式命令maximum-paths最低可以设置为1,最大值因路由器平台和Cisco IOS版本而不同。目前Cisco IOS版本通常支持(最多)16或32条到同一个目的地的路由。

2.计算区域间路由的开销
从工程师的角度看,如果有完整的网络图示、子网地址和OSPF接口开销,区域间路由的开销就可以像区域内一样来进行计算,也就是先找到路由器到目的子网的所有可能路由,再累加出接口的开销,然后选择总开销最低的路由器。

然而,OSPF路由器不能为区域间路由进行相同的计算,因为一个区域中的路由器没有另一个区域的拓扑数据——LSA类型1和2。对于区域间的情形,ABR会创建并泛洪类型3汇总LSA到各个区域中,其中会列出子网地址和掩码,但不会列出另一个区域的路由器和链路详情。例如,图8-12显示了图8-1中的区域34和区域0,其中包含了接口开销。下面请考虑一下OSPF如何确定从路由器R3到右侧数据中心子网10.10.99.0/24的最低开销路由。


636f1881d653d65251dbd2b9f80f09f9f790ffc1

R3到达子网10.10.99.0/24有多条可能路由。例如,从R3到R1就有以下可能路由:R3-R1、R3-R4-R1和R4-R2-R1。从R1到子网10.10.99.0/24存在更多可能路由。SPF算法需要计算区域内到ABR的所有可能路由,所以在有更多冗余路径时,SPF运行的时间会增加。而且SPF需要考虑所有的选项,而工程师却可以快速排除一些路由,因为它们一看就很荒唐。

因为在区域设计中,有R1和R2充当ABR的角色,因此R3不处理图8-12中的所有拓扑。因为R3会依赖于ABR创建的类型3汇总LSA,其中包含以下信息:

LSA代表的子网地址/掩码;
ABR到达子网的最低开销路由的开销值;
ABR的RID。
例8-7讨论了R3用来计算到图8-12右侧子网10.10.99.0/24的最优路由时所用到的信息。要查看这些详细信息,例8-7列出一些R1中的命令。例中列出了R1到10.10.99.0/24的最优路由(两条相等的),开销为11。例中还列出了R1为10.10.99.0/24生成的类型3 LSA开销为11,以及ABR R2创建并泛洪到区域34中的类型3 LSA。


636f1881d653d65251dbd2b9f80f09f9f790ffc1

注释:
示例中使用了默认的带宽设置,但所有路由器上都配置了auto-cost reference-bandwidth 1000命令。这条命令会在接下来的“更改参考带宽”部分进行解释。
在对一个区域中的路由器计算区域间路由的开销时,只要明白类型3 LSA列出的是ABR到达区域间子网的最优开销,这个过程就很简单了。计算开销的步骤如下所示。

关键

步骤1 计算从路由器到类型3 LSA中的ABR的区域内开销。

步骤2 累加类型3 LSA中的开销值(这个开销代表的是ABR到目的子网的开销)。

路由器为每一条到达ABR的可能路由应用以上两步。按照路由器R3到子网10.10.99.0/24的示例,图8-13显示了计算的过程。

图8-13显示了两条路由的计算过程,到达R1的区域内开销为647或657。对于两条路由,路由器都累加了R1发出的类型3 LSA所列的开销。


e7f6d0a340176a29df35a4abcefbb44f89dd12f5

如图8-12存在多个ABR时,每个ABR都会为子网创建一个类型3的LSA。事实上,例8-7的输出信息就显示了R1和R2为10.10.99.0/24创建的类型3 LSA。例如,在本章使用的互联网络中,ABR R1和R2会为10.10.99.0/24创建类型3 LSA。所以在此例中,R3将也需计算经过ABR R2到达10.10.99.0/24的最优路由。之后,R3就会从去往10.10.99.0/24的所有路由中选择最优路由。

每台路由器都会为所有到达ABR的已知路由重复上述计算过程,并使用每个ABR的类型3 LSA进行计算。在此例中,R3经过R1和经过R2的路由度量值相等,所以R3将2条路由都加入其路由表中,如例8-8所示。


1850c9c471796727d1dc8cf95501ac241900bc62

除了图中使用的出接口信息,输出内容中还将这些路由标记为了区域间路由。第一条命令明确列出了“type inter area(类型为区域间)”,show ip route ospf命令也通过代码“O IA”表达了相同的信息,表示“OSPF区域间”。简单来说,区域间路由是子网通过类型3汇总LSA学习的路由。

3.ABR上关于区域内和区域间路由的特殊规则
关于区域内和区域间路由,OSPF有几条规则,也就是比较多条路由计算出的开销值,来决定谁是更优的路由。当有多个ABR连接相同的两个区域时,就会用到这一规则。许多设计方案都在骨干网和每个非骨干网区域之间,使用两台路由器来提供冗余,这类设计方案存在于许多OSPF网络中。

在有2个或多个ABR时,ABR在计算自己的路由表时,可以计算骨干区域中,子网区域内的路由和区域间的路由。例如,按照之前的几个示例,从路由器R1的角度考虑,如图8-14所示。

从概念上看,R1可以计算去往10.10.99.0/24的区域内路由和区域间路由。但OSPF的开销可以设置为:让R1经过区域34,去往ABR R2,再经过区域0,去往10.10.99.0/24。不过,两条OSPF规则能够让R1避免做出这样的选择。


2e72ffc48e7db001238b9ef745d8250fab67289a

图8-14 R1的选择:去往10.10.99.0/24的区域内路由或区域间路由

步骤1 在选择最优路由时,区域内路由总是比区域间路由好,无论度量值如何。

步骤2 如果ABR在非骨干区域学到了类型3的LSA,ABR在计算自己的路由时就会忽略这个LSA。

由于第一条规则,因此R1在有区域内路由可用时,就永远不会选择区域间路由。第二条规则声明R1将不会选择区域间路由——R1在选择自己的最优IP路由的目的时,会忽略相关LSA。

4.度量值及SPF计算
在讨论如何通过更改OSPF接口开销值来影响路由选择之前,首先让我们花些时间来思考一下路由器所进行的(CPU密集型的)SPF运算。SPF拼凑拓扑信息,以寻找去往一个目的所有的可能路由。为此,在区域内拓扑改变时,路由器必须执行SPF,因为拓扑的改变将影响最优路由的选择。然而,类型3 LSA的更改却不会驱使SPF算法重新计算,因为类型3 LSA实际上并不描述拓扑。

进一步分析时,读者要记住:当一个内部路由器寻找某个子网的最优路由时,会使用区域内拓扑计算到达ABR的开销。在每条路由都被标记出来之后,内部路由器会将区域内开销累加给ABR,再加上对应的类型3 LSA开销。类型3 LSA的更改(包括故障、恢复或度量值的改变)会影响最优路由的选择,所以更改后的类型3 LSA必须进行泛洪。然而,无论如何变化,更改都不会影响路由器和ABR间的拓扑——SPF负责处理该拓扑数据。所以只有类型1和2的LSA变更需要SPF进行重新计算。

工程师可以通过show ip ospf命令查看SPF运行的次数,以及上一次SPF运行后所经过的时间。每次类型3 LSA出现变化并进行泛洪后,路由器并不会运行SPF计算,计数器也不会增加。例8-9标记出了这台路由器上的一个区域中,SPF算法的运行次数,以及上次运行后经过的时间。注意ABR会对每个区域列出一组信息,显示每个区域的SPF运行次数。


713fe895051692b9126fe7ee33b50659554f4ea6

8.4.2 调整度量值
工程师可以使用几条命令来调整OSPF接口的开销值,进而影响最优OSPF路由的选择。本节会讨论三种方式:更改参考带宽、设置接口带宽和直接设置OSPF开销。

1.更改参考带宽
OSPF会基于以下公式来计算接口的默认OSPF开销:

开销=参考带宽/接口带宽

参考带宽可以通过auto-cost reference-bandwidth bandwidth这条路由器配置模式命令进行设置,设置的参数为上述公式中的分母,单位为Mbit/s。该设置在不同的路由器上可以不同,但Cisco建议在一个OSPF网络中的所有路由器上使用相同的设置。

例如,串行接口的默认带宽设置为1544,表示1544kbit/s。参考带宽默认为100,表示100Mbit/s。将参考带宽的单位转换为kbit/s(乘以1000)以匹配带宽的度量单位,得到的串口的默认开销为:

开销=100000/1544=64

注释:
计算结果为十进制值时OSPF总是向下取整。
更改参考带宽的主要目的是为了让流量默认使用高速链路。由于带宽默认值为100Mbit/s,因此快速以太网接口的开销为1。但最小的OSPF开销为1,所以吉比特以太网和10吉比特以太网接口默认的OSPF开销都是1。设置OSPF参考带宽可以使高速链路的开销有所区别,让OSPF能够选择使用通过更高速率接口的路由条目。

注释:
虽然Cisco建议所有路由器使用相同的参考带宽,但这一设置对于每台路由器来说是本地设置。
注意在本章之前的示例中,带宽使用的都是默认设置,但每台路由器都使用了auto-cost reference-bandwidth 1000命令,让快速以太网和吉比特以太网接口拥有不同的开销值。

2.设置带宽
管理员可以通过配置bandwidth speed接口模式命令,直接设置OSPF开销(速率单位kbps)。此时,使用之前展示的公式将直接使用配置的带宽值。

对于接口bandwidth命令的话题,几个看起来微小的问题可能会影响调整OSPF开销的选择。首先,在串行链路上,带宽默认为1544。而在这些串行接口的子接口上,默认使用相同的带宽。

在以太网接口上,如果没有配置bandwidth命令,接口带宽与实际速率相同。例如,在支持10/100自动协商的接口上,带宽可以为100000kit/s(或100Mbit/s)或10000kbit/s(或10Mbit/s),这取决于链路当前运行在100Mbit/s还是10Mbit/s。

3.直接配置开销
在配置OSPF开销时,最可控但也最费力的方式是直接配置接口开销。具体方法是使用ip ospf cost value接口模式命令,并使用工程师选用的值代替最后一个参数。

8.4.3 验证OSPF开销设置
有几条命令可以显示多个接口的OSPF开销设置。例8-10显示了这几条命令,以及三种更改OSPF开销的方式。在此例中,我们已配置以下内容:

将参考带宽设置为了1000;
将接口S0/0/0.1带宽设置为了1000 kbps;
将接口Fa0/0的开销直接设置为17。
例8-10 设置了OSPS开销值的R3


6667c799c98795495e4c418f1580f1e8c6c597cc
相关文章
|
网络协议 数据安全/隐私保护 网络架构
|
网络架构 网络协议 Shell

热门文章

最新文章