IP : 开放最短路径优先 (OSPF)

OSPF:常见问题

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

本文档讨论与开放最短路径优先 (OSPF) 相关的最常见问题 (FAQ)。本文档仅涉及 OSPF 版本 2。OSPF版本3,介绍在Cisco IOS 软件版本12.0(24)S, 12.2(18)S和12.2(15)T,使用分配IP版本6 (IPv6)路由信息;本文档中未明确涉及 OSPF 版本 3。在本文档范围内,“OSPF”指的是 OSPF 版本 2,“IP”指的是 IP V4。

Q. OSPF 中为什么将环回作为 /32 主机路由通告?

A. 在 OSPF 中,环回被视为主机路由,并通告为 /32。有关详细信息,请参阅 RFC 2328 中的第 9.1 部分。leavingcisco.com 在 Cisco IOS 软件版本 11.3T 和 12.0 中,如果在环回下配置了 ip ospf network point-to-point 命令,OSPF 会将环回子网作为在环回上配置的实际子网通告。ISDN 拨号器接口通告 /32 子网,而不是其配置的子网掩码。如果配置了 ip ospf network point-to-multipoint,则这是期望的行为。

例如,请考虑两路由器(R1和R2)连接通过快速以太网接口。R1有用ip ospf network point-to-point命令配置的环回并且通告在OSPF的环回。

interface Loopback0
 ip address 1.1.1.1 255.255.255.0
 ip ospf network point-to-point

当登记路由器R2用show ip route ospf命令,路由1.1.1.1被看到如下:


!..output truncated

    
 1.0.0.0/24 is subnetted, 1 subnets

O       1.1.1.0 [110/11] via 10.1.1.1, 00:00:02, FastEthernet0/0

然而,当ip ospf network point-to-point命令从R1删除到0个接口时,在R2的路由1.1.1.1被看到如下:


1.0.0.0/32 is subnetted, 1 subnets

O       1.1.1.1 [110/11] via 10.1.1.1, 00:00:01, FastEthernet0/0

Q. 如何更改 OSPF 的参考带宽?

A. 在 Cisco IOS 软件版本 11.2 及更高版本中,可以在 router ospf 下面使用 ospf auto-cost reference-bandwidth 命令更改参考带宽。默认情况下,参考带宽为 100 Mbps。ospf链路开销是16位编号。所以,支持的最大值是65,535。

Q. OSPF 如何计算其度量或成本?

A. OSPF 使用参考带宽 100 Mbps 计算成本。计算成本的公式是用参考带宽除以接口带宽。例如,对于以太网,成本为 100 Mbps/10 Mbps = 10。

注意: 如果在接口上使用了 ip ospf cost cost,则它会覆盖用公式计算出的成本。欲知更多信息,参考OSPF开销

Q. 如果等价路由存在, OSPF使用什么算法?

A. 如果等价路由存在, OSPF使用CEF负载均衡。使用Cisco快速转发,欲知更多信息,参考在并行链路的故障排除负载均衡

Q. OSPF 路由协议交换是否经过身份验证?

A. 是,OSPF 可以对邻居之间交换的所有数据包进行身份验证。身份验证可能是通过简单的口令或通过 MD5 密码校验和进行。要为一个区域配置简单的口令验证,请使用命令 ip ospf authentication-key 将最多包含八个八位字节的口令分配给与该区域连接的每个接口。然后,对 OSPF 路由器配置发出 area x authentication 命令启用身份验证。(在该命令中,x 是区域号。)

Cisco IOS 软件版本 12.x 还支持在每个接口上单独启用身份验证。如果只想在某些接口上启用身份验证,或者如果要在属于同一区域的不同接口上使用不同的身份验证方法,请使用 ip ospf authentication 接口模式命令。

Q. 什么是链路状态重传间隔?用什么命令设置它?

A. OSPF 必须对新收到的每个链路状态通告 (LSA) 发送确认。它通过发送 LSA 数据包进行确认。LSA 会进行重传,直到确认为止。链路状态重传间隔定义两次重传所间隔的时间。可以使用命令 ip ospf retransmit-interval 设置重传间隔。默认值为 5 秒。

