本文档讨论与开放最短路径优先 (OSPF) 相关的最常见问题 (FAQ)。 本文档仅涉及 OSPF 版本 2。在 Cisco IOS® 软件版本 12.0(24)S、12.2(18)S 和 12.2(15)T 中引入的 OSPF 版本 3 用于分发 IP V6 路由信息;本文档中未明确涉及 OSPF 版本 3。在本文档范围内,“OSPF”指的是 OSPF 版本 2,“IP”指的是 IP V4。
答:环回在OSPF中被视为主机路由,并通告为/32。有关详细信息,请参阅RFC 2328的第9.1节 。在 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当使用show ip route ospf命令检入路由器R2时,路由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
答:您可以在Cisco IOS软件版本11.2及更高版本中使用router ospf下的ospf auto-cost reference-bandwidth命令更改参考带宽。默认情况下,参考带宽为 100 Mbps。ospf链路开销是16位数。因此,支持的最大值为65,535。
答:OSPF使用100 Mbps的参考带宽来计算开销。计算成本的公式是用参考带宽除以接口带宽。例如,对于以太网,成本为 100 Mbps/10 Mbps = 10。
A.如果存在等价路由,OSPF将使用CEF负载均衡。有关详细信息,请参阅使用Cisco快速转发对并行链路上的负载均衡进行故障排除。
答:是,OSPF可以验证邻居之间交换的所有数据包。身份验证可能是通过简单的口令或通过 MD5 密码校验和进行。要为一个区域配置简单的口令验证,请使用命令 ip ospf authentication-key 将最多包含八个八位字节的口令分配给与该区域连接的每个接口。然后,对 OSPF 路由器配置发出 area x authentication 命令启用身份验证。(在该命令中,x 是区域号。)
Cisco IOS 软件版本 12.x 还支持在每个接口上单独启用身份验证。如果只想在某些接口上启用身份验证,或者如果要在属于同一区域的不同接口上使用不同的身份验证方法,请使用 ip ospf authentication 接口模式命令。
答:OSPF必须发送每个新接收的链路状态通告(LSA)的确认。 它通过发送 LSA 数据包进行确认。LSA 会进行重传,直到确认为止。链路状态重传间隔定义两次重传所间隔的时间。可以使用命令 ip ospf retransmit-interval 设置重传间隔。默认值为 5 秒。
A.此变量将指定的时间添加到更新的老化时间字段。如果在通过某个链路传输之前未增加延迟时间,则不会考虑链路状态通告 (LSA) 通过该链路传播所用的时间。默认值为 1 秒。此参数对于传输速度很低的链路更为重要。
答:不,OSPF中的虚拟链路会保持从非主干区域到主干的连接,但不需要这些链路来进行不连续寻址。OSPF 支持不连续网络是因为每个区域都包含一个网络集合,并且 OSPF 在每个通告中附加一个掩码。
答:OSPF使用组播编址发送所有通告。除令牌环外,多播 IP 地址都将映射到 MAC 级别多播地址。对于令牌环,Cisco 将多播 IP 地址映射到 MAC 级别广播地址。
答: Cisco OSPF仅支持TOS 0。这意味着路由器在TOS 0路径上路由所有数据包,无需计算非零TOS路径。
A. offset-list命令对OSPF不起作用。该命令用于距离矢量协议,例如,内部网关路由协议 (IGRP)、路由信息协议 (RIP) 和 RIP 版本 2。
答:仅当使用命令default-information originate配置OSPF,并且框中有来自不同进程的默认网络时,OSPF才会生成默认网络。OSPF中的默认路由是0.0.0.0。如果希望启用OSPF的路由器生成默认路由,即使它本身没有默认路由,请始终使用default-information originate命令。
答:OSPF支持distribute-list命令,但其工作方式与距离矢量路由协议(如路由信息协议(RIP)和增强型内部网关路由协议(EIGRP))不同。不能过滤 OSPF 路由使其无法进入 OSPF 数据库。distribute-list in 命令仅过滤路由使其无法进入路由表;它不能阻止链路状态数据包传播。因此,该命令不能帮助节省路由器内存,并且它不能禁止路由器将已过滤的路由传播到其他路由器。
注意:如果未仔细实施,在OSPF中使用distribute-list in命令可能会导致网络中的路由环路。
命令 distribute-list out 仅对由自治系统边界路由器 (ASBR) 重分配到 OSPF 中的路由起作用。可以将该命令应用于外部类型 2 和外部类型 1 路由,但不能应用于域内路由和域间路由。
请参阅OSPF中distribute-list的配置示例,
A.根据RFC 2328第11节 ,OSPF路由的优先顺序为:
域内路由,O
域间路由,O IA
外部路由类型 1,O E1
外部路由类型 2,O E2
不能更改该优先级规则。但是,该规则仅在单个 OSPF 进程内适用。如果一个路由器正在运行多个 OSPF 进程,则会进行路由比较。路由比较是对 OSPF 进程的度量和管理距离(如果它们已更改)进行比较。比较两个不同的 OSPF 进程提供的路由时,会忽略路由类型。
答:在早于Cisco IOS软件版本10.0的Cisco IOS软件版本中,需要neighbor 命令在非广播多路访问(NBMA)网络(如帧中继、X.25和SMDS)上建立邻接关系。 对于 Cisco IOS 软件版本 10.0 及更高版本,可以使用 ip ospf network broadcast 命令将网络定义为广播网络,而不需要使用 neighbor 命令。如果使用的不是全网状 SMDS 网云,则必须使用 ip ospf network point-to-multipoint 命令。
A.保留SPF度量。在 OSPF 进程之间重分配就像在任意两个 IP 路由进程之间重分配一样。
答:您可以配置OSPF以了解它是否应尝试在多路访问接口上使用组播设施。此外,如果可以使用多播设备,OSPF 是否将其用于正常多播。
Cisco IOS 软件版本 10.0 包括称为子接口的功能。可以在帧中继中使用子接口,以便将一组虚拟电路 (VC) 结合在一起形成一个虚拟接口,该虚拟接口充当单个 IP 子网。该子网中的所有系统都应该是全网状的。对于 Cisco IOS 软件版本 10.3、11.0 及更高版本,ip ospf point-to-multipoint 命令也可用。
答:配置未编号的接口时,它会引用路由器上的另一个接口。在未编号接口上启用 OSPF 时,请使用未编号接口所指向的接口的地址通配符掩码对。
答:不,如果一端已编号,另一端未编号,则OSPF不起作用。这会使 OSPF 数据库中存在矛盾,从而导致无法将路由安装在路由表中。
答:OSPF将最高的IP地址作为路由器ID。如果配置了 IP 地址的接口都不处于 up/up 模式,则会返回该错误消息。要解决该问题,请配置环回接口。
答:您的软件可能不支持OSPF。使用 Cisco 1600 系列路由器时,最常出现此错误消息。如果您使用的是 1600 路由器,则需要 Plus 映像才能运行 OSPF。
A. DR指指定路由器。BDR 表示备份指定路由器。DROTHER 表示既不是 DR 也不是 BDR 的路由器。DR 生成网络链路状态通告,该通告列出网络中的所有路由器。
A.为减少广播介质(如以太网、FDDI和令牌环)的泛洪量,路由器只使用指定路由器(DR)和备用指定路由器(BDR),并显示所有其他路由器的2-WAY。
这是正常的。在点对点网络和点到多点网络中,没有指定路由器 (DR) 或备份指定路由器 (BDR)。
答:除了普通的OSPF配置命令外,您还应使用dialer map命令。使用 dialer map 命令时,请使用 broadcast 关键字指示应将广播转发给协议地址。
答:除常规OSPF配置命令外,您还应在异步接口上使用async default routing命令。此命令使路由器能够通过异步接口将路由更新传递给其他路由器。此外,使用 dialer map 命令时,请使用 broadcast 关键字指示应将广播转发给协议地址。
A. RFC 2178中所述的每接口身份验证类型 ,已在Cisco IOS软件版本12.0(8)中添加。
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。
答:发出OSPF show命令时,您可能会遇到响应缓慢,但使用其他命令时不会。导致此延迟的最常见原因是在路由器上配置了 ip ospf name-lookup 配置命令。此命令导致路由器对所有 OSPF show 命令查找设备域名系统 (DNS) 名称,这样便于标识设备,但会使命令的响应时间变长。如果不仅仅是 OSPF show 命令的响应非常慢,运行其他命令时也存在相同问题,则可能需要查找其他可能的原因,比如 CPU 使用率是否过高。
A. clear ip ospf redistribution命令可刷新所有类型5和类型7链路状态通告(LSA),并扫描路由表以查找重分发的路由。这使得网络上所有收到清除的/更新的 LSA 的路由器中存在部分最短路径优先算法 (SPF)。当期望的重分配路由不在 OSPF 中时,此命令可能有助于更新 LSA 并将该路由放入 OSPF 中。
答:OSPF在不在同一子网的邻居之间建立邻接关系的唯一时间是邻居通过点对点链路连接。使用 ip unnumbered 命令时可能需要那样做,但在所有其他情况下,邻居必须在同一子网中。
答:当LSA老化时间达到链路状态刷新时间(1800秒)时,OSPF会发出其自发LSA。有关详细信息,请参阅链路状态通告。
答:要阻止路由器在特定接口上成为OSPF邻居,请在接口上发出passive-interface命令。
在 Internet 服务提供商 (ISP) 和大型企业网络中,许多分发路由器都有超过 200 个接口。在 200 个接口中的每个接口上配置 passive-interface 是一项困难的任务。在这种情况下,默认解决方案是使用单个 passive-interface default 命令将所有接口配置为被动接口。然后,使用 no passive-interface 命令配置需要邻接的各个接口。有关详细信息,请参阅默认被动接口功能。
passive-interface default 命令存在一些已知问题。Cisco Bug ID CSCdr09263 (仅限注册用户)中列出了相应的解决方法。
A.当OSPF数据库中同一外部网络有两个第5类LSA时,首选具有到自治系统边界路由器(ASBR)的最短路径的外部LSA,并将其安装到IP路由表中。请使用 show ip ospf border-routers 命令检查到 ASBR 的成本。
答:Cisco 800路由器不支持OSPF。但是,它们支持路由信息协议 (RIP) 和增强型内部网关路由协议 (EIGRP)。 要获取有关功能支持的详细信息,请使用 Software Advisor(仅限注册用户)工具。
答:与边界网关协议(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 域中。
答: CEF的工作方式是根据由路由协议(如OSPF)填充的路由表执行数据包交换。计算路由协议表之后,CEF 会执行负载均衡。有关负载均衡的详细信息,请参阅负载均衡的工作原理?
答:OSPF使用与带宽相关的度量aCost。如果有成本相同的路径(两个多链路上的带宽相同),则 OSPF 会将这两个路由都安装在路由表中。路由表尝试均衡地使用这两个链路,而不管接口使用率如何。如果第一个多链路中的一个链路出现故障,OSPF 不会让所有流量通过第二个多链路发送。如果第一个多链路的峰值为 100%,OSPF 不会让任何流量通过第二个多链路发送,因为 OSPF 尝试均衡地使用两个链路,而不管接口使用率如何。只有在第一个多链路断开时,才会完全利用第二个多链路。
答:为了快速检测拓扑更改的故障,hello计时器值需要设置为1秒。此外,还需要配置 hold 计时器值,该值是 hello 计时器值的四倍。如果设置的 hello 和 hold 计时器值小于其默认值,则路由流量可能会增多。
注意:调整OSPF计时器可能导致网络和设备资源开销。思科建议使用双向转发检测(BFD),而不是调整路由协议计时器。BFD也提供亚秒收敛。有关详细信息,请参阅OSPF对IPv4上BFD的支持。
答:是,运行高级IPServices映像的3800系列路由器支持OSPF末节功能。
A. 错误消息是由于某台路由器正在刷新网络LSA,因为其LSA ID的路由器收到的网络LSA与路由器一个接口的IP地址冲突,并将LSA刷新出网络。要使 OSPF 正常工作,中转网络的 IP 地址必须唯一。如果 IP 地址不是唯一的,出现冲突的路由器将报告该错误消息。在错误消息中,OSPF 路由器 ID 被报告为 adv-rtr 的路由器报告该消息。
答:是,请参阅使用OSPF在IPSec上配置GRE隧道。
A.第3类LSA由区域边界路由器(ABR)作为总结路由产生。在ABR路由器中,无法控制总结路由。
答:当NSSA ABR配置为从nssa no-summary移动到nssa时,OSPF邻居关系不会抖动。
A.由于收到来自具有意外序列号的邻居的数据库描述(DBD)数据包,OSPF邻居的状态从FULL更改为EXSTART。
SeqNumberMismatch表示在OSPF邻居协商期间收到的DBD数据包中,以下任一项:
具有意外的DBD序列号
意外地设置了Init位
具有与数据库说明数据包中收到的最后一个选项字段不同的选项字段。
答:Cisco IOS的路由进程数限制为32个。其中两条保存为静态路由和直连路由。Cisco 7600路由器支持每个VRF28个OSPF进程。
答:增量SPF比完整SPF算法更有效,因此OSPF可以更快地收敛到新的路由拓扑中,以响应网络事件。增量SPF的设计方式是,它只更新受影响的节点,而不重建整个树。这会加快收敛速度并节省CPU周期,因为不受影响的节点不需要处理。在最佳实践中,ISPF对于大型OSPF域来说更有意义。
增量SPF可为具有大量节点和链路的网络提供更大的收敛时间。当网络拓扑中的更改远离SPT根时,增量SPF也提供了显着优势;例如,网络越大,影响越显着。一个包含400-1000个节点的网段应该有所改进。但是,在部署的生产网络中,如果没有某种设备或工具来测量端到端延迟,可能很难进行验证。有关详细信息,请参阅OSPF增量SPF。
答:是,请参阅Cisco NX-OS/IOS OSPF比较。
答:OSPF最短路径优先限制功能使SPF调度能够以毫秒间隔进行配置,并可能在网络不稳定期间延迟SPF计算。SPF计划在拓扑发生变化时计算最短路径树(SPT)。
OSPF下命令的语法:
timers throttle spf [spf-start] [spf-hold] [spf-max-wait]
其中:
spf-start — 更改后计划SPF计算的初始延迟(以毫秒为单位)。范围为1至600000。
spf-hold — 两个连续SPF计算之间的最短保持时间(以毫秒为单位)。范围为1至600000。
spf-max-wait — 两个连续SPF计算之间的最长等待时间(以毫秒为单位)。范围为 1 到 600000。
有关OSPF限制功能的详细信息,请参阅OSPF最短路径优先限制。
A.此消息与DBD交换进程相关,该进程使用序列号来同步数据库。由于某种原因,DBD数据包中报告了错误的序列号。这可能是由于瞬时情况(包括丢包或数据包损坏)导致的。