由于路由器上可能同时运行多种动态路由协议,就存在各个路由协议之间路由信息共享和选择的问题。系统为每一种路由协议设置了不同的默认优先级,当不同协议中发现同一条路由时,协议优先级高的将被优选。
如果没有直接配置 OSPF 接口的开销值, OSPF 会根据该接口的带宽自动计算其开销值。计算公式为:接口开销=带宽参考值/接口带宽,取计算结果的整数部分作为接口开销值(当结果小于1时取1)。通过改变带宽参考值可以间接改变接口的开销值。
OSPF基于接口带宽计算开销,计算公式为:接口开销=带宽参考值÷带宽。带宽参考值可配置,缺省为100Mbit/s。以此,一个64kbit/s串口的开销为1562,一个E1接口(2.048 Mbit/s)的开销为48。
命令bandwidth-reference可以用来调整带宽参考值,从而可以改变接口开销,带宽参考值越大,开销越准确。在支持10Gbit/s速率的情况下,推荐将带宽参考值提高到10000Mbit/s来分别为10 Gbit/s、1 Gbit/s和100Mbit/s的链路提供1、10和100的开销。注意,配置带宽参考值时,需要在整个OSPF网络中统一进行调整。另外,还可以通过ospf cost命令来手动为一个接口调整开销,开销值范围是1~65535,缺省值为1。
OSPF 常见的计时器包括 Hello timer 和 Dead timer,分别决定了 OSPF 发送 Hello报文的间隔和保持邻居关系的计时器。
P2P、Broadcast 类型接口发送 Hello 报文的时间间隔为 10s, 邻居失效时间为 40s。
P2MP、NBMA 类型接口发送 Hello 报文的时间间隔为 30s, 邻居失效时间为 120s。
这是本次实验的拓扑图。全部Route都在area0。
每台Route更改名字和配置接口IP地址:
R1:
sy
sys R1
int g0/0/0
ip add 192.168.1.254 24
int g0/0/1
ip add 192.168.13.1 24
int s0/0/0
ip add 192.168.12.1 24
q
R2:
sy
sys R2
int s0/0/1
ip add 192.168.24.2 24
int s0/0/0
ip add 192.168.12.2 24
q
R3:
sy
sys R3
int g0/0/1
ip add 192.168.13.3 24
int g0/0/0
ip add 192.168.34.3 24
q
R4:
sy
sys R4
int g0/0/0
ip add 192.168.34.4 24
int g0/0/1
ip add 192.168.45.4 24
int s0/0/1
ip add 192.168.24.4 24
q
R5:
sy
sys R5
int g0/0/1
ip add 192.168.45.5 24
int g0/0/0
ip add 192.168.2.254 24
q
每台Route配置OSPF:
R1:
ospf
area 0
network 192.168.1.254 0.0.0.0
network 192.168.12.1 0.0.0.0
network 192.168.13.1 0.0.0.0
q
R2:
ospf
area 0
network 192.168.24.2 0.0.0.0
network 192.168.12.2 0.0.0.0
R3:
ospf
area 0
network 192.168.13.3 0.0.0.0
network 192.168.34.3 0.0.0.0
q
R4:
ospf
area 0
network 192.168.24.4 0.0.0.0
network 192.168.45.4 0.0.0.0
network 192.168.34.4 0.0.0.0
q
R5:
ospf
area 0
network 192.168.2.254 0.0.0.0
network 192.168.45.5 0.0.0.0
q
配置完成后,在R1 查看 192.168.2.0 路由条目,是通过 R3 走的。
现在要求通过 R2 走,可以通过手动修改cost 值的方法来实验路径选择。
OSPF 链路开销值是基于接口修改的,一定要在路由更新的入接口修改才生效。
R1:
int g0/0/1
ospf cost 5000
因为经过R2 的路径有两个串口,一个串口开销为1562,所以总开销为 3126,远小于经过R3 的 cost 值。
配置 OSPF 计时器:
在OSPF 协议中的网络类型为广播网络类型,即 Hello 报文的时间间隔为 10s, 邻居失效时间为 40s。可以修改为其它的数值。
配置R1的g0/0/1口的计时器:
R1:
int g0/0/1
ospf timer hello 20
ospf timer dead 80
等一会之后,R1 R3 的邻居中断,要求两个计时器一致才能建立邻居。
R3也同样配置计时器:
R3:
int g0/0/0
ospf timer hello 20
ospf timer dead 80
配置完成后,查看一下,hello报文的周期时间和失效时间都已改变。