简介
本文档介绍与开放最短路径优先(OSPF)协议相关的最常见问题(FAQ)。
背景信息
本文档仅涉及 OSPF 版本 2。Cisco IOS®软件版本12.0(24)S、12.2(18)S和12.2(15)T中引入的OSPF版本3用于分发IP版本6路由信息;本文档中未明确涉及 OSPF 版本 3。在本文档范围内,“OSPF”指的是 OSPF 版本 2,“IP”指的是 IP V4。
问:为什么在OSPF中将环回通告为/32主机路由?
A.环回在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)通过FastEthernet接口连接。R1使用命令配置了环回ip ospf network point-to-point
,并在OSPF中通告环回。
interface Loopback0
ip address 10.1.1.1 255.255.255.0
ip ospf network point-to-point
使用命令在路由器R2show ip route ospf
中检查时,路由10.1.1.1显示为:
!..output truncated
10.0.0.0/24 is subnetted, 1 subnets
O 10.1.1.0 [110/11] via 10.1.1.1, 00:00:02, FastEthernet0/0
但是, ip ospf network point-to-point
从R1到0的接口删除命令后,R2上的路由10.1.1.1将如下所示:
10.0.0.0/32 is subnetted, 1 subnets
O 10.1.1.1 [110/11] via 10.1.1.1, 00:00:01, FastEthernet0/0
问:如何更改OSPF中的参考带宽?
答:您可以使用下面的命令更改Cisco IOS软件版本11.2及更高版本中的参 ospf auto-cost reference-bandwidth
考带宽router ospf
。默认情况下,参考带宽为 100 Mbps。ospf link-cost是一个16位数字。因此,支持的最大值为65,535。
问:OSPF如何计算其度量或开销?
A.OSPF使用100 Mbps的参考带宽计算开销。计算成本的公式是用参考带宽除以接口带宽。例如,对于以太网,成本为 100 Mbps/10 Mbps = 10。
注意:如果 ip ospf cost cost
在接口上使用,它将覆盖此公式化开销。有关详细信息,请参阅OSPF开销。
问:如果存在等价路由,OSPF将使用什么算法?
A.如果存在等价路由,OSPF将使用CEF负载均衡。有关详细信息,请参阅使用Cisco快速转发排除并行链路上的负载均衡故障。
问:OSPF路由协议交换是否经过身份验证?
答:是,OSPF可以验证邻居之间交换的所有数据包。身份验证可以通过简单密码或MD5加密校验和。要为区域配置简单密码身份验证,请使用命令 ip ospf authentication-key
,为连接到区域的每个接口分配最多八个八位组的密码。然后发出 area x authentication
命令启用OSPF路由器配置以启用身份验证。(在命令中,xis区域编号。)
Cisco IOS软件版本12.x还支持并启用每个接口的身份验证。如果只想在某些接口上启用身份验证,或者希望在属于同一区域的不同接口上使用不同的身份验证方法,请使用ip ospf authentication
interface mode命令。
问:链路状态重传间隔是多少,使用什么命令设置它?
A.OSPF必须发送对每个新收到的链路状态通告(LSA)的确认。 因此,它会发送LSA数据包。LSA 会进行重传,直到确认为止。链路状态重传间隔定义两次重传所间隔的时间。您可以使用命令ip ospf retransmit-interval
,设置重新传输间隔。默认值为 5 秒。
问:变量IP-OSPF-Transmit-Delay有什么作用?
A.此变量将指定的时间添加到更新的年龄字段。如果在通过某个链路传输之前未增加延迟时间,则不会考虑链路状态通告 (LSA) 通过该链路传播所用的时间。默认值为 1 秒。此参数对于传输速度很低的链路更为重要。
问:无论掩码传播属性如何,OSPF中只有虚拟链路的static选项允许不连续的网络吗?
答:不,OSPF中的虚拟链路保持从非主干区域到主干的连接,但它们对于不连续编址来说不是必需的。OSPF支持不连续网络,因为每个区域都有网络集合,并且OSPF会在每个通告上附加一个掩码。
问:组播IP地址是否映射到MAC级组播地址?
A.OSPF发送所有带有组播寻址的通告。除令牌环外,多播 IP 地址都将映射到 MAC 级别多播地址。对于令牌环,Cisco 将多播 IP 地址映射到 MAC 级别广播地址。
问:Cisco OSPF实施是否支持基于IP TOS的路由?
A.Cisco OSPF仅支持TOS 0。这意味着路由器会路由TOS 0路径上的所有数据包,这样就无需计算非零TOS路径。
问: offset-listsubcommand是否适用于OSPF?
A.此命令 offset-list
对OSPF不起作用。该命令用于距离矢量协议,例如,内部网关路由协议 (IGRP)、路由信息协议 (RIP) 和 RIP 版本 2。
问:能否根据路由器本身没有默认设置的外部信息将OSPF默认设置引入系统?
A.OSPF仅当使用命令配置它default-information originate
时,并且如果机箱中有来自不同进程的默认网络,OSPF才会生成默认网络。OSPF中的默认路由是0.0.0.0。如果您希望启用了OSPF的路由器生成默认路由(即使它本身没有默认路由),请使用命令default-information originate always
。
问:是否可以将distribute-list in/outcommand与OSPF一起使用来过滤路由?
A.OSPF distribute-list
支持这些命令,但其工作方式与距离矢量路由协议(如路由信息协议[RIP]和增强型内部网关路由协议[EIGRP])不同。OSPF路由进入OSPF数据库时无法过滤。命distribute-list in
令仅过滤路由,使它们不进入路由表;它不会阻止链路状态数据包的传播。因此,此命令不会节约路由器内存,而且不会禁止路由器从过滤的路由传播到其他路由器。
注意:如果未小心 distribute-list in
实施,在OSPF中使用命令可能会导致网络中的路由环路。
commanddistribute-list只对由自治系统边界路由器(ASBR)重分发到OSPF的路由起作用。它可以适用于外部第2类型和外部第1类型路由,但不适用于区域内和区域间路由。
请参阅configuration example of distribute-list
OSPF中的,
问:如何能将OSPF区域间路由优先于区域内路由?
A.从RFC 2328的第11节中,OSPF路由的优先顺序为:
-
域内路由,O
-
区域间路由,O IA
-
外部路由类型 1,O E1
-
外部路由类型 2,O E2
不能更改该优先级规则。但是,该规则仅在单个 OSPF 进程内适用。如果路由器运行多个OSPF进程,则会进行路由比较。路由比较是对 OSPF 进程的度量和管理距离(如果它们已更改)进行比较。比较两个不同的 OSPF 进程提供的路由时,会忽略路由类型。
问:我是否需要使用OSPFneighbors子命令为交换式多兆位数据服务(SMDS)云上的路由器手动设置邻接关系?
答:在Cisco IOS软件版本10.0之前的Cisco IOS软件版本中,在非广播多路访问(NBMA)网络(例如帧中继、X.25和SMDS)上建立邻接关系时需要neighbor
命令。 在Cisco IOS软件版本10.0及更高版本中,您可以使用ip ospf network broadcastcommand将网络定义为广播网络,这样就无需使用此neighbor
命令。如果不使用全网状SMDS云,则必须使用命ip ospf network point-to-multipoint
令。
问:在OSPF进程之间重分布路由时,是否保留了所有最短路径优先算法(SPF)度量,还是使用了默认度量值?
A.保留SPF度量。在 OSPF 进程之间重分配就像在任意两个 IP 路由进程之间重分配一样。
问:Cisco如何适应部分网状帧中继网络上的OSPF路由?
答:您可以配置OSPF,以了解它是否必须尝试在多路访问接口上使用组播设施。此外,如果可以使用多播设备,OSPF 是否将其用于正常多播。
Cisco IOS 软件版本 10.0 包括称为子接口的功能。可以在帧中继中使用子接口,以便将一组虚拟电路 (VC) 结合在一起形成一个虚拟接口,该虚拟接口充当单个 IP 子网。子网内的所有系统必须全网状。对于Cisco IOS软件版本10.3、11.0及更高版本ip ospf point-to-multipoint
,也可使用该命令。
问:分配未编号接口到区域时必须使用哪个地址通配符掩码对?
A.配置无编号接口时,它会引用路由器上的另一个接口。在未编号接口上启用OSPF时,使用未编号接口指向的接口地址通配符掩码对。
问:在OSPF中,我能否有一侧编号而另一侧未编号?
A.否,如果一端已编号,另一端未编号,则OSPF不起作用。这会导致OSPF数据库中存在不一致,从而阻止将路由安装到路由表中。
问:配置路由器OSPF One时,为什么会收到“cannot allocate router id”错误消息?
A.OSPF将最大的IP地址作为路由器ID。如果配置了 IP 地址的接口都不处于 up/up 模式,则会返回该错误消息。要解决该问题,请配置环回接口。
问:配置路由器OSPF One时,为什么会收到“unknown routing protocol”错误消息?
答:您的软件不支持OSPF。使用 Cisco 1600 系列路由器时,最常出现此错误消息。如果您使用1600路由器,则需要Plus映像来运行OSPF。
问:show ip ospf interfacecommand输出中的statesDR、BDR和DROTHERmean是什么?
A.DR表示指定路由器。BDR表示备份指定路由器。DROTHER表示既不是DR也不是BDR的路由器。DR 生成网络链路状态通告,该通告列出网络中的所有路由器。
问:当我发出show ip ospf neighbor命令时,为什么只看到FULL/DRandFULL/BDR,而所有其他邻居都显示2-WAY/DROTHER?
A.为了减少广播介质(例如以太网、FDDI和令牌环)上的泛洪量,路由器将变满,仅包含指定路由器(DR)和备用指定路由器(BDR),并且对于所有其他路由器显示2-WAY。
问:为什么我的串行链路上的OSPF邻居看不到FULL/DR或FULL/BDR?
这很正常。在点对点网络和点到多点网络中,没有指定路由器 (DR) 或备份指定路由器 (BDR)。
问:在BRI/PRI链路上运行OSPF是否需要任何特殊命令?
A.除了正常的OSPF配置命令外,还必须使用命dialer map
令。使用dialer map
命令时,使用关键broadcast
字指示必须将广播转发到协议地址。
问:在异步链路上运行OSPF是否需要任何特殊命令?
答:除了正常的OSPF配置命令外,您还必须在异步接async default routing
口上使用命令。此命令使路由器能够通过异步接口将路由更新传递给其他路由器。此外,当 dialer map
命令,使用关键broadcast
字指示必须将广播转发到协议地址。
问:哪个Cisco IOS软件版本开始支持OSPF中每个接口的身份验证类型?
A.Per-interface身份验证类型(如RFC 2178中所述)已添加到Cisco IOS软件版本12.0(8)中。
问:将外部路由导入次末节区域(NSSA)时,能否控制P位?
A.在第7类链路状态通告(LSA)中将外部路由信息导入NSSA时,第7类LSA仅具有区域泛洪范围。为了进一步分发外部信息,类型 7 LSA 在 NSSA 边界转换为类型 5 LSA。第7类LSA选项字段中的P位指示是否必须转换第7类LSA。只有设置了 P 位的那些 LSA 才会转换。将信息重分配到 NSSA 中时,会自动设置 P 位。当自治系统边界路由器 (ASBR) 还充当区域边界路由器 (ABR) 时,有一种可能的解决方法。 然后,NSSA ASBR可以使用关键字not-advertise
进行汇总,这将导致不通告已转换的第7类LSA。
问:为什么OSPFshowcommand的反应如此缓慢?
答:您发出OSPF命令时可能会遇到响应缓慢的问题,但show
其他命令不会出现这种情况。此延迟的最常见原因是您在路由器上配ip ospf name-lookup
置了配置命令。此命令使路由器为所有OSPF命令查找设备域名系show
统(DNS)名称,并使设备更容易识别,但导致命令响应时间变慢。如果除OSPF命令之外其他命令响应缓慢,则需要查看其他可能原show
因,例如CPU使用率。
问: clear ip ospf redistribution命令的作用是什么?
A.此命令 clear ip ospf redistribution
刷新所有类型5和类型7链路状态通告(LSA),并扫描路由表以查找重分发的路由。这使得网络上所有收到清除的/更新的 LSA 的路由器中存在部分最短路径优先算法 (SPF)。当预期重分发的路由不在OSPF中时,此命令可以帮助更新LSA并将该路由获取到OSPF中。
问:OSPF是否与不在同一子网的邻居形成邻接关系?
A.OSPF在不属于同一子网的邻居之间形成邻接关系的唯一时间是通过点对点链路连接邻居时。如果您使用命令,这会有ip unnumbered
帮助,但在所有其他情况下,邻居必须位于同一子网中。
问:OSPF多久发送一次链路状态通告(LSA)?
A.OSPF在LSA老化时间达到链路状态刷新时间(1800秒)时发出其自身发起的LSA。有关详细信息,请参阅链路状态通告。
问:如何防止在OSPF网络中形成邻接关系的单个接口?
A.为了使路由器不成为特定接口上的OSPF邻居,请在接口上发出passive-interface命令。
在 Internet 服务提供商 (ISP) 和大型企业网络中,许多分发路由器都有超过 200 个接口。在每个passive-interface
200接口上配置都很困难。在这种情况下,解决方案是将所有接口默认配置为被动,只需一个命passive-interface default
令。然后,使用命令配置需要邻接的单独接no passive-interface
口。
存在一些已知问题 no passive-interface default
命令。Cisco bug ID CSCdr09263中列出了解决方法。
注意:只有注册的思科用户才能访问内部思科漏洞信息。
问:当我在OSPF数据库中为同一外部网络拥有两个第5类链路状态通告(LSA)时,必须在IP路由表中安装哪条路径?
A.当OSPF数据库中同一外部网络有两个第5类LSA时,首选具有到达自治系统边界路由器(ASBR)的最短路径的外部LSA,并将它安装到IP路由表中。使用show ip ospf border-routers
命令检查ASBR的开销。
问:为什么我的Cisco 800路由器不运行OSPF?
A.Cisco 800路由器不支持OSPF。但是,它们支持路由信息协议 (RIP) 和增强型内部网关路由协议 (EIGRP)。 有关功能支持的详细信息,可以使用Software Advisor工具。
注意:只有注册的思科用户才能访问内部思科漏洞信息。
问:在相同网络中的多台路由器上配置OSPF时,必须使用相同的进程号吗?
A.OSPF与边界网关协议(BGP)或增强型内部网关路由协议(EIGRP)不同,当邻居路由器之间形成邻接关系并交换路由信息时,OSPF不检查进程号(或自治系统号)。OSPF进程号考虑的唯一情况是,在多协议标签交换(MPLS)VPN中,OSPF用作提供商边缘到客户端边缘(PE-CE)链路上的路由协议。PE 路由器使用派生自 OSPF 进程号的域属性标记 OSPF 路由,以指示该路由是源自同一 OSPF 域还是源自该域外部。如果MPLS VPN中PE路由器上的OSPF进程编号不一致,则必须使用 domain-id
OSPF mode命令来标记具有不同编号的OSPF进程属于同一OSPF域。
在许多实际情况下,这表示可以对网络中的同一 OSPF 域使用不同的自治系统编号。但是,应尽可能使用一致的 OSPF 进程编号。编号一致性可简化网络维护,并符合网络设计者的意图,将路由器保持在同一 OSPF 域中。
问:我有一台运行Cisco快速转发(CEF)和OSPF的路由器,当有多条链路连接到一个目标时,由谁执行负载均衡?
A.CEF根据路由协议(例如OSPF)填充的路由表执行数据包交换。计算路由协议表之后,CEF 会执行负载均衡。有关负载均衡的详细信息,请参阅了解负载均衡的工作原理。
问:OSPF如何使用两条多链路路径来传输数据包?
A.OSPF使用与带宽相关的度量aCost。如果有成本相同的路径(两个多链路上的带宽相同),则 OSPF 会将这两个路由都安装在路由表中。路由表尝试均衡地使用这两个链路,而不管接口使用率如何。如果第一个多链路中的一个链路出现故障,OSPF 不会让所有流量通过第二个多链路发送。如果第一个多链路的峰值为 100%,OSPF 不会让任何流量通过第二个多链路发送,因为 OSPF 尝试均衡地使用两个链路,而不管接口使用率如何。只有在第一个多链路断开时,才会完全利用第二个多链路。
问:如何快速检测拓扑变化?
A.为了对拓扑更改进行快速故障检测,需要将hello计时器值设置为1秒。此外,还需要配置 hold 计时器值,该值是 hello 计时器值的四倍。如果设置的 hello 和 hold 计时器值小于其默认值,则路由流量可能会增多。
注意:调整OSPF计时器时,可能会导致网络和设备资源开销。Cisco建议您使用双向转发检测(BFD),不要调整路由协议计时器。BFD还会提供次秒级收敛。有关详细信息,请参阅对BFD over IPv4的OSPF支持。
问:3825系列路由器是否支持OSPF末节功能?
答:是,运行高级IPS服务映像的3800系列路由器支持OSPF末节功能。
问:错误消息%OSPF-4-FLOOD_WAR有何作用?Process process process-id re-originate LSA IDip addressstype-2 adv-rtrip addressin areaarea idmeans?
A.此错误消息是由于某些路由器正在刷新网络LSA,因为路由器收到的网络LSA的LSA ID与其中一个路由器接口的IP地址冲突,并将该LSA从网络中清除。要使 OSPF 正常工作,中转网络的 IP 地址必须唯一。如果 IP 地址不是唯一的,出现冲突的路由器将报告该错误消息。在错误消息中,OSPF 路由器 ID 被报告为 adv-rtr 的路由器报告该消息。
问:能否通过GRE隧道运行OSPF?
答:是,请参阅使用OSPF配置IPSec上的GRE隧道。
问:有没有一种方法可以操纵和首选第3类LSA,使其从发送到非主干区域的两个不同区域发出?
A.第3类LSA由区域边界路由器(ABR)作为总结路由生成。总结路由无法在ABR路由器中操作。
问:当OSPF区域类型从nssa no-summary更改为nssa时,是否存在OSPF邻居关系的丢弃/抖动?
A.当NSSA ABR配置为从nssa no-summary移动到nssa时,OSPF邻居关系不会摆动。
Q.在%OSPF-5-ADJCHG中:进程ID、端口通道31上的Nbr [ip-address]从FULL到EXSTART、SeqNumberMismatcherror message、seqNumberMismatchsignify是什么?
A.OSPF邻居的状态从FULL更改为EXSTART,因为从邻居收到具有意外序列号的数据库说明(DBD)数据包。
SeqNumberMismatchech表示,在OSPF邻居协商期间收到的DBD数据包具有以下任一种:
问:7600/6500平台上的OSPF进程(VRF感知)的最大数量是多少?
答:Cisco IOS最多只能有32个路由进程。其中两个用于静态路由和直连路由。Cisco 7600路由器每个VRF支持28个OSPF进程。
问:ISPF如何影响或改进OSPF网络?
A.增量SPF比完整的SPF算法更有效,后者允许OSPF在新的路由拓扑上更快收敛,以响应网络事件。增量SPF的设计方式是只更新受影响的节点而不重建整个树。这样可以加快收敛速度并节省CPU周期,因为无需处理未受影响的节点。 通过最佳实践,ISPF对大型OSPF域将发挥更大的作用。
对于节点和链路数量多的网络,增量SPF可以更好地缩短收敛时间。当网络拓扑变化远离SPT的根时,增量SPF也具有显着优势;例如,网络越大,影响越显着。400-1000个节点的数据段必须有所改善。但是,如果没有某种设备或工具来测量端到端延迟,在已部署的生产网络中很难进行验证。有关详细信息,请参阅OSPF增量SPF。
问:是否有比较思科NX-OS/思科IOS OSPF命令的方法?
答:是,请参阅Cisco NX-OS/Cisco IOS OSPF比较。
问:OSPF协议是否有任何功能可用于快速收敛和缓慢的路由重新收敛?
A.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-5-NBRSTATE中的BADSEQNUM是什么:ospf-101 [5330] Process 101, Nbr 10.253.5.108 on Vlan7 02 from FULL to EXSTART, BADSEQNUMOSPF log message mean?
A.此消息与DBD交换过程相关,DBD交换过程使用序列号来同步数据库。由于某种原因,DBD数据包中报告了错误的序列号。发生这种情况的原因可能是瞬变情况,包括数据包丢失或数据包损坏。
相关信息