OSPF链路状态更新

时间:2022-08-07 11:13:19

链路状态更新 (LSU) 数据包用于 OSPF 路由更新。一个 LSU 数据包可能包含11类型的链路状态通告 (LSA),术语“链路状态更新 (LSU)”和“链路状态通告 (LSA)”之间的差异有时较难分清。有时,它们可以互换使用。一个 LSU 包含一个或多个 LSA,这两个术语中的任何一个都可用于表示由 OSPF 路由器传播的链路状态信息。

以下是LAS11种类型:

OSPF链路状态更新

OSPF算法

每台 OSPF 路由器都会维持一个链路状态数据库,其中包含来自其它所有路由器的 LSA。一旦路由器收到所有 LSA 并建立其本地链路状态数据库,OSPF 就会使用 Dijkstra 的最短路径优先 (SPF) 算法创建一个 SPF 树。随后,将根据 SPF 树,使用通向每个网络的最佳路径填充 IP 路由表。

管理距离:OSPF的管理距离(AD)是“110”。

身份验证:

与对其它路由协议一样,OSPF 也可进行身份验证配置。对传输的路由信息进行身份验证是好的做法。此做法可确保路由器仅接受配置有相同的口令和身份验证信息的其它路由器所发来的路由信息。

OSPF基本配置

Router ospf 命令:

process-id 是一个介于 1 65535 之间的数字,由网络管理员选定。process-id仅在本地有效,这意味着路由器之间建立相邻关系时无需匹配该值。

配置方法:

R1#conf t

R1(config)#router ospf 1

R1(config-router)#

Network 命令

OSPF 中的 network 命令与其它 IGP 路由协议中的 network 命令具有相同的功能:

l  路由器上任何符合 network 命令中的网络地址的接口都将启用,可发送和接收 OSPF 数据包。

l  此网络(或子网)将被包括在 OSPF 路由更新中。

Router(config-router)#network network-address wildcard-mask areaarea-id

area area-id OSPF 区域。OSPF 区域是共享链路状态信息的一组路由器。相同区域内的所有 OSPF 路由器的链路状态数据库中必须具有相同的链路状态信息,这通过路由器将各自的链路状态泛洪给该区域内的其它所有路由器来实现。(“ 0为骨干区域)

OSPF路由器ID

确定路由器 ID

OSPF 路由器 ID 用于唯一标识 OSPF 路由域内的每台路由器。Cisco 路由器按下列顺序根据下列三个条件确定路由器 ID

l  使用通过 OSPF router-id 命令配置的 IP 地址。

l  如果未配置 router-id,则路由器会选择其所有环回接口的最高 IP 地址。

l  如果未配置环回接口,则路由器会选择其所有物理接口的最高活动 IP 地址。

OSPF router-id 命令

Router(config)#router ospf process-id    //进入OSPF配置模式

Router(config-router)#router-id ip-address  //配置Router-id

修改路由器 ID

使用:Router#clear ip ospf process 命令来重启OSPF进程,然后去修改你想要的Router-id

重复的路由器 ID

当同一个 OSPF 路由域内的两台路由器具有相同的路由器 ID 时,将无法正常路由。如果两台相邻路由器的路由器 ID 相同,则无法建立相邻关系。当出现重复的 OSPF 路由器 ID 时,IOS 将显示一条类似下列的消息:

%OSPF-4-DUP_RTRID1:Detected router with duplicate router ID

验证Router-id:使用show ip protocols来验证。

验证OSPF

              show ip ospf neighbor 命令可用于验证 OSPF 相邻关系并排除相应的故障。此命令为每个邻居显示下列输出:

l  Neighbor ID 该相邻路由器的路由器 ID

l  Pri 该接口的 OSPF 优先级。

l  State 该接口的 OSPF 状态。FULL 状态表明该路由器和其邻居具有相同的 OSPF 链路状态数据库。

l  Dead Time 路由器在宣告邻居进入 down(不可用)状态之前等待该设备发送 Hello 数据包所剩余的时间。此值在该接口收到 Hello 数据包时重置。

l  Address 该邻居用于与本路由器直连的接口的 IP 地址。

l  Interface 本路由器用于与该邻居建立相邻关系的接口。

l   

在下列情况下,两台路由器不会建立 OSPF 相邻关系:

l  子网掩码不匹配,导致该两台路由器分处于不同的网络中。

l  OSPF Hello 计时器或 Dead 计时器不匹配。

l  OSPF 网络类型不匹配。

l  存在信息缺失或不正确的 OSPF network 命令。

其它功能强大的 OSPF 故障排除命令包括:

show ip protocols    

可用于快速验证关键 OSPF 配置信息,其中包括 OSPF 进程 ID、路由器 ID、路由器正在通告的网络、正在向该路由器发送更新的邻居以及默认管理距离

show ip ospf   

命令也可用于检查 OSPF 进程 ID 和路由器 ID,此外,还可显示 OSPF 区域信息以及上次计算 SPF 算法的时间。

路由器每次收到有关拓扑的新信息时,必须重新运行 SPF 算法,SPF 算法会占用很多 CPU 资源。以下信息是使用show ip ospf的输出。

Initial SPF schedule delay 5000 msecs

Minimum hold time between two consecutive SPFs 10000 msecs

Maximum wait time between two consecutive SPFs 10000 msecs

状态在 up down 之间来回变化的网络称为链路不稳。链路不稳会导致区域内的 OSPF 路由器持续重新计算 SPF 算法,从而无法正确收敛。为尽量减轻此问题,路由器在收到一个 LSU 后,会等待 5 秒(5000 毫秒)才运行 SPF 算法。这样可以防止路由器持续运行 SPF 算法,还存在一个 10 秒(10000 毫秒)的保留时间。路由器运行完一次 SPF 算法后,会等待 10 秒才再次运行该算法。

show ip ospf interface

     此命令用于检验 Hello 间隔和 Dead 间隔的最快方法。Cost就是开销值。

检查路由表

使用show ip route 命令可用于检验路由器是否正在通过 OSPF 发送和接收路由。每条路由开头的 O 表示路由来源为 OSPF

OSPF度量

    OSPF 度量称为开销RFC 2328 中有下列描述:“开销与每个路由器接口的输出端关联。系统管理员可配置此开销。开销越低,该接口越可能被用于转发数据流量。”

    Cisco IOS 使用从路由器到目的网络沿途的传出接口的累积带宽作为开销值。

图示为各种接口的默认 OSPF 开销。

OSPF链路状态更新

参考带宽

参考带宽默认为 10 8 次幂,即 100,000,000 bps,亦即 100 Mbps。这使带宽等于或大于 100 Mbps 的接口具有相同的 OSPF 开销 1

可使用 OSPF 命令 auto-cost reference-bandwidth 修改参考带宽值。如果需要使用此命令,则建议同时用在所有路由器上,以使 OSPF 路由度量保持一致。

OSPF 累计开销

    OSPF 路由的开销为从路由器到目的网络的累计开销值。(就是说源地址到目的地址中间经过的所有路径的开销值进行相加)

修改链路的开销

bandwidth 接口命令或 ip ospf cost 接口命令都可用于达到此目的 使 OSPF 在确定最佳路由时使用准确的值。(要该就要两端都要改)

Router(config-if)#bandwidth bandwidth-kbps //修改接口的带宽参数。

Router(config-if)# ip ospf cost “加数字   //命令则直接将链路开销设置为特定值并免除了计算过程。