Q. 变量 IP-OSPF-Transmit-Delay 起什么作用?

A. 此变量用于在更新的 age 字段中添加指定的时间。如果在通过某个链路传输之前未增加延迟时间,则不会考虑链路状态通告 (LSA) 通过该链路传播所用的时间。默认值为 1 秒。此参数对于传输速度很低的链路更为重要。

Q. 在 OSPF 中是否只有虚拟链路的静态选项允许不连续网络,而与掩码传播属性无关?

A. 否,OSPF 中的虚拟链路用于维持从非骨干网区域到骨干网的连接,但它们并非不连续编址所必需的。OSPF 支持不连续网络是因为每个区域都包含一个网络集合,并且 OSPF 在每个通告中附加一个掩码。

Q. 多播 IP 地址是否将映射到 MAC 级别多播地址?

A. OSPF 使用多播编址发送所有通告。除令牌环外,多播 IP 地址都将映射到 MAC 级别多播地址。对于令牌环,Cisco 将多播 IP 地址映射到 MAC 级别广播地址。

Q. Cisco OSPF 实现是否支持基于 IP TOS 的路由?

A. Cisco OSPF 仅支持 TOS 0。这表示路由器在 TOS 0 路径上路由所有数据包,而不需要计算非零 TOS 路径。

Q. offset-list 子命令对 OSPF 起作用吗?

A. offset-list 命令对 OSPF 不起作用。该命令用于距离矢量协议,例如,内部网关路由协议 (IGRP)、路由信息协议 (RIP) 和 RIP 版本 2。

Q. 在本身没有 OSPF 默认路由的路由器上能否根据外部信息在系统中生成默认路由?

A. 仅当使用命令 default-information originate 配置了 OSPF 并且系统中存在来自另一个进程的默认网络时,OSPF 才生成默认路由。OSPF 中的默认路由为 0.0.0.0。如果想要启用了 OSPF 的路由器生成默认路由(即使该路由器本身没有默认路由也如此),请使用命令 default-information originate always

Q. 能否在 OSPF 中使用 distribute-list in/out 命令过滤路由?

A. OSPF 中支持 distribute-list 命令,但该命令在 OSPF 中的作用与在距离矢量路由协议(例如,路由信息协议 (RIP) 和增强型内部网关路由协议 (EIGRP))中不同。不能过滤 OSPF 路由使其无法进入 OSPF 数据库。distribute-list in 命令仅过滤路由使其无法进入路由表;它不能阻止链路状态数据包传播。因此,该命令不能帮助节省路由器内存,并且它不能禁止路由器将已过滤的路由传播到其他路由器。

警告 警告: 如果实施时不小心,在 OSPF 中使用 distribute-list in 命令可能会导致网络中形成路由环路。

命令 distribute-list out 仅对由自治系统边界路由器 (ASBR) 重分配到 OSPF 中的路由起作用。可以将该命令应用于外部类型 2 和外部类型 1 路由,但不能应用于域内路由和域间路由。

distribute-list in OSPF参考的配置示例

Q. 如何向 OSPF 域间路由赋予比域内路由更高的优先级?

A. 根据 RFC 2328 的第 11 部分,OSPF 路由的优先级顺序如下:leavingcisco.com

  • 域内路由,O

  • 域间路由,O IA

  • 外部路由类型 1,O E1

  • 外部路由类型 2,O E2

不能更改该优先级规则。但是,该规则仅在单个 OSPF 进程内适用。如果一个路由器正在运行多个 OSPF 进程,则会进行路由比较。路由比较是对 OSPF 进程的度量和管理距离(如果它们已更改)进行比较。比较两个不同的 OSPF 进程提供的路由时,会忽略路由类型。

Q. 是否必须用 OSPF neighbor 子命令为交换式多兆位数据服务 (SMDS) 网云上的路由器手动设置邻接?

A. 在 Cisco IOS 软件版本 10.0 之前的版本中,需要使用 neighbor 命令在非广播多路访问 (NBMA) 网络(例如,帧中继、X.25 和 SMDS)上建立邻接。对于 Cisco IOS 软件版本 10.0 及更高版本,可以使用 ip ospf network broadcast 命令将网络定义为广播网络,而不需要使用 neighbor 命令。如果使用的不是全网状 SMDS 网云,则必须使用 ip ospf network point-to-multipoint 命令。

Q. 在 OSPF 进程之间重分配路由时,是保留所有最短路径优先算法 (SPF) 度量还是使用默认度量值?

A. 保留 SPF 度量。在 OSPF 进程之间重分配就像在任意两个 IP 路由进程之间重分配一样。

Q. Cisco 如何在部分网状帧中继网络中实现 OSPF 路由?

A. 可以配置 OSPF,以了解 OSPF 是否应该尝试在多路访问接口上使用多播设备。此外,如果可以使用多播设备,OSPF 是否将其用于正常多播。

Cisco IOS 软件版本 10.0 包括称为子接口的功能。可以在帧中继中使用子接口,以便将一组虚拟电路 (VC) 结合在一起形成一个虚拟接口,该虚拟接口充当单个 IP 子网。该子网中的所有系统都应该是全网状的。对于 Cisco IOS 软件版本 10.3、11.0 及更高版本,ip ospf point-to-multipoint 命令也可用。

Q. 将未编号接口分配到一个区域时应该使用哪个地址通配符掩码对?

A. 配置未编号接口时,该接口将引用路由器上的另一个接口。在未编号接口上启用 OSPF 时,请使用未编号接口所指向的接口的地址通配符掩码对。

Q. OSPF 中能否对一端编号而对另一端保持不编号?

A. 否,如果对一端编号而对另一端不编号,则 OSPF 将不能工作。这会使 OSPF 数据库中存在矛盾,从而导致无法将路由安装在路由表中。

Q. 配置路由器 OSPF 1 时,为什么收到“cannot allocate router id”错误消息?

A. OSPF 选择最高的 IP 地址作为路由器 ID。如果配置了 IP 地址的接口都不处于 up/up 模式,则会返回该错误消息。要解决该问题,请配置环回接口。

Q. 配置路由器 OSPF 1 时,为什么收到“unknown routing protocol”错误消息?

A. 您的软件可能不支持 OSPF。使用 Cisco 1600 系列路由器时,最常出现此错误消息。如果您使用的是 1600 路由器,则需要 Plus 映像才能运行 OSPF。

Q. show ip ospf interface 命令输出中的状态 DR、BDR 和 DROTHER 表示什么意思?

A. DR 表示指定路由器。BDR 表示备份指定路由器。DROTHER 表示既不是 DR 也不是 BDR 的路由器。DR 生成网络链路状态通告,该通告列出网络中的所有路由器。

Q. 发出 show ip ospf neighbor 命令时,为什么只看到 FULL/DR 和 FULL/BDR,而对于所有其他邻居显示 2-WAY/DROTHER?

A. 为了减少广播媒体(例如,以太网、FDDI 和令牌环)上的泛洪量,路由器仅对于指定路由器 (DR) 和备份指定路由器 (BDR) 显示为 Full,而对于所有其他路由器显示为 2-WAY。

Q. 在串行链路上为什么看不到 FULL/DR 或 FULL/BDR 类型的 OSPF 邻居?

A. 这是正常现象。在点对点网络和点到多点网络中,没有指定路由器 (DR) 或备份指定路由器 (BDR)。

Q. 在 BRI/PRI 链路上运行 OSPF 是否需要使用任何特殊命令?

A. 除了正常的 OSPF 配置命令外,还应使用 dialer map 命令。使用 dialer map 命令时,请使用 broadcast 关键字指示应将广播转发给协议地址。

Q. 在异步链路上运行 OSPF 是否需要使用任何特殊命令?

A. 除了正常的 OSPF 配置命令外,还应在异步接口上使用 async default routing 命令。此命令使路由器能够通过异步接口将路由更新传递给其他路由器。此外,使用 dialer map 命令时,请使用 broadcast 关键字指示应将广播转发给协议地址。

