OSPF 路由 cost介绍


OSPF路由 在OSPF协议中,去往一个目的地,途径的每一条链路的Cost计算是在发送时加上该端口Cost,接收时不加。比如要对R1去往<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />12.1.1.2的路由的Metric进行修改,那么一个可行的方法就是修改R1本地出口的带宽值,修改对端接口不会使Cost值变化。修改的命令为(config-if)# bandwith 1000(kbit)

OSPF中的度量值Cost = 100Mb / Bandwith,如今带宽已发展到G比特时代,以100M作为参考值会使大于100M的链路开销都为1,因为OSPF不识别小数(四舍五入为1),这样不利于选路,建议用命令改为10G :(config-router)# auto-cost reference-bandwith 10000

OSPF在选路时的优先级:O > O IA > O E1 > O E2   即当去往一个目的地存在多条路径时,Area内路由 > Area间路由 > 外部路由类型1 > 外部路由类型2, 同等路由类型时再比较Cost大小,这样的规则不顾实际的带宽而只按优先级行事,有可能造成次优选路。

另一个造成次优选路的原因是信息缺失,就以OSPF中的Stub和Total Stub来具体分析一下(NSSA和Total NSSA可分别与其对应)。Stub区域缺失的信息是外部路由,所以当Stub路由器有数据发往外部的时候,只能依靠ABR,而当一个Stub区域存在多个ABR的时候,会选择最近的ABR作为出口(等距的话就会形成负载均衡,前提是关闭CEF),但是这样并没有考虑到各ABR到ASBR的开销,即用部分 cost代替整体cost来选择路径,显然是片面的;而Total Stub由于只有本Area的信息,对ABR更为依赖,即使在Area间路由的时候也可能会发生这样的次优选路。

简单来讲,Stub路由器进行AS外部路由,Total Stub路由器进行AS外部路由和Area间路由时都认为: 总Cost = 自己到最近的ABR的Cost

当其他IGP协议重发布进OSPF时用的命令是 redistribute rip subnets metric-type 1/2 ,关键字“subnets” 使OSPF接受重发布进来的无类路由,如果不加,就只会发布主类网络,比如3.0.0.0/8可以重发布进来,而13.1.1.0/24就会被Pass 掉。而重发布的路由类型可以是E1或E2,E1要优于E2,因为E1加上了本地到ASBR的Cost,信息更准确,E2就没有考虑这些,所有重发布进来的路由默认Cost都是20。




PS:/32位主机路由




从路由的角度来看,不需要/32主机路由,但是从OSPF的SPF来看,如果在point-to-point,point-to-multipoint网络中收到的LSA的ADV是本接口网络的路由器,但又没有形成相应的邻接关系,就会认为“no reachable 不可达"。产生/32位的主机路由就是让SPF的运算网开一面,即使在“一个网络里”邻居没形成全,对应有/32路由的情况下,也认为ADV已经可达。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />