FAQ-IGP路由如何计算路由的度量值Cost

发布时间:  2014-09-16 浏览次数:  651 下载次数:  0
问题描述
IGP路由如何计算路由的度量值Cost?
解决方案
IGP路由协议包括:RIP路由协议、IS-IS路由协议和OSPF路由协议。
RIP计算路由Cost的原则
RIP使用跳数(Hop Count)来衡量到达目的地址的距离,称为度量值。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定度量值取0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。
在缺省情况下,接口发送RIP路由信息是不额外增加Cost,但是在接口接收RIP路由信息时Cost值会增加1。可以执行以下命令改变接口在发送和接收时的Cost值。
 rip metricin用于在接收到路由后,给其增加一个附加Cost,再加入路由表中,使得路由表中的Cost发生变化。运行该命令会影响到本地设备和其他设备的路由选择。
 rip metricout用于自身路由的发布,发布时增加一个附加的Cost,但路由表中的Cost不会发生变化。运行该命令不会影响本地设备的路由选择,但是会影响其他设备的路由选择。

说明:当RIP引入其他外部路由协议时,可以通过以下三条命令指定引入路由的Cost,其优先级依次递减: 
 通过apply cost命令应用路由策略配置路由的Cost。
 通过import-route (RIP)命令设置引入路由的Cost。
 通过default-cost (RIP)命令设置缺省路由开销值。
IS-IS计算路由Cost的原则
在IS-IS网络中,IS-IS接口的链路Cost值缺省为10。那么,IS-IS路由的Cost表现为从本端设备到目的端设备最优路由所经过的所有链路Cost的总和。
IS-IS有三种方式来指定接口的Cost,按照优先级由高到低分别是:
 执行isis cost命令,为指定的IS-IS接口设置链路Cost。
 执行circuit-cost命令,为所有IS-IS接口设置链路Cost。
 执行auto-cost enable命令,使能自动计算IS-IS接口的链路Cost。
使用此命令时,需要先执行bandwidth-reference命令配置计算带宽的参考值。缺省情况下,带宽参考值为100,单位是Mbit/s。但是只有当开销类型为wide或wide-compatible时,配置的带宽参考值才是有效的,此时各接口的开销值=(bandwidth-reference/接口带宽值)×10。当开销类型为narrow、narrow-compatible或compatible时,各个接口的开销值根据表8-1来确定。
表8-1 IS-IS接口开销和带宽对应关系表

 
说明:当Level-1区域内的Level-1路由器只能通过Level-1–2路由器生成的缺省路由与Level-1区域外进行通信时,Level-1路由器到Level-1区域外路由的Cost表现为此Level-1路由器到最近的Level-1–2路由器的路由的Cost。
在IS-IS引入外部路由时,可以为引入的外部路由指定Cost,也可以指定引入的外部路由保留原有的路由Cost。
OSPF计算路由Cost的原则
与IS-IS类似,OSPF在计算路由的Cost时,也是将路由所经过的所有链路的Cost累加。不同的是,缺省情况下,OSPF接口链路Cost值为1。
通过执行ospf cost命令,可以为指定的OSPF接口配置Cost。如果没有通过此命令配置接口的Cost,还可以通过接口带宽自动计算接口Cost。计算公式为:接口开销=带宽参考值/接口带宽,取计算结果的整数部分作为接口开销值(当结果小于1时取1)。缺省情况下,带宽参考值为100Mbit/s。此时,通过执行bandwidth-reference命令改变带宽参考值就可以间接的改变OSPF接口的开销值。

说明:当Stub路由器到AS外部路由,Total Stub路由器到AS外部路由和Area间路由时,它们会通过距离最近的ABR生成的缺省路由转发出去。此时,Stub路由器到AS外部路由,Total Stub路由器到AS外部路由和Area间路由的Cost即为此路由器到最近的ABR的路由的Cost。NSSA路由器和Total NSSA路由器与之对应,即当该路由器需要通过ABR或ASBR生成的缺省路由与其他区域或其他AS通信时,此时路由的Cost即为路由器到最近ABR或ASBR的路由的Cost。

END