Q. 哪个 Cisco IOS 软件版本开始支持 OSPF 中的每接口身份验证类型?

A. Cisco IOS 软件版本 12.0(8) 中增加了 RFC 2178 中说明的每接口身份验证类型。leavingcisco.com

Q. 向次末节区域 (NSSA) 导入外部路由时能否控制 P 位?

A. 向类型 7 链路状态通告 (LSA) 中的 NSSA 导入外部路由信息时,该类型 7 LSA 只有区域泛洪范围。为了进一步分发外部信息,类型 7 LSA 在 NSSA 边界转换为类型 5 LSA。类型 7 LSA Options 字段中的 P 位指示是否应转换类型 7 LSA。只有设置了 P 位的那些 LSA 才会转换。将信息重分配到 NSSA 中时,会自动设置 P 位。当自治系统边界路由器 (ASBR) 还充当区域边界路由器 (ABR) 时,有一种可能的解决方法。此时,NSSA ASBR 可以通过 not-advertise 关键字进行汇总,这导致不会通告已转换的类型 7 LSA。

Q. OSPF show 命令的响应为什么非常慢?

A. 发出 OSPF show 命令时,该命令的响应可能非常慢,但运行其他命令时不存在该问题。导致此延迟的最常见原因是在路由器上配置了 ip ospf name-lookup 配置命令。此命令导致路由器对所有 OSPF show 命令查找设备域名系统 (DNS) 名称,这样便于标识设备,但会使命令的响应时间变长。如果不仅仅是 OSPF show 命令的响应非常慢,运行其他命令时也存在相同问题,则可能需要查找其他可能的原因,比如 CPU 使用率是否过高。

Q. clear ip ospf redistribution 命令有何用途?

A. clear ip ospf redistribution 命令用于清除所有类型 5 和类型 7 链路状态通告 (LSA),并扫描路由表以查找重分配的路由。这使得网络上所有收到清除的/更新的 LSA 的路由器中存在部分最短路径优先算法 (SPF)。当期望的重分配路由不在 OSPF 中时,此命令可能有助于更新 LSA 并将该路由放入 OSPF 中。

Q. OSPF 是否会使不在同一子网中的邻居形成邻接?

A. 对于不在同一子网中的邻居,只有当这些邻居是通过点对点链路连接时,OSPF 才在它们之间形成邻接。使用 ip unnumbered 命令时可能需要那样做,但在所有其他情况下,邻居必须在同一子网中。

Q. OSPF 多长时间发送一次链路状态通告 (LSA)?

A. 当 LSA 老化时间达到链路状态刷新时间(1800 秒)时,OSPF 会发送其自己生成的 LSA。欲知更多信息,参考链路状态广播

Q. 在 OSPF 网络中如何阻止单个接口发展邻接?

A. 要在特定接口上阻止路由器成为 OSPF 邻居,请在该接口发出 passive-interface 命令。

在 Internet 服务提供商 (ISP) 和大型企业网络中,许多分发路由器都有超过 200 个接口。在 200 个接口中的每个接口上配置 passive-interface 是一项困难的任务。在这种情况下,默认解决方案是使用单个 passive-interface default 命令将所有接口配置为被动接口。然后,使用 no passive-interface 命令配置需要邻接的各个接口。有关详细信息,请参阅默认被动接口功能

passive-interface default 命令存在一些已知问题。Cisco Bug ID CSCdr09263仅限注册用户)中列出了相应的解决方法。

Q. 当 OSPF 数据库中对同一外部网络有两个类型 5 链路状态通告 (LSA) 时,应该在 IP 路由表中安装哪条路径?

A. 当 OSPF 数据库中对同一外部网络有两个类型 5 LSA 时,请优先选择到自治系统边界路由器 (ASBR) 具有最短路径的外部 LSA 并将它安装到 IP 路由表中。请使用 show ip ospf border-routers 命令检查到 ASBR 的成本。

Q. Cisco 1600 路由器为什么无法识别 OSPF 协议?

