OSPF专题
OSPF工作原理
建立领据表
选择DR/BDR
选取规则
同步数据库
计算路由表
OSPF背景
OSPF(Open Shortest Path First,开放最短路径优先)是IETF(Internet Engineering Task Force,互联网工程任务组)组织开发的一个基于链路状态的内部网关协议。目前针对IPv4协议使用的是OSPF Version 2。下文中所提到的OSPF均指OSPF Version 2。
1 OSPF特点
· 适应范围广:支持各种规模的网络,最多可支持几百台路由器。
· 快速收敛:在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。
· 无自环:由于OSPF根据收集到的链路状态用最短路径树算法计算路由,从算法本身保证了不会生成自环路由。
· 区域划分:允许自治系统的网络被划分成区域来管理。路由器链路状态数据库的减小降低了内存的消耗和CPU的负担;区域间传送路由信息的减少降低了网络带宽的占用。
· 等价路由:支持到同一目的地址的多条等价路由。
· 路由分级:使用4类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。
· 支持验证:支持基于区域和接口的报文验证,以保证报文交互和路由计算的安全性。
· 组播发送:在某些类型的链路上以组播地址发送协议报文,减少对其他设备的干扰。
2 OSPF报文类型
OSPF有五种类型的协议报文:
· Hello报文:周期性发送,用来发现和维持OSPF邻居关系,以及进行DR(Designated Router,指定路由器)/BDR(Backup Designated Router,备份指定路由器)的选举。
· DD(Database Description,数据库描述)报文:描述了本地LSDB(Link State DataBase,链路状态数据库)中每一条LSA(Link State Advertisement,链路状态通告)的摘要信息,用于两台路由器进行数据库同步。
· LSR(Link State Request,链路状态请求)报文:向对方请求所需的LSA。两台路由器互相交换DD报文之后,得知对端的路由器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向对方请求所需的LSA。
· LSU(Link State Update,链路状态更新)报文:向对方发送其所需要的LSA。
· LSAck(Link State Acknowledgment,链路状态确认)报文:用来对收到的LSA进行确认。
3 OSPFLSA 类型
OSPF中对链路状态信息的描述都是封装在LSA中发布出去,常用的LSA有以下几种类型:
· Router LSA(Type-1):由每个路由器产生,描述路由器的链路状态和开销,在其始发的区域内传播。
· Network LSA(Type-2):由DR产生,描述本网段所有路由器的链路状态,在其始发的区域内传播。
· Network Summary LSA(Type-3):由ABR(Area Border Router,区域边界路由器)产生,描述区域内某个网段的路由,并通告给其他区域。
· ASBR Summary LSA(Type-4):由ABR产生,描述到ASBR(Autonomous System Boundary Router,自治系统边界路由器)的路由,通告给相关区域。
· AS External LSA(Type-5):由ASBR产生,描述到AS(Autonomous System,自治系统)外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。
· NSSA External LSA(Type-7):由NSSA(Not-So-Stubby Area)区域内的ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
· Opaque LSA:用于OSPF的扩展通用机制,目前有Type-9、Type-10和Type-11三种。其中,Type-9 LSA仅在本地链路范围进行泛洪,用于支持GR(Graceful Restart,平滑重启)的Grace LSA就是Type-9的一种类型;Type-10 LSA仅在区域范围进行泛洪,用于支持MPLS TE的LSA就是Type-10的一种类型;Type-11 LSA可以在一个自治系统范围进行泛洪。
4 OSPF区域划分
4.1区域划分
随着网络规模日益扩大,当一个大型网络中的路由器都运行OSPF协议时,LSDB会占用大量的存储空间,并使得运行SPF(Shortest Path First,最短路径优先)算法的复杂度增加,导致CPU负担加重。
在网络规模增大之后,拓扑结构发生变化的概率也增大,网络会经常处于"震荡"之中,造成网络中会有大量的OSPF协议报文在传递,降低了网络的带宽利用率。更为严重的是,每一次变化都会导致网络中所有的路由器重新进行路由计算。
OSPF协议通过将自治系统划分成不同的区域来解决上述问题。区域是从逻辑上将路由器划分为不同的组,每个组用区域号来标识。如图所示
区域的边界是路由器,而不是链路。一个路由器可以属于不同的区域,但是一个网段(链路)只能属于一个区域,或者说每个运行OSPF的接口必须指明属于哪一个区域。划分区域后,可以在区域边界路由器上进行路由聚合,以减少通告到其他区域的LSA数量,还可以将网络拓扑变化带来的影响最小化。
4.2 骨干区域 (area0)
OSPF划分区域之后,并非所有的区域都是平等的关系。其中有一个区域是与众不同的,它的区域号是0,通常被称为骨干区域。骨干区域负责区域之间的路由,非骨干区域之间的路由信息必须通过骨干区域来转发。对此,OSPF有两个规定:
· 所有非骨干区域必须与骨干区域保持连通;
· 骨干区域自身也必须保持连通。
4.3 . 虚连接(Virtual Link)
虚连接是指在两台ABR之间通过一个非骨干区域建立的一条逻辑上的连接通道。它的两端必须是ABR,而且必须在两端同时配置方可生效。为虚连接两端提供一条非骨干区域内部路由的区域称为传输区(Transit Area)。
在下图中所示中,Area2与骨干区域之间没有直接相连的物理链路,但可以在ABR上配置虚连接,使Area2通过一条逻辑链路与骨干区域保持连通。
虚连接相当于在两个ABR之间形成了一个点到点的连接,因此,在这个连接上,和物理接口一样可以配置接口的各参数,如发送Hello报文间隔等。
两台ABR之间直接传递OSPF报文信息,它们之间的OSPF路由器只是起到一个转发报文的作用。由于协议报文的目的地址不是中间这些路由器,所以这些报文对于它们而言是透明的,只是当作普通的IP报文来转发。
4.4 特殊区域
1 Stub区域和Totally Stub区域
Stub区域是一些特定的区域,该区域的ABR会将区域间的路由信息传递到本区域,但不会引入自治系统外部路由,区域中路由器的路由表规模以及LSA数量都会大大减少。为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由Type-3 LSA,发布给本区域中的其他非ABR路由器。
为了进一步减少Stub区域中路由器的路由表规模以及LSA数量,可以将区域配置为Totally Stub(完全Stub)区域,该区域的ABR不会将区域间的路由信息和自治系统外部路由信息传递到本区域。为保证到本自治系统的其他区域和自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由Type-3 LSA,发布给本区域中的其他非ABR路由器。
2 NSSA区域和Totally NSSA区域
NSSA(Not-So-Stubby Area)区域是Stub区域的变形,与Stub区域的区别在于NSSA区域允许引入自治系统外部路由,由ASBR发布Type-7 LSA通告给本区域。当Type-7 LSA到达NSSA的ABR时,由ABR将Type-7 LSA转换成Type-5 LSA,传播到其他区域。
可以将区域配置为Totally NSSA(完全NSSA)区域,该区域的ABR不会将区域间的路由信息传递到本区域。为保证到本自治系统的其他区域的路由依旧可达,该区域的ABR将生成一条缺省路由Type-3 LSA,发布给本区域中的其他非ABR路由器。
如图所示所示,运行OSPF协议的自治系统包括3个区域:区域0、区域1和区域2,另外两个自治系统运行RIP协议。区域1被定义为NSSA区域,区域1接收的RIP路由传播到NSSA ASBR后,由NSSA ASBR产生Type-7 LSA在区域1内传播,当Type-7 LSA到达NSSA ABR后,转换成Type-5 LSA传播到区域0和区域2。
另一方面,运行RIP的自治系统的RIP路由通过区域2的ASBR产生Type-5 LSA在OSPF自治系统中传播。但由于区域1是NSSA区域,所以Type-5 LSA不会到达区域1。
图1-4 NSSA区域
5 路由器的类型
OSPF路由器根据在AS中的不同位置,可以分为以下四类:
1. 区域内路由器(Internal Router)
该类路由器的所有接口都属于同一个OSPF区域。
2. 区域边界路由器ABR
该类路由器可以同时属于两个以上的区域,但其中一个必须是骨干区域。ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。
3. 骨干路由器(Backbone Router)
该类路由器至少有一个接口属于骨干区域。因此,所有的ABR和位于Area0的内部路由器都是骨干路由器。
4. 自治系统边界路由器ASBR
与其他AS交换路由信息的路由器称为ASBR。ASBR并不一定位于AS的边界,它有可能是区域内路由器,也有可能是ABR。只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR。
6 路由类型
OSPF将路由分为四类,按照优先级从高到低的顺序依次为:
· 区域内路由(Intra Area)
· 区域间路由(Inter Area)
· 第一类外部路由(Type1 External):这类路由的可信程度较高,并且和OSPF自身路由的开销具有可比性,所以到第一类外部路由的开销等于本路由器到相应的ASBR的开销与ASBR到该路由目的地址的开销之和。
· 第二类外部路由(Type2 External):这类路由的可信度比较低,所以OSPF协议认为从ASBR到自治系统之外的开销远远大于在自治系统之内到达ASBR的开销。所以计算路由开销时将主要考虑前者,即到第二类外部路由的开销等于ASBR到该路由目的地址的开销。如果计算出开销值相等的两条路由,再考虑本路由器到相应的ASBR的开销。
区域内和区域间路由描述的是AS内部的网络结构,外部路由则描述了应该如何选择到AS以外目的地址的路由。
7 OSPF 网络类型
OSPF根据链路层协议类型将网络分为下列四种类型:
· 广播(Broadcast)类型:当链路层协议是Ethernet、FDDI时,缺省情况下,OSPF认为网络类型是Broadcast。在该类型的网络中,通常以组播形式(OSPF路由器的预留IP组播地址是224.0.0.5;OSPF DR/BDR的预留IP组播地址是224.0.0.6)发送Hello报文、LSU报文和LSAck报文;以单播形式发送DD报文和LSR报文。
· NBMA(Non-Broadcast Multi-Access,非广播多路访问)类型:当链路层协议是帧中继、ATM或X.25时,缺省情况下,OSPF认为网络类型是NBMA。在该类型的网络中,以单播形式发送协议报文。
· P2MP(Point-to-MultiPoint,点到多点)类型:没有一种链路层协议会被缺省的认为是P2MP类型。P2MP必须是由其他的网络类型强制更改的,常用做法是将NBMA网络改为P2MP网络。在该类型的网络中,缺省情况下,以组播形式(224.0.0.5)发送协议报文。可以根据用户需要,以单播形式发送协议报文。
· P2P(Point-to-Point,点到点)类型:当链路层协议是PPP、HDLC时,缺省情况下,OSPF认为网络类型是P2P。在该类型的网络中,以单播方式发送DD报文,以组播方式发送其他类型的协议报文。
NBMA与P2MP网络之间的区别如下:
· NBMA网络是全连通的;P2MP网络并不需要一定是全连通的。
· NBMA网络中需要选举DR与BDR;P2MP网络中没有DR与BDR。
· NBMA网络采用单播发送报文,需要手工配置邻居;P2MP网络采用组播方式发送报文,通过配置也可以采用单播发送报文
8 DR/BDR
1. DR/BDR简介
在广播网和NBMA网络中,任意两台路由器之间都要交换路由信息。如果网络中有n台路由器,则需要建立n(n-1)/2个邻接关系。这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。为解决这一问题,OSPF提出了DR的概念,所有路由器只将信息发送给DR,由DR将网络链路状态发送出去。
另外,OSPF提出了BDR的概念。BDR是对DR的一个备份,在选举DR的同时也选举BDR,BDR也和本网段内的所有路由器建立邻接关系并交换路由信息。当DR失效后,BDR会立即成为新的DR。
OSPF网络中,既不是DR也不是BDR的路由器为DR Other。DR Other仅与DR和BDR建立邻接关系,DR Other之间不交换任何路由信息。这样就减少了广播网和NBMA网络上各路由器之间邻接关系的数量,同时减少网络流量,节约了带宽资源。
2 选择过程
DR/BDR是由同一网段中所有的路由器根据路由器优先级和Router ID通过Hello报文选举出来的,只有优先级大于0的路由器才具有选举资格。
进行DR/BDR选举时每台路由器将自己选出的DR写入Hello报文中,发给网段上每台运行OSPF协议的路由器。当处于同一网段的两台路由器同时宣布自己是DR时,路由器优先级高者胜出。如果优先级相等,则Router ID大者胜出。
需要注意的是:
· 只有在广播或NBMA网络中才会选举DR;在P2P或P2MP网络中不需要选举DR。
· DR是某个网段中的概念,是针对路由器的接口而言的。某台路由器在一个接口上可能是DR,在另一个接口上有可能是BDR,或者是DR Other。
· DR/BDR选举完毕后,即使网络中加入一台具有更高优先级的路由器,也不会重新进行选举,替换该网段中已经存在的DR/BDR成为新的DR/BDR。DR并不一定就是路由器优先级最高的路由器接口;同理,BDR也并不一定就是路由器优先级次高的路由器接口。
9 OSPF状态
LSDB 更新
在OSPF网络中,相邻设备间通过不同的邻居状态切换,最终可以达到LSDB同步并形成完全邻接关系。
OSPF邻居共有以下八种状态:
· Down:邻居会话的初始阶段。表明在邻居失效时间间隔内没有收到来自邻居设备的Hello报文。OSPF设备会每隔PollInterval时间间隔对外轮询发送Hello报文,仅NBMA网络的OSPF设备会向处于Down状态的邻居设备发送Hello报文,其他网络类型中的OSPF设备不会向处于Down状态的邻居设备发送Hello报文。
· Attempt:本状态仅对NBMA网络上的邻居有效。邻居关系处于Attempt状态时,OSPF设备会每隔HelloInterval时间间隔向自己手工指定的邻居发送Hello报文,尝试建立邻居关系。
· Init:本状态表示在邻居失效时间内收到来自邻居发送的Hello报文,但该Hello数据包内没有包含自己的Router ID,双向通信还没有建立起来。
· 2-Way:本状态表示双方互相收到了彼此发送的Hello报文,并在收到的Hello报文中看到了自己的Router ID,由此建立邻居关系。如果不形成邻接关系(例如DRother之间),则邻居状态机停留在2-Way状态,否则进入Exstart状态。只有邻居状态处于2-Way或者比2-Way更高的状态,才会选举DR和BDR。
· ExStart:协商主从关系。建立主从关系主要是为了确定初始DD报文的序列号,为后续有序交换DD报文做好准备。
· Exchange:交换DD报文。本端设备使用DD报文描述本地的LSDB,并发送给邻居。
· Loading:正在同步LSDB。两端设备发送LSR报文向邻居请求对方的LSA,通过交互LSU、LSAck同步LSDB。
· Full:建立邻接关系。两端设备的LSDB已同步,本端设备和邻居设备建立了完全的邻接关系。
10 OSPF配置指导
无论是哪种类型的路由器,都必须先使能OSPF,否则OSPF协议将无法正常运行。在进行各项配置的时候应该先做好网络规划,错误的配置可能会导致相邻路由器之间无法相互传递信息,甚至导致路由信息的阻塞或者产生路由环路。
11 配置OSPF
11.1 启动OSPF进程
haskell
<R1>system-view
System View: return to User View with Ctrl+Z.
[R1]os
[R1]ospf ?
INTEGER<1-65535> Process ID
mib-binding Bind MIB to an OSPF process
router-id OSPF private router ID
vpn-instance Specify a VPN instance
<cr>
[R1]ospf
[R1]ospf router-id ?
X.X.X.X OSPF Private Router ID value
auto-select Auto select router ID
[R1]ospf router-id
(1) 进入系统视图。
system-view
(2) (可选)配置全局Router ID。
router id router-id
缺省情况下,未配置全局Router ID。
未配置全局路由器ID时,按照下面的规则进行选择:
¡ 如果存在配置IP地址的Loopback接口,则选择Loopback接口地址中最大的作为Router ID。
¡ 如果没有配置IP地址的Loopback接口,则从其他接口的IP地址中选择最大的作为Router ID(不考虑接口的up/down状态)。
(3) 进入OSPF视图。
ospf [ process-id | router-id { auto-select |router-id } | vpn-instance vpn-instance-name ] *
缺省情况下,系统没有运行OSPF。
(4) (可选)配置OSPF进程描述。
description text
缺省情况下,未配置进程描述。
建议用户为每个OSPF进程配置进程描述信息,帮助识别进程的用途,以便于记忆和管理。
11.2 配置OSPF区域
haskell
[R1-ospf-1]area 14
[R1-ospf-1-area-0.0.0.14]quit
[R1-ospf-1]ar
[R1-ospf-1]area 16
[R1-ospf-1-area-0.0.0.16]quit
[R1-ospf-1]dis
[R1-ospf-1]di
[R1-ospf-1]dis
[R1-ospf-1]dis
[R1-ospf-1]display th
[R1-ospf-1]display this
#
ospf 1 router-id 1.1.1.1
area 0.0.0.0
description OSPF0 区域
network 192.168.5.0 0.0.0.255
area 0.0.0.11
network 192.168.11.0 0.0.0.255
area 0.0.0.13
network 192.168.4.0 0.0.0.255
area 0.0.0.14
area 0.0.0.16
#
return
- 进入系统视图。
system-view
(2) (可选)配置全局Router ID。
router id router-id
缺省情况下,未配置全局Router ID。
(3) 进入OSPF视图。
ospf [ process-id | router-id { auto-select |router-id } | vpn-instance vpn-instance-name ] *
缺省情况下,系统没有运行OSPF。
(4) (可选)配置OSPF进程描述。
description text
缺省情况下,未配置进程描述。
建议用户为每个OSPF进程配置进程描述信息,帮助识别进程的用途,以便于记忆和管理。
(5) 创建OSPF区域,并进入OSPF区域视图。
area area-id
(6) (可选)配置区域描述。
description text
缺省情况下,未配置区域描述。
建议用户为每个区域配置区域描述信息,帮助识别区域的用途,以便于记忆和管理。
11.3 宣告网段
haskell
[R1-ospf-1-area-0.0.0.0]net
[R1-ospf-1-area-0.0.0.0]network ?
X.X.X.X Network number
[R1-ospf-1-area-0.0.0.0]network
1. 功能简介
要在路由器上使能OSPF功能,必须先创建OSPF进程、指定该进程关联的区域以及区域包括的网段;对于当前路由器来说,如果某个路由器的接口IP地址落在某个区域的网段内,则该接口属于这个区域并使能了OSPF功能,OSPF将把这个接口的直连路由宣告出去。
OSPF支持多进程,即可以在一台路由器上通过为不同的OSPF进程指定不同的进程号来启动多个OSPF进程。OSPF进程号是本地概念,不影响与其它路由器之间的报文交换。因此,不同的路由器之间,即使进程号不同也可以进行报文交换。
OSPF支持多实例,即可以指定OSPF进程所属的VPN。如果未指定VPN,则表示OSPF位于公网中。VPN的相关内容请参见"MPLS配置指导"中的"MPLS L3VPN"。
2. 配置限制和指导
可以在指定接口上使能OSPF,或者在指定网段上使能OSPF。在指定接口上使能OSPF的优先级高于在指定网段上使能OSPF。
在接口上使能OSPF时,如果不存在进程和区域,则创建对应的进程和区域;在接口上关闭OSPF时,不删除已经创建的进程和区域。
3. 在指定网段上使能OSPF
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 创建OSPF区域,并进入OSPF区域视图。
area area-id
(4) 配置区域所包含的网段并在指定网段的接口上使能OSPF。
network ip-address wildcard-mask
缺省情况下,接口不属于任何区域且OSPF功能处于关闭状态。
一个网段只能属于一个区域。
4. 在指定接口上使能OSPF
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口使能OSPF。
ospf process-id area area-id [ exclude-subip ]
缺省情况下,未配置接口使能OSPF。
11.4 配置特殊区域Stub区/TotallyStub
1. 功能简介
对于位于AS边缘的一些非骨干区域,用户可以在该区域的所有路由器上配置stub命令,把该区域配置为Stub区域。这样,描述自治系统外部路由的Type-5 LSA不会在Stub区域里泛洪,减小了路由表的规模。ABR生成一条缺省路由,所有到达自治系统外部的报文都交给ABR进行转发。
如果想进一步减少Stub区域路由表规模以及路由信息传递的数量,那么在ABR上配置stub命令时指定no-summary参数,可以将该区域配置为Totally Stub区域。这样,自治系统外部路由和区域间的路由信息都不会传递到本区域,所有目的地是自治系统外和区域外的报文都交给ABR进行转发。
Stub区域和Totally Stub区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播。
2. 配置限制和指导
骨干区域不能配置成Stub区域或Totally Stub区域。
如果要将一个区域配置成Stub区域,则该区域中的所有路由器必须都要配置stub命令。
如果要将一个区域配置成Totally Stub区域,该区域中的所有路由器必须配置stub命令,该区域的ABR路由器需要配置stub no-summary命令。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 进入OSPF区域视图。
area area-id
(4) 配置当前区域为Stub区域。
haskell
[R1-ospf-1-area-0.0.0.0]stub ?
default-route-advertise-always Always originate type 3 default LSA into stub
area
no-summary Do not send summary LSA into stub area
<cr>
[R1-ospf-1-area-0.0.0.0]stub
stub [ default-route-advertise-always | no-summary ] *
缺省情况下,没有区域被设置为Stub区域。
(5) (可选)配置ABR发送到Stub区域缺省路由的开销。
default-cost cost-value
缺省情况下,ABR发送到Stub区域缺省路由的开销为1。
本命令只有在Stub区域和Totally Stub区域的ABR上配置才能生效。
11.5 配置NASS区域
1. 功能简介
Stub区域不能引入外部路由,为了在允许将自治系统外部路由通告到OSPF路由域内部的同时,保持其余部分的Stub区域的特征,网络管理员可以将区域配置为NSSA区域。NSSA区域也是位于AS边缘的非骨干区域。
配置nssa命令时指定no-summary参数可以将该区域配置为Totally NSSA区域,该区域的ABR不会将区域间的路由信息传递到本区域。
2. 配置限制和指导
骨干区域不能配置成NSSA区域或Totally NSSA区域。
如果要将一个区域配置成NSSA区域,则该区域中的所有路由器必须都要配置nssa命令。
如果要将一个区域配置成Totally NSSA区域,该区域中的所有路由器必须配置nssa命令,该区域的ABR路由器需要配置nssa no-summary命令。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 进入OSPF区域视图。
area area-id
(4) 配置当前区域为NSSA区域。
nssa [ default-route-advertise [ cost cost-value | nssa-only | route-policy route-policy-name | type type ] * | no-import-route | no-summary | suppress-fa | [ [ [ translate-always ] [ translate-ignore-checking-backbone ] ] | translate-never ] | translator-stability-interval value ]
haskell
[R1-ospf-1-area-0.0.0.0]nssa ?
default-route-advertise Originate Type 7 default into NSSA area
no-import-route No redistribution into this NSSA area
no-summary Do not send summary LSA into NSSA
suppress-fa Suppress forwarding address
translate-always Always translate Type-7 LSA to Type-5 LSA
translate-ignore-checking-backbone Ignore whether FULL state neighbors exist
in the backbone area when electing the
Type-7 LSA to Type-5 LSA translator
translate-never Do not translate Type-7 LSA to Type-5 LSA
translator-stability-interval Interval of translator stability timer
<cr>
[R1-ospf-1-area-0.0.0.0]nssa
缺省情况下,没有区域被设置为NSSA区域。
(5) (可选)配置发送到NSSA区域缺省路由的开销。
default-cost cost-value
缺省情况下,发送到NSSA区域的缺省路由的开销为1。
本命令只有在NSSA区域和Totally NSSA区域的ABR/ASBR上配置才能生效。
11.6 配置虚链接
1. 功能简介
在划分区域之后,非骨干区域之间的OSPF路由更新是通过骨干区域来完成交换的。对此,OSPF要求所有非骨干区域必须与骨干区域保持连通,并且骨干区域自身也要保持连通。
但在实际应用中,可能会因为各方面条件的限制,无法满足这个要求。这时可以通过在ABR上配置OSPF虚连接予以解决。
2. 配置限制和指导
虚连接不能穿过Stub区域和Totally Stub区域;虚连接不能穿过NSSA区域和Totally NSSA区域。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 创建OSPF区域,并进入OSPF区域视图。
area area-id
(4) 创建并配置虚连接。
haskell
[R1-ospf-1-area-0.0.0.0]vlink-peer ?
X.X.X.X Neighbor router ID
[R1-ospf-1-area-0.0.0.0]vlink-peer
vlink-peer router-id [ dead seconds | hello seconds | { { hmac-md5 | hmac-sha-256 | md5 } key-id { cipher | plain } string | keychain keychain-name | simple { cipher | plain } string } | retransmit seconds | trans-delay seconds ] *
为使虚连接生效,在虚连接的两端都需配置此命令,并且两端配置的hello、dead参数必须一致。
11.7 配置网络类型
1 配置OSPF接口网络类型为广播
haskell
[R1-GigabitEthernet0/1]ospf network-type ?
broadcast Specify OSPF broadcast network
nbma Specify OSPF NBMA network
p2mp Specify OSPF point-to-multipoint network
p2p Specify OSPF point-to-point network
[R1-GigabitEthernet0/1]ospf network-type
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置OSPF接口网络类型为广播。
ospf network-type broadcast
缺省情况下,接口的网络类型根据接口封装的链路层协议而定。
当接口封装的链路层协议是Ethernet、FDDI时,接口网络类型缺省值为广播。
(4) (可选)配置OSPF接口的路由器优先级。
ospf dr-priority priority
缺省情况下,接口的路由器优先级为1。
2 配置OSPF接口网络类型为NBMA
haskell
[R1-GigabitEthernet0/1]ospf network-type ?
broadcast Specify OSPF broadcast network
nbma Specify OSPF NBMA network
p2mp Specify OSPF point-to-multipoint network
p2p Specify OSPF point-to-point network
[R1-GigabitEthernet0/1]ospf network-type
- 配置限制和指导
把接口类型配置为NBMA后,由于无法通过广播Hello报文的形式动态发现相邻路由器,必须手工为接口指定相邻接口的IP地址、该相邻接口是否有选举权等(dr-priority参数的值仅表示路由器是否具有DR选举权,为0表示不具有DR选举权,大于0时表示具有DR选举权)。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置OSPF接口的网络类型为NBMA。
ospf network-type nbma
缺省情况下,接口的网络类型根据物理接口而定。
当接口封装的链路层协议是ATM、帧中继或X.25时,接口网络类型缺省值为NBMA。
(4) (可选)配置OSPF接口的路由器优先级。
ospf dr-priority priority
缺省情况下,接口的路由器优先级为1。
本命令设置的优先级用于实际的DR选举。
(5) 退回系统视图。
quit
(6) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(7) 配置NBMA网络的邻居。
peer ip-address [ dr-priority priority ]
缺省情况下,未配置邻居。
如果在配置邻居时将优先级指定为0,则本地路由器认为该邻居不具备选举权,不向该邻居发送Hello报文。本地路由器是DR或BDR的情况除外。
3 配置OSPF接口网络类型为P2MP
haskell
[R1-GigabitEthernet0/1]ospf network-type ?
broadcast Specify OSPF broadcast network
nbma Specify OSPF NBMA network
p2mp Specify OSPF point-to-multipoint network
p2p Specify OSPF point-to-point network
[R1-GigabitEthernet0/1]ospf network-type
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置OSPF接口的网络类型为P2MP。
ospf network-type p2mp [ unicast ]
缺省情况下,接口的网络类型根据物理接口而定。
接口类型配置为P2MP单播后,OSPF协议在该接口上发送的报文均为单播报文。由于无法通过广播Hello报文的形式动态发现相邻路由器,必须手工为接口指定相邻接口的IP地址。
(4) 退回系统视图。
quit
(5) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(6) 配置P2MP单播网络的邻居。
peer ip-address [ cost cost-value ]
缺省情况下,未配置邻居。
如果接口类型为P2MP单播,必须配置本命令。
4 配置OSPF接口网络类型为P2P
haskell
[R1-GigabitEthernet0/1]ospf network-type ?
broadcast Specify OSPF broadcast network
nbma Specify OSPF NBMA network
p2mp Specify OSPF point-to-multipoint network
p2p Specify OSPF point-to-point network
[R1-GigabitEthernet0/1]ospf network-type
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置OSPF接口的网络类型为P2P。
ospf network-type p2p [ peer-address-check ]
缺省情况下,接口的网络类型根据物理接口而定。
当接口封装的链路层协议是PPP、LAPB、HDLC时,接口网络类型缺省值为P2P。
11.8 配置路由控制
1 配置OSPF区域间路由聚合
- 功能简介
OSPF区域间路由聚合是指ABR将具有相同前缀的路由信息聚合,只发布一条路由到其它区域。
AS被划分成不同的区域后,每一个区域通过OSPF区域边界路由器(ABR)相连,区域间可以通过路由聚合来减少路由信息,减小路由表的规模,提高路由器的运算速度。
ABR在计算出一个区域的区域内路由之后,根据聚合相关设置,将其中多条OSPF路由聚合成一条发送到区域之外。例如,某个区域内有三条区域内路由19.1.1.0/24,19.1.2.0/24,19.1.3.0/24,如果在ABR上配置了路由聚合,将三条路由聚合成一条19.1.0.0/16,则ABR就只生成一条聚合后的Type-3 LSA,并发布给其它区域的路由器,这样既可以减少其它区域中LSDB的规模,也减小了因为网络拓扑变化带来的影响。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 创建OSPF区域,并进入OSPF区域视图。
area area-id
(4) 配置ABR路由聚合。
haskell
[R1-ospf-1-area-0.0.0.0]abr-summary ?
X.X.X.X IP address
[R1-ospf-1-area-0.0.0.0]abr-summary
abr-summary ip-address { mask-length | mask } [ advertise | not-advertise ] [ cost cost-value ]
缺省情况下,ABR不对路由进行聚合。
2 置对引入的外部路由信息进行路由聚合
- 功能简介
ASBR引入外部路由后,每一条路由都会放在单独的一条Type-5 LSA中向外宣告;通过配置路由聚合,路由器只把聚合后的路由放在Type-5 LSA中向外宣告,减少了LSDB中LSA的数量。
在ASBR上配置路由聚合后,将对聚合地址范围内的Type-5 LSA进行聚合;如果ASBR在NSSA区域里面,将对聚合地址范围内的Type-7 LSA进行聚合。
- 配置限制和指导
如果本地路由器同时是ASBR和ABR,并且是NSSA区域的转换路由器,将对由Type-7 LSA转化成的Type-5 LSA进行聚合处理;如果不是NSSA区域的转换路由器,则不进行聚合处理。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 配置ASBR路由聚合。
haskell
[R1-ospf-1]asbr-summary ?
X.X.X.X IP address
[R1-ospf-1]asbr-summary
asbr-summary ip-address { mask-length | mask } [ cost cost-value | not-advertise | nssa-only | tag tag ] *
缺省情况下,ASBR不对路由进行聚合。
3 配置OSPF对通过接收到的LSA计算出来的路由信息进行过滤
- 功能简介
OSPF是基于链路状态的动态路由协议,路由信息是根据接收到的LSA计算出来的,可以对通过接收到的LSA计算出来的OSPF路由信息进行过滤。
一共有四种过滤方式:
· 基于要加入到路由表的路由信息的目的地址进行过滤,可以通过配置访问控制列表或IP地址前缀列表来指定过滤条件;
· 基于要加入到路由表的路由信息的下一跳进行过滤,可以通过在命令中配置gateway参数来指定过滤条件;
· 基于要加入到路由表的路由信息的目的地址和下一跳进行过滤,可以通过配置访问控制列表或IP地址前缀列表指定过滤目的地址的条件,同时配置gateway参数来指定过滤下一跳的条件;
· 基于路由策略对要加入到路由表的路由信息进行过滤,可以通过在命令中配置route-policy参数来指定过滤条件。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 配置OSPF对通过接收到的LSA计算出来的路由信息进行过滤。
filter-policy { ipv4-acl-number [ gateway prefix-list-name ] | gateway prefix-list-name | prefix-list prefix-list-name [ gateway prefix-list-name ] | route-policy route-policy-name } import
缺省情况下,OSPF不对通过接收到的LSA计算出来的路由信息进行过滤。
4 配置过滤Type-3 LSA
- 功能简介
通过在ABR上配置Type-3 LSA过滤,可以对进入ABR所在区域或ABR向其它区域发布的Type-3 LSA进行过滤。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 创建OSPF区域,并进入OSPF区域视图。
area area-id
(4) 配置对Type-3 LSA进行过滤。
filter { ipv4-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } { export | import }
缺省情况下,不对Type-3 LSA进行过滤。
5 配置OSPF接口的开销值
- 功能简介
OSPF有两种方式来配置接口的开销值:
· 在接口视图下直接配置开销值;
· 配置接口的带宽参考值,OSPF根据带宽参考值自动计算接口的开销值,计算公式为:接口开销=带宽参考值÷接口期望带宽(接口期望带宽通过命令bandwidth进行配置,具体情况请参见接口分册命令参考中的介绍)。当计算出来的开销值大于65535时,开销取最大值65535;当计算出来的开销值小于1时,开销取最小值1。
- 配置接口的开销值
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 设置OSPF接口的开销值。
ospf cost cost-value
haskell
[R1-GigabitEthernet0/1]ospf cost ?
INTEGER<1-65535> Cost Value
[R1-GigabitEthernet0/1]ospf cost
缺省情况下,接口按照当前的带宽自动计算接口运行OSPF协议所需的开销。对于Loopback接口,缺省值为0。
- 配置带宽参考值
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 配置带宽参考值。
bandwidth-reference value
缺省情况下,带宽参考值为100Mbps。
haskell
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]ba
[R1-ospf-1]bandwidth-reference ?
INTEGER<1-4294967> The reference bandwidth (Mbps)
[R1-ospf-1]bandwidth-reference
6 配置OSPF最大等价路由条数
- 功能简介
如果到一个目的地有几条开销相同的路径,可以实现等价路由负载分担,IP报文在这几个链路上负载分担,以提高链路利用率。该配置用以设置OSPF协议的最大等价路由条数。
例如,如图1-9所示,Device A和Device B均运行OSPF,Device A和Device B之间存在三条路由,且这三条路由的OSPF开销值相同,那么这三条路由就形成了等价路由,可以进行负载分担。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 配置OSPF最大等价路由条数。
maximum load-balancing number
haskell
[R1-ospf-1]maximum lo
[R1-ospf-1]maximum load-balancing ?
INTEGER<1-32> Number of paths
[R1-ospf-1]maximum load-balancing
缺省情况下,OSPF支持的等价路由的最大条数与系统支持最大等价路由的条数相同。
7 配置OSPF协议的优先级
- 功能简介
由于路由器上可能同时运行多个动态路由协议,就存在各个路由协议之间路由信息共享和选择的问题。系统为每一种路由协议设置一个优先级,在不同协议发现同一条路由时,优先级高的路由将被优先选择。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 配置OSPF协议的路由优先级。
preference [ ase ] { preference | route-policy route-policy-name } *
缺省情况下,OSPF协议对自治系统内部路由的优先级为10,对自治系统外部路由的优先级为150。
haskell
[R1-ospf-1]preference ?
INTEGER<1-255> Preference value
ase Preference for ASE routes
route-policy Specify the routing policy
[R1-ospf-1]preference
8 配置NULL0路由
- 功能简介
本命令用来配置是否产生NULL0路由以及产生NULL0路由的优先级。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 配置NULL0路由以及NULL0路由的优先级。
haskell
[R1-ospf-1]discard-route ?
external Discard route for redistributed summarised routes
internal Discard route for summarised internal routes
[R1-ospf-1]discard-route
discard-route { external { preference | suppression } | internal { preference | suppression } } *
缺省情况下,产生引入聚合NULL0路由和区域间聚合NULL0路由,且NULL0路由优先级为255。
9 配置OSPF引入外部路由
- 功能简介
当OSPF网络中的设备需要访问运行其他协议的网络中的设备时,需要将其他协议的路由引入OSPF网络中。例如,引入IS-IS、BGP生成的路由信息,将这些路由信息通过Type5 LSA或Type7 LSA向外宣告。
OSPF是一个无环的动态路由协议,但这是针对域内路由和域间路由而言的。OSPF对于引入的外部路由引发的路由环路没有很好的防范机制,因此在配置OSPF引入外部路由时一定要慎重,防止手工配置引发的环路。
OSPF还可以对引入的路由进行过滤,只将满足过滤条件的外部路由转换为Type5 LSA或Type7 LSA发布出去。
- 配置限制和指导
只能引入路由表中状态为active的路由,是否为active状态可以通过display ip routing-table protocol命令来查看。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 配置OSPF引入外部路由。
haskell
[R1-ospf-1]import-route static ?
cost Metric for imported route
nssa-only Limit redistributed routes to NSSA areas
route-policy Apply the specified routing policy to filter routes
tag Specify route tag
type Type value
<cr>
[R1-ospf-1]import-route static
import-route bgp [ as-number ] [ allow-ibgp ] [ [ cost cost-value | inherit-cost ] | nssa-only | route-policy route-policy-name | tag tag | type type ] *
import-route { direct | guard | static } [ [ cost cost-value | inherit-cost ] | nssa-only | route-policy route-policy-name | tag tag | type type ] *
import-route eigrp [ eigrp-as | all-as ] [ allow-direct | [ cost cost-value | inherit-cost ] | nssa-only | route-policy route-policy-name | tag tag | type type ] *
import-route { isis | ospf | rip } [ process-id | all-processes ] [ allow-direct | [ cost cost-value | inherit-cost ] | nssa-only | route-policy route-policy-name | tag tag | type type ] *
缺省情况下,不引入外部路由。
执行import-route命令引入BGP路由时,未指定allow-ibgp参数表示只引入EBGP路由;指定allow-ibgp参数表示将IBGP路由也引入,容易引起路由环路,请慎用。
(4) (可选)配置对引入的路由进行过滤。
filter-policy { ipv4-acl-number | prefix-list prefix-list-name } export [ bgp | direct | eigrp [ eigrp-as ] | { isis | ospf | rip } [ process-id ] | static ]
缺省情况下,不对引入的路由信息进行过滤。
(5) 配置路由引入时的参数缺省值(开销、标记、类型)。
default { cost cost-value | tag tag | type type } *
缺省情况下,OSPF引入的路由的度量值为1,引入的路由的标记为1,引入的路由类型为2。
10 配置OSPF引入缺省路由
- 功能简介
OSPF组网中,区域边界和自治系统边界通常是由多台设备组成的多出口冗余备份或者负载分担。此时,为了减少路由表的容量,可以配置缺省路由,减轻设备的处理负担。
OSPF缺省路由通常应用于下面两种情况:
· 由区域边界路由器发布Type3 LSA,用来指导区域内路由器进行区域之间报文的转发。
· 由自治系统边界路由器发布Type5 LSA或Type7 LSA,用来指导OSPF路由域内路由器进行域外报文的转发。
当路由器无精确匹配的路由时,就可以通过缺省路由进行报文转发。Type3 LSA生成的缺省路由的优先级高于Type5 LSA生成的缺省路由的优先级。
OSPF缺省路由的发布方式取决于引入缺省路由的区域类型,具体如表1-3所示。
表1-3 缺省路由发布方式
区域类型 | 产生条件 | 发布方式 | 产生LSA的类型 | LSA泛洪范围 |
---|---|---|---|---|
普通区域 | 配置default-route-advertise命令 | ASBR发布 | Type5 LSA | 普通区域 |
STUB区域 | 自动产生 | ABR发布 | Type3 LSA | STUB区域 |
NSSA区域 | 配置nssa [ default-route-advertise ]命令 | ASBR发布 | Type7 LSA | NSSA区域 |
完全NSSA区域 | 自动产生 | ABR发布 | Type3 LSA | NSSA区域 |
OSPF不能通过import-route命令从其它协议引入缺省路由,如果想把缺省路由引入到OSPF路由区域,必须在ASBR上执行本配置。
- 配置限制和指导
ASBR通告缺省路由后,如果该区域中某台设备上配置了静态路由,要使ASBR通告的缺省路由加入到该设备的路由表中,则必须保证配置的静态路由的优先级低于OSPF通告的缺省路由的优先级。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 配置OSPF引入缺省路由。
default-route-advertise [ [always | permit-calculate-other ] | cost cost-value | route-policy route-policy-name | type type ] *
default-route-advertise [ summary cost cost-value ]
缺省情况下,不引入缺省路由。
default-route-advertise summary cost命令仅在VPN中应用,以Type-3 LSA引入缺省路由,PE路由器会将引入的缺省路由发布给CE路由器。
(4) 配置路由引入时的参数缺省值(开销、标记、类型)。
default { cost cost-value | tag tag | type type } *
缺省情况下,OSPF引入的路由的度量值为1,引入的路由的标记为1,引入的路由类型为2。
11 配置发布一条主机路由
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 进入OSPF区域视图。
area area-id
(4) 配置并发布一条主机路由。
host-advertise ip-address cost-value
缺省情况下,OSPF不发布所包含网段之外的主机路由。
12 配置允许设备将OSPF链路状态信息发布到BGP
- 功能简介
本功能允许设备将链路状态信息发布到BGP,由BGP向外发布,以满足需要知道链路状态信息的应用的需求。BGP LS的相关内容请参见"三层技术-IP路由配置指导"中的"BGP"。
- 配置步骤
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf [ process-id | router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 配置允许设备将OSPF链路状态信息发布到BGP。
distribute bgp-ls [ instance-id id ] [ strict-link-checking ]
缺省情况下,不允许设备将OSPF链路状态信息发布到BGP。
12 OSPF 排错思路
OSPF邻居无法建立
1. 故障现象
OSPF邻居无法建立。
2. 分析
如果物理连接和下层协议正常,则检查接口上配置的OSPF参数,必须保证与相邻路由器的参数一致,区域号相同,网段与掩码也必须一致(点到点与虚连接的网段与掩码可以不同)。
3. 处理过程
(1) 使用display ospf peer命令查看OSPF邻居状态。
(2) 使用display ospf interface命令查看OSPF接口的信息。
(3) 检查物理连接及下层协议是否正常运行,可通过ping命令测试。若从本地路由器Ping对端路由器不通,则表明物理连接和下层协议有问题。
(4) 检查OSPF定时器,在同一接口上邻居失效时间应至少为Hello报文发送时间间隔的4倍。
(5) 如果是NBMA网络,则应该使用peer ip-address命令手工指定邻居。
(6) 如果网络类型为广播网或NBMA,则至少有一个接口的路由器优先级大于零。
OSPF路由信息不正确
1. 故障现象
OSPF不能发现其他区域的路由。
2. 分析
应保证骨干区域与所有的区域相连接。若一台路由器配置了两个以上的区域,则至少有一个区域应与骨干区域相连。骨干区域不能配置成Stub区域。
在Stub区域内的路由器不能接收外部AS的路由。如果一个区域配置成Stub区域,则与这个区域相连的所有路由器都应将此区域配置成Stub区域。
3. 处理过程
(1) 使用display ospf peer命令查看OSPF邻居状态。
(2) 使用display ospf interface命令查看OSPF接口的信息。
(3) 使用display ospf lsdb查看LSDB的信息是否完整。
(4) 使用display current-configuration configuration ospf命令查看区域是否配置正确。若配置了两个以上的区域,则至少有一个区域与骨干区域相连。
(5) 如果某区域是Stub区域,则该区域中的所有路由器都要配置stub命令;如果某区域是NSSA区域,则该区域中的所有路由器都要配置nssa命令。
(6) 如果配置了虚连接,使用display ospf vlink命令查看OSPF虚连接是否正常。
| router-id { auto-select | router-id } | vpn-instance vpn-instance-name ] *
(3) 配置允许设备将OSPF链路状态信息发布到BGP。
distribute bgp-ls [ instance-id id ] [ strict-link-checking ]
缺省情况下,不允许设备将OSPF链路状态信息发布到BGP。
12 OSPF 排错思路
OSPF邻居无法建立
1. 故障现象
OSPF邻居无法建立。
2. 分析
如果物理连接和下层协议正常,则检查接口上配置的OSPF参数,必须保证与相邻路由器的参数一致,区域号相同,网段与掩码也必须一致(点到点与虚连接的网段与掩码可以不同)。
3. 处理过程
(1) 使用display ospf peer命令查看OSPF邻居状态。
(2) 使用display ospf interface命令查看OSPF接口的信息。
(3) 检查物理连接及下层协议是否正常运行,可通过ping命令测试。若从本地路由器Ping对端路由器不通,则表明物理连接和下层协议有问题。
(4) 检查OSPF定时器,在同一接口上邻居失效时间应至少为Hello报文发送时间间隔的4倍。
(5) 如果是NBMA网络,则应该使用peer ip-address命令手工指定邻居。
(6) 如果网络类型为广播网或NBMA,则至少有一个接口的路由器优先级大于零。
OSPF路由信息不正确
1. 故障现象
OSPF不能发现其他区域的路由。
2. 分析
应保证骨干区域与所有的区域相连接。若一台路由器配置了两个以上的区域,则至少有一个区域应与骨干区域相连。骨干区域不能配置成Stub区域。
在Stub区域内的路由器不能接收外部AS的路由。如果一个区域配置成Stub区域,则与这个区域相连的所有路由器都应将此区域配置成Stub区域。
3. 处理过程
(1) 使用display ospf peer命令查看OSPF邻居状态。
(2) 使用display ospf interface命令查看OSPF接口的信息。
(3) 使用display ospf lsdb查看LSDB的信息是否完整。
(4) 使用display current-configuration configuration ospf命令查看区域是否配置正确。若配置了两个以上的区域,则至少有一个区域与骨干区域相连。
(5) 如果某区域是Stub区域,则该区域中的所有路由器都要配置stub命令;如果某区域是NSSA区域,则该区域中的所有路由器都要配置nssa命令。
(6) 如果配置了虚连接,使用display ospf vlink命令查看OSPF虚连接是否正常。