A. Cisco 1600 路由器需要 Cisco IOS 软件的 Plus 功能集映像才能运行 OSPF。有关详细信息,请参阅表 3:Cisco 1600 系列路由器功能集,该表位于 Cisco IOS 版本 11.2(11) 软件功能包发行版本注释(适用于 Cisco 1600 系列路由器)中。

Q. Cisco 800 路由器为什么不能运行 OSPF?

A. Cisco 800 路由器不支持 OSPF。但是,它们支持路由信息协议 (RIP) 和增强型内部网关路由协议 (EIGRP)。要获取有关功能支持的详细信息,请使用 Software Advisor仅限注册用户)工具。

Q. 在同一网络中的多个路由器上配置 OSPF 时,是否应使用相同进程号?

A. 与边界网关协议 (BGP) 或增强型内部网关路由协议 (EIGRP) 不同,在邻居路由器之间形成邻接并交换路由信息时,OSPF 不检查进程号(或自治系统编号)。仅当 OSPF 用作多协议标签交换 (MPLS) VPN 中提供商边缘到客户边缘 (PE-CE) 链路上的路由协议时,才会考虑 OSPF 进程号。PE 路由器使用派生自 OSPF 进程号的域属性标记 OSPF 路由,以指示该路由是源自同一 OSPF 域还是源自该域外部。如果 MPLS VPN 中的 PE 路由器上的 OSPF 进程编号不一致,则应该使用 domain-id OSPF 模式命令将具有不同编号的 OSPF 进程标记为属于同一 OSPF 域。

在许多实际情况下,这表示可以对网络中的同一 OSPF 域使用不同的自治系统编号。但是,应尽可能使用一致的 OSPF 进程编号。编号一致性可简化网络维护,并符合网络设计者的意图,将路由器保持在同一 OSPF 域中。

Q. 当路由器中同时运行 Cisco 快速转发 (CEF) 和 OSPF 时,如果与目标之间存在多条路径,由谁执行负载均衡?

A. CEF 的工作方式是根据路由协议(如 OSPF)所填充的路由表执行数据包的交换。计算路由协议表之后,CEF 会执行负载均衡。有关负载均衡的详细信息,请参阅负载均衡的工作原理?

Q. OSPF 如何使用两条多链路路径传输数据包?

A. OSPF 使用与带宽相关的度量 aCost。如果有成本相同的路径(两个多链路上的带宽相同),则 OSPF 会将这两个路由都安装在路由表中。路由表尝试均衡地使用这两个链路,而不管接口使用率如何。如果第一个多链路中的一个链路出现故障,OSPF 不会让所有流量通过第二个多链路发送。如果第一个多链路的峰值为 100%,OSPF 不会让任何流量通过第二个多链路发送,因为 OSPF 尝试均衡地使用两个链路,而不管接口使用率如何。只有在第一个多链路断开时,才会完全利用第二个多链路。

Q. 如何能迅速地发现拓扑变化?

A. 为了迅速地对拓扑变化进行故障检测,需要将 hello 计时器值设置为 1 秒。此外,还需要配置 hold 计时器值,该值是 hello 计时器值的四倍。如果设置的 hello 和 hold 计时器值小于其默认值,则路由流量可能会增多。

注意: 调整OSPF计时器也许导致网络设备资源在头顶上。思科推荐使用双向转发检测(BFD)而不是调整路由协议计时器。BFD也给分秒的收敛。BFD的参考的toOSPF支持在IPv4欲知更多信息。

Q. 3825 系列路由器是否支持 OSPF 末节功能?

A. 运行 Advanced IPServices 映像的 3800 系列路由器支持 OSPF 末节功能。

Q. 错误消息 %OSPF-4-FLOOD_WAR:Process process-id re-originates LSA ID ip address type-2 adv-rtr ip address in area area id 表示什么意思?

A. 对于正在刷新网络的某路由器,当由于路由器收到的网络 LSA 的 LSA ID 与该路由器的其中一个接口的 IP 地址相冲突,因此路由器将该 LSA 清理出网络时,会导致显示该错误消息。要使 OSPF 正常工作,中转网络的 IP 地址必须唯一。如果 IP 地址不是唯一的,出现冲突的路由器将报告该错误消息。在错误消息中,OSPF 路由器 ID 被报告为 adv-rtr 的路由器报告该消息。

Q. 能否在 GRE 隧道上运行 OSPF?

A. 可以,请参阅使用 OSPF 基于 IPSec 配置 GRE 隧道

Q. 有没有方式操作和更喜欢Type3 LSA起源于两个不同的区域发送对非骨干区域?

A. Type3 LSA由区域边界路由器(ABR)产生作为汇总路由。操作汇总路由不是可能的在ABR路由器。

Q. 有没有OSPF结邻的丢弃/摆动,当更改从nssa的OSPF区域类型no-summary对nssa时?

A. 当NSSA ABR配置从nssa移动no-summary向nssa时, OSPF结邻不摆动。

Q. 在%OSPF-5-ADJCHG中:进程ID,在Port-channel31的Nbr [ip-address]从FULL到EXSTART, SeqNumberMismatch错误消息, SeqNumberMismatch表示什么?

A. OSPF邻居是更改的状态从FULL到EXSTART由于一数据库描述(DBD)数据包的收据从邻居的用一个意外的序号。

SeqNumberMismatch意味着DBD信息包在OSPF的结邻协商时接收:

  • 有一个意外的DBD序号

  • 意外地安排Init位设置

  • 有有所不同与最后一个选项选项域的一个选项域接收在数据库描述数据包。

Q. 什么是OSPF进程(意识的VRF)最大在7600/6500平台?

A. Cisco IOS有32个路由进程限制。两这些为静态和直接地已连接路由保存。Cisco 7600路由器支持每个VRF 28个OSPF进程。

Q. ISPF如何影响或改进OSPF网络?

A. 递增SPF比全双工SPF算法是更有效的,从而允许OSPF聚合快速在回应的一个新的路由结构到网元。递增SPF设计,在这种情况下只更新受影响的节点,无需重建全部的树。因为未受影响的节点不需要处理,这导致一个快速收敛并且保存CPU周期。关于最佳实践ISPF将做更多一个大OSPF域的一差异。

递增SPF提供更加巨大的改进及时网络的收敛时间节点和链路大量。当变化在网络拓扑上是据SPT的根时,递增SPF也提供一个重大的优势;例如,越大网络越重大影响。400-1000节点的分段应该看到改进。然而,验证,不用测量端到端延迟的设备或工具在一个部署的生产网络也许是难。欲知更多信息,参考OSPF递增SPF

Q. 有没有方式比较思科NX-OS/IOS OSPF命令?

A. 是,参考思科NX-OS/IOS OSPF比较

Q. 有没有OSPF协议任何功能快速会聚的和路由缓慢的再收敛?

A. 在网络不稳定性期间, OSPF最短路径首先限制的功能使成为可能配置安排在毫秒间隔的SPF和潜在延迟SPF计算。当有一个变化在拓扑上时,安排SPF计算最短路径结构树(SPT)。

命令的语法在OSPF:下的

计时器节流孔spf [spf-start] [spf-hold] [spf-max-wait]

Where:

  • SPF开始—安排SPF计算的初始延迟在一个变化以后,在毫秒上。范围是从1到600000。

  • SPF保持—两个连续的SPF计算之间的最低的保持时间,以毫秒。范围是从1到600000。

  • SPF麦斯等待—在两个连续的SPF计算之间的最长等待时间,以毫秒。范围是1到600000。

关于OSPF限制的功能的更多信息,参考 OSPF 首先限制的最短路径

问。 什么执行在的BADSEQNUM %OSPF-5-NBRSTATE :ospf-101 [5330]进程101, Nbr 10.253.5.108 在Vlan7 02从FULL到EXSTART, BADSEQNUM OSPF日志消息 平均值?

A. 此消息与DBD交换过程涉及,使用a 数据库的同步的序号。由于某种原因坏 序号在DBD信息包报告。这也许发生由于 临时状态,包括包丢失或信息包损坏。

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 9237