09-OSPFv3配置
本章节下载: 09-OSPFv3配置 (375.30 KB)
本文所指的路由器及图标代表运行了OSPFv3功能的负载均衡产品。
OSPFv3是OSPF(Open Shortest Path First,开放最短路径优先)版本3的简称,主要提供对IPv6的支持,遵循的标准为RFC 5340。关于OSPFv2的介绍,请参见“三层技术-IP路由”中的“OSPF”。
OSPFv3和OSPFv2在很多方面是相同的:
· Router ID,Area ID仍然是32位的。
· 相同类型的报文:Hello报文,DD(Database Description,数据库描述)报文,LSR(Link State Request,链路状态请求)报文,LSU(Link State Update,链路状态更新)报文和LSAck(Link State Acknowledgment,链路状态确认)报文。
· 相同的邻居发现机制和邻接形成机制。
· 相同的LSA扩散机制和老化机制。
OSPFv3和OSPFv2的不同主要有:
· OSPFv3是基于链路运行;OSPFv2是基于网段运行。在配置OSPFv3时,不需要考虑是否配置在同一网段,只要在同一链路,就可以直接建立联系。
· OSPFv3在同一条链路上可以运行多个实例,即一个接口可以使能多个OSPFv3进程(使用不同的实例)。
· OSPFv3是通过Router ID来标识邻居;OSPFv2则是通过IPv4地址来标识邻居。
和OSPFv2一样,OSPFv3也有五种报文类型,如下:
· Hello报文:周期性发送,用来发现和维持OSPFv3邻居关系,以及进行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进行确认。
LSA(Link State Advertisement,链路状态通告)是OSPFv3协议计算和维护路由信息的主要来源,常用的LSA有以下几种类型:
· Router LSA(Type-1):由每个路由器生成,描述本路由器的链路状态和开销,只在路由器所处区域内传播。
· Network LSA(Type-2):由广播网络和NBMA(Non-Broadcast Multi-Access,非广播多路访问)网络的DR(Designated Router,指定路由器)生成,描述本网段接口的链路状态,只在DR所处区域内传播。
· Inter-Area-Prefix LSA(Type-3):由ABR(Area Border Router,区域边界路由器)生成,在与该LSA相关的区域内传播,描述一条到达本自治系统内其他区域的IPv6地址前缀的路由。
· Inter-Area-Router LSA(Type-4):由ABR生成,在与该LSA相关的区域内传播,描述一条到达本自治系统内的ASBR(Autonomous System Boundary Router,自治系统边界路由器)的路由。
· AS External LSA(Type-5):由ASBR生成,描述到达其它AS(Autonomous System,自治系统)的路由,传播到整个AS(Stub区域和NSSA区域除外)。缺省路由也可以用AS External LSA来描述。
· NSSA LSA(Type-7):由NSSA(Not-So-Stubby Area)区域内的ASBR生成,描述到AS外部的路由,仅在NSSA区域内传播。
· Link LSA(Type-8):路由器为每一条链路生成一个Link-LSA,在本地链路范围内传播,描述该链路上所连接的IPv6地址前缀及路由器的Link-local地址。
· Intra-Area-Prefix LSA(Type-9):包含路由器上的IPv6前缀信息,Stub区域信息或穿越区域(Transit Area)的网段信息,该LSA在区域内传播。由于Router LSA和Network LSA不再包含地址信息,导致了Intra-Area-Prefix LSA的引入。
· Grace LSA(Type-11):由Restarter在重启时候生成的,在本地链路范围内传播。这个LSA描述了重启设备的重启原因和重启时间间隔,目的是通知邻居本设备将进入GR(Graceful Restart,平滑重启)。
与OSPFv3相关的协议规范有:
· RFC 5340:OSPF for IPv6
· RFC 2328:OSPF Version 2
· RFC 3101:OSPF Not-So-Stubby Area (NSSA) Option
· RFC 5187:OSPFv3 Graceful Restart
表1-1 OSPFv3配置任务简介
配置任务 |
说明 |
详细配置 |
|
使能OSPFv3功能 |
必选 |
||
配置OSPFv3的区域属性 |
配置OSPFv3的Stub区域 |
可选 |
|
配置OSPFv3的NSSA区域 |
可选 |
||
配置OSPFv3的虚连接 |
可选 |
||
配置OSPFv3网络类型 |
配置OSPFv3接口的网络类型 |
可选 |
|
配置NBMA或者P2MP网络的邻居 |
可选 |
||
配置OSPFv3的路由信息控制 |
配置OSPFv3的路由聚合 |
可选 |
|
配置过滤通过接收到的LSA计算出来的路由信息 |
可选 |
||
配置过滤Inter-Area-Prefix-LSA |
可选 |
||
配置OSPFv3接口的开销值 |
可选 |
||
配置OSPFv3最大等价路由条数 |
可选 |
||
配置OSPFv3协议的优先级 |
可选 |
||
配置OSPFv3引入外部路由 |
可选 |
||
调整和优化OSPFv3网络 |
配置OSPFv3定时器 |
可选 |
|
配置接口的LSA传输延迟时间 |
可选 |
||
配置SPF计算时间间隔 |
可选 |
||
配置LSA重新生成的时间间隔 |
可选 |
||
配置接口的DR优先级 |
可选 |
||
忽略DD报文中的MTU检查 |
可选 |
||
禁止接口收发OSPFv3报文 |
可选 |
||
配置邻居状态变化的输出开关 |
可选 |
||
配置OSPFv3网管功能 |
可选 |
||
配置接口发送LSU报文的时间间隔和一次发送LSU报文的最大个数 |
可选 |
||
配置Stub路由器 |
可选 |
||
配置前缀抑制 |
可选 |
||
配置OSPFv3的日志信息个数 |
可选 |
||
配置OSPFv3 GR |
配置GR Restarter |
可选 |
|
使能GR Helper |
可选 |
||
以GR方式重启OSPFv3进程 |
可选 |
||
配置OSPFv3 NSR |
可选 |
||
配置OSPFv3与BFD联动 |
可选 |
||
配置OSPFv3快速重路由 |
可选 |
配置接口的网络层地址,使各相邻节点的网络层可达。
要在路由器上使能OSPFv3功能,必须先创建OSPFv3进程、指定该进程的Router ID以及在接口上使能OSPFv3功能。
Router ID用来在一个自治系统中唯一的标识一台路由器。在OSPFv3中,用户必须手工配置一个Router ID,而且必须保证自治系统中任意两台路由器的Router ID都不相同。因此,为了保证OSPFv3运行的稳定性,在进行网络规划时,应确定路由器ID的划分并手工配置。如果在同一台路由器上运行了多个OSPFv3进程,必须为不同的进程指定不同的Router ID。
在一台路由器上可以创建多个OSPFv3进程,OSPFv3进程是本地概念。不同的路由器之间,即使进程不同也可以进行报文交换。
表1-2 使能OSPFv3功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动OSPFv3,并进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
缺省情况下,系统没有运行OSPFv3 |
配置路由器的Router ID |
router-id router-id |
缺省情况下,运行OSPFv3协议的路由器没有Router ID |
进入接口视图 |
interface interface-type interface-number |
- |
在接口上使能OSPFv3功能 |
ospfv3 process-id area area-id [ instance instance-id ] |
缺省情况下,接口上的OSPFv3功能处于关闭状态 |
OSPFv3支持Stub区域、NSSA区域和虚连接的配置,其原理及应用环境与OSPFv2相同。
OSPFv3划分区域后,可以减少网络中LSA的数量,OSPFv3的扩展性也得以增强。对于位于AS边缘的一些非骨干区域,为了更多的缩减其路由表规模和降低LSA的数量,可以将它们配置为Stub区域。
Stub区域不能引入外部路由,为了在允许将自治系统外部路由通告到OSPFv3路由域内部的同时,保持其余部分的Stub区域的特征,网络管理员可以将区域配置为NSSA区域。NSSA区域也是位于AS边缘的非骨干区域。
在划分区域之后,非骨干区域之间的OSPFv3路由更新是通过骨干区域来交换完成的。对此,OSPFv3要求所有非骨干区域必须与骨干区域保持连通,并且骨干区域自身也要保持连通。但在实际应用中,可能会因为各方面条件的限制,无法满足这个要求。这时可以通过配置OSPFv3虚连接予以解决。
在配置OSPFv3的区域属性之前,需完成以下任务:使能OSPFv3功能。
对于位于Stub区域中的所有路由器都必须配置stub命令,参数no-summary只能在ABR上配置。
如果ABR使用了stub命令中的参数no-summary,则此ABR只向区域内发布一条描述缺省路由的Inter-Area-Prefix-LSA。这种既没有AS-external-LSA,也没有其它Inter-Area-Prefix-LSA、Inter-Area-Router-LSA的Stub区域,又称为Totally Stub区域。
表1-3 配置OSPFv3的Stub区域
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
进入OSPFv3区域视图 |
area area-id |
- |
配置一个区域为Stub区域 |
stub [ default-route-advertise-always | no-summary ] * |
缺省情况下,没有区域被配置为Stub区域 |
(可选)配置发送到Stub区域的缺省路由的开销值 |
default-cost cost-value |
缺省情况下,发送到Stub区域的缺省路由的开销值为1 |
对于位于NSSA区域中的所有路由器都必须配置nssa命令。配置nssa命令时指定no-summary参数可以将该区域配置为Totally NSSA区域,该区域的ABR不会将区域间的路由信息传递到本区域。
表1-4 配置OSPFv3的NSSA区域
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
进入OSPFv3区域视图 |
area area-id |
- |
配置一个区域为NSSA区域 |
nssa [ default-route-advertise [ cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] * | no-import-route | no-summary | [ translate-always | translate-never ] | suppress-fa | translator-stability-interval value ] * |
缺省情况下,没有区域被配置为NSSA区域 |
(可选)配置发送到NSSA区域的缺省路由的开销值 |
default-cost cost-value |
缺省情况下,发送到NSSA区域的缺省路由的开销值为1 本命令只有在NSSA区域和Totally NSSA区域的ABR/ASBR上配置才能生效 |
· 虚连接的两端必须是ABR,而且必须在两端同时配置才可生效。
· 虚连接不能在使能了GR能力的进程下的区域进行配置。
对于没有和骨干区域直接相连的非骨干区域,或者不连续的骨干区域,可以使用该配置建立逻辑上的连通性。
表1-5 配置OSPFv3的虚连接
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
进入OSPFv3区域视图 |
area area-id |
- |
创建并配置虚连接 |
vlink-peer router-id [ dead seconds | hello seconds | instance instance-id | ipsec-profile profile-name | retransmit seconds | trans-delay seconds ] * |
缺省情况下,不存在虚连接 |
OSPFv3根据链路层协议类型将网络分为四种不同的类型:广播、NBMA、P2MP和P2P。
缺省情况下,当接口封装的链路层协议不同时,OSPFv3接口网络类型的缺省值也不同:
· 当接口封装的链路层协议是Ethernet、FDDI时,OSPFv3接口网络类型的缺省值为广播类型;
· 当接口封装的链路层协议是PPP时,OSPFv3接口网络类型的缺省值为P2P。
用户可以根据需要配置OSPFv3接口的网络类型:
· 由于NBMA网络必须是全连通的,即网络中任意两台路由器之间都必须有一条虚电路直接可达。但在很多情况下,这个要求无法满足,这时就需要通过命令强制改变网络的类型。
· 对于NBMA网络,如果部分路由器之间没有直接可达的链路时,应将接口的网络类型配置为P2MP。如果路由器在NBMA网络中只有一个对端,也可将接口类型配置为P2P。
在配置OSPFv3的网络类型之前,需完成以下任务:使能OSPFv3功能。
表1-6 配置OSPFv3接口的网络类型
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置OSPFv3接口的网络类型 |
ospfv3 network-type { broadcast | nbma | p2mp [ unicast ] | p2p } [ instance instance-id ] |
缺省情况下,接口的网络类型根据物理接口而定 |
当路由器的接口类型为如下网络类型时,需要为其指定相邻路由器IP地址:
· NBMA网络
· P2MP网络(仅当接口选择单播形式发送报文时,需要此配置)
由于无法通过广播Hello报文的形式发现相邻路由器,必须手工指定相邻路由器的本地链路地址。对于NBMA网络,可以指定该相邻路由器是否有DR选举权等。
表1-7 配置NBMA或者P2MP网络的邻居
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置NBMA或者P2MP(单播)网络的邻居 |
ospfv3 peer ipv6-address [ cost cost-value | dr-priority priority ] [ instance instance-id ] |
缺省情况下,未指定邻居接口的链路本地地址 |
在配置OSPFv3的路由信息控制之前,需完成以下任务:
· 配置接口的网络层地址,使相邻节点的网络层可达
· 使能OSPFv3功能
路由聚合是指ABR或ASBR将具有相同前缀的路由信息聚合,只发布一条聚合后的路由。
如果一个区域中存在多个连续的网段,则可以在ABR上配置路由聚合将它们聚合成一个网段,ABR只发送一条聚合后的LSA,所有落入本命令指定的聚合网段范围的LSA将不再会被单独发送出去,这样可减小其它区域中LSDB的规模。
表1-8 配置ABR路由聚合
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
进入OSPFv3区域视图 |
area area-id |
- |
配置ABR路由聚合 |
abr-summary ipv6-address prefix-length [ not-advertise ] [ cost cost-value ] |
缺省情况下,ABR不对路由进行聚合 |
如果引入的路由中存在多个连续的网段,则可以在ASBR上配置路由聚合将它们聚合成一个网段。
如果本地路由器是ASBR,配置ASBR路由聚合可对引入的聚合地址范围内的Type-5 LSA描述的路由进行聚合;当配置了NSSA区域时,对引入的聚合地址范围内的Type-7 LSA描述的路由进行聚合。
如果本地路由器同时是ASBR和ABR,并且是NSSA区域的转换路由器,则对由Type-7 LSA转化成的Type-5 LSA描述的路由进行聚合处理;如果不是NSSA区域的转换路由器,则不进行聚合处理。
表1-9 配置ASBR路由聚合
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置ASBR路由聚合 |
asbr-summary ipv6-address prefix-length [ cost cost-value | not-advertise | nssa-only | tag tag ] * |
缺省情况下,ASBR不对引入的路由进行聚合 |
OSPFv3接收到LSA后,可以根据一定的过滤条件来决定是否将计算后得到的路由信息加入到本地路由表中。
表1-10 过滤通过接收到的LSA计算出来的路由信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
过滤通过接收到的LSA计算出来的路由信息 |
filter-policy { ipv6-acl-number [ gateway prefix-list-name ] | prefix-list prefix-list-name [ gateway prefix-list-name ] | gateway prefix-list-name | route-policy route-policy-name } import |
缺省情况下,不对通过接收到的LSA计算出来的路由信息进行过滤 本命令只对OSPFv3计算出来的路由进行过滤,没有通过过滤的路由将不被加入到本地路由表中,从而不能用于转发报文 |
此命令只在ABR路由器上有效,对区域内部路由器无效。
表1-11 配置过滤Inter-Area-Prefix-LSA
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
进入OSPFv3区域视图 |
area area-id |
- |
配置对Inter-Area-Prefix-LSA进行过滤 |
filter { ipv6-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } { export | import } |
缺省情况下,不对Inter-Area-Prefix-LSA进行过滤 |
OSPFv3有两种方式来配置接口的开销值:
· 第一种方法是在接口视图下直接配置开销值;
· 第二种方法是配置接口的带宽参考值,OSPFv3根据带宽参考值自动计算接口的开销值,计算公式为:接口开销=带宽参考值(100Mbps)÷接口带宽(Mbps),当计算出来的开销值大于65535,开销取最大值65535;当计算出来的开销值小于1时,开销取最小值1。
如果没有在接口视图下配置接口的开销值,OSPFv3会根据该接口的带宽自动计算开销值。
表1-12 配置OSPFv3接口的开销值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置OSPFv3接口的开销值 |
ospfv3 cost cost-value [ instance instance-id ] |
缺省情况下,OSPFv3根据接口的带宽自动计算链路开销,对于VLAN接口,缺省值为1;对于Loopback接口,缺省取值为0 |
表1-13 配置带宽参考值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置带宽参考值 |
bandwidth-reference value |
缺省情况下,带宽参考值为100Mbps |
如果到一个目的地有几条开销相同的路径,可以通过等价路由负载分担来提高链路利用率。
表1-14 配置OSPFv3最大等价路由条数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置OSPFv3最大等价路由条数 |
maximum load-balancing number |
缺省情况下,OSPFv3最大等价路由条数为16 |
由于路由器上可能同时运行多个动态路由协议,就存在各个路由协议之间路由信息共享和选择的问题。系统为每一种路由协议设置一个优先级,在不同协议发现同一条路由时,优先级高的路由将被优选。
表1-15 配置OSPFv3协议的优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置OSPFv3协议的路由优先级 |
preference [ ase ] { preference | route-policy route-policy-name } * |
缺省情况下,对于自治系统内部路由,OSPFv3协议的路由优先级为10;对于自治系统外部路由,OSPFv3协议的路由优先级为150 |
import-route bgp4+表示只引入EBGP路由;import-route bgp4+ allow-ibgp表示将IBGP路由也引入,容易引起路由环路,请慎用。
由于OSPFv3是基于链路状态的路由协议,不能直接对发布的LSA进行过滤,所以只能在OSPFv3引入路由时进行过滤,只有符合条件的路由才能转换成LSA发布出去。
表1-16 配置OSPFv3引入其它协议的路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
引入外部路由信息 |
import-route protocol [ as-number ] [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] * |
缺省情况下,不引入外部路由信息 |
(可选)对引入的外部路由信息进行过滤 |
filter-policy { ipv6-acl-number | prefix-list prefix-list-name } export [ protocol [ process-id ] ] |
缺省情况下,不对引入的路由信息进行过滤 本命令只对本设备使用import-route引入的路由起作用。如果没有配置import-route命令来引入其它外部路由(包括不同进程的OSPFv3路由),则本命令失效 |
OSPFv3不能通过import-route命令从其它协议引入缺省路由,如果想把缺省路由引入到OSPFv3路由区域,必须要使用下面命令配置OSPFv3引入缺省路由。
表1-17 配置OSPFv3引入缺省路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置OSPFv3引入缺省路由 |
default-route-advertise [ [ always | permit-calculate-other ] | cost cost-value | route-policy route-policy-name | tag tag | type type ] * |
缺省情况下,未引入缺省路由 只能通过本命令引入并发布缺省路由 |
当OSPFv3引入外部路由时,还可以配置路由标记。路由标记可以用来标识协议相关的信息,如OSPFv3从IPv6 BGP引入路由时,可以用来标记自治系统的编号。
表1-18 配置引入路由的相关参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置引入外部路由的全局标记 |
default tag tag |
缺省情况下,引入外部路由的全局标记为1 |
本节主要介绍配置OSPFv3定时器、配置接口的DR优先级和邻居状态变化的输出开关。
在调整和优化OSPFv3网络之前,需完成以下任务:
· 配置接口的网络层地址,使相邻节点的网络层可达
· 使能OSPFv3功能
表1-19 配置OSPFv3定时器
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口发送hello报文的时间间隔 |
ospfv3 timer hello seconds [ instance instance-id ] |
缺省情况下,P2P、Broadcast网络类型接口发送Hello报文的时间间隔的值为10秒 |
配置相邻路由器间失效时间 |
ospfv3 timer dead seconds [ instance instance-id ] |
缺省情况下,P2P、Broadcast网络类型接口的OSPFv3邻居失效时间为40秒 相邻路由器间失效时间的值不要设置得太小,否则邻居很容易失效 |
配置Poll定时器 |
ospfv3 timer poll seconds [ instance instance-id ] |
缺省情况下,发送轮询Hello报文的时间间隔为120秒 |
配置相邻路由器重传LSA的时间间隔 |
ospfv3 timer retransmit interval [ instance instance-id ] |
缺省情况下,LSA的重传时间间隔为5秒 相邻路由器重传LSA时间间隔的值不要设置得太小,否则将会引起不必要的重传 |
LSA在本路由器的链路状态数据库(LSDB)中会随时间老化(每秒钟加1),但在网络的传输过程中却不会,所以有必要在发送之前将LSA的老化时间增加一定的延迟时间。此配置对低速率的网络尤其重要。
表1-20 配置接口的LSA传输延迟时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口的LSA传输延迟时间 |
ospfv3 trans-delay seconds [ instance instance-id ] |
缺省情况下,接口的LSA传输延迟时间为1秒 |
当OSPFv3的LSDB发生改变时,需要重新计算最短路径。如果网络频繁变化,且每次变化都立即计算最短路径,将会占用大量系统资源,并影响路由器的效率。通过调节SPF计算时间间隔,可以抑制由于网络频繁变化带来的影响。
本命令在网络变化不频繁的情况下将连续路由计算的时间间隔缩小到minimum-interval,而在网络变化频繁的情况下可以进行相应惩罚,增加incremental-interval×2n-2(n为连续触发路由计算的次数),将等待时间按照配置的惩罚增量延长,最大不超过maximum-interval。
表1-21 配置SPF计算时间间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置SPF计算时间间隔 |
spf-schedule-interval maximum-interval [ minimum-interval [ incremental-interval ] ] |
缺省情况下,SPF计算的最大时间间隔为5秒,最小时间间隔为50毫秒,时间间隔惩罚增量为200毫秒 |
通过调节LSA重新生成的时间间隔,可以抑制网络频繁变化可能导致的占用过多带宽资源和路由器资源。
本命令在网络变化不频繁的情况下将LSA重新生成时间间隔缩小到minimum-interval,而在网络变化频繁的情况下可以进行相应惩罚,增加incremental-interval×2n-2(n为连续触发路由计算的次数),将等待时间按照配置的惩罚增量延长,最大不超过maximum-interval。
表1-22 配置LSA发送间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置LSA重新生成的时间间隔 |
lsa-generation-interval maximum-interval [ minimum-interval [ incremental-interval ] ] |
缺省情况下,最大时间间隔为5秒,最小时间间隔为0毫秒,惩罚增量为0毫秒 |
路由器接口的DR优先级将影响接口在选举DR时所具有的资格,优先级为0的路由器不会被选举为DR或BDR。
表1-23 配置接口的DR优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口的DR优先级 |
ospfv3 dr-priority priority [ instance instance-id ] |
缺省情况下,接口的DR优先级为1 |
在LSA数量不多的情况下,没有必要去检查MTU大小,可以设置忽略DD报文中的MTU检查,从而提高性能。
表1-24 忽略DD报文中的MTU检查
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
忽略DD报文中的MTU检查 |
ospfv3 mtu-ignore [ instance instance-id ] |
缺省情况下,接口在进行DD报文交换时执行MTU检查 |
当运行OSPFv3协议的接口被配置为Silent状态后,该接口的直连路由仍可以由同一路由器的其他接口通过Intra-Area-Prefix-LSA发布,但OSPFv3报文将被阻塞,接口上不会建立OSPFv3邻居关系。这一特性可以增强OSPFv3的组网适应能力。
表1-25 禁止接口收发OSPFv3报文
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
禁止接口收发OSPFv3报文 |
silent-interface { interface-type interface-number | all } |
缺省情况下,允许接口收发OSPFv3报文 不同的进程可以对同一接口禁止收发OSPFv3报文,但本命令只对本进程已经使能的OSPFv3接口起作用,不对其它进程的接口起作用 |
打开邻居状态变化的输出开关后,OSPFv3邻居状态变化时会生成日志信息发送到设备的信息中心,通过设置信息中心的参数,最终决定日志信息的输出规则(即是否允许输出以及输出方向)。(有关信息中心参数的配置请参见“网络管理和监控配置指导”中的“信息中心”。)
表1-26 配置邻居状态变化的输出开关
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置邻居状态变化的输出开关 |
log-peer-change |
缺省情况下,邻居状态变化的输出开关处于打开状态 |
配置OSPFv3进程绑定MIB功能后,可以通过网管软件对指定的OSPFv3进程进行管理。
开启OSPFv3模块的告警功能后,该模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。(有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。)
通过调整OSPFv3在指定时间间隔内允许输出的告警信息条数,可以避免网络出现大量告警信息时对资源的消耗。
OSPFv3使用MIB(Management Information Base,管理信息库)为NMS(Network Management System,网络管理系统)提供对OSPFv3实例的管理,但标准OSPFv3 MIB中定义的MIB为单实例管理对象,无法对多个OSPFv3实例进行管理。因此,参考RFC 4750中对OSPF多实例的管理方法,为管理OSPFv3的SNMP实体定义一个上下文名称,以此来区分不同的OSPFv3实例,实现对多个OSPFv3实例进行管理。由于上下文名称只是SNMPv3独有的概念,对于SNMPv1/v2c,会将团体名映射为上下文名称以对不同协议进行区分。
表1-27 配置OSPFv3网管功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置OSPFv3进程绑定MIB |
ospfv3 mib-binding process-id |
缺省情况下,MIB绑定在进程号最小的OSPFv3进程上 |
开启OSPFv3的告警功能 |
snmp-agent trap enable ospfv3 [ grrestarter-status-change | grhelper-status-change | if-state-change | if-cfg-error | if-bad-pkt | neighbor-state-change | nssatranslator-status-change | virtif-bad-pkt | virtif-cfg-error |virtif-state-change | virtgrhelper-status-change | virtneighbor-state-chang ]* |
缺省情况下,OSPFv3的告警功能处于开启状态 |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置管理OSPFv3的SNMP实体所使用的上下文名称 |
snmp context-name context-name |
缺省情况下,未配置管理OSPFv3的SNMP实体所使用的上下文名称 |
(可选)配置OSPFv3在指定时间间隔内允许输出的告警信息条数 |
snmp trap rate-limit interval trap-interval count trap-number |
缺省情况下,OSPFv3模块在10秒内允许输出7条告警信息 |
如果路由器路由表里的路由条目很多,在与邻居进行LSDB同步时,可能需要发送大量LSU,有可能会对当前设备和网络带宽带来影响;因此,路由器将LSU报文分为多个批次进行发送,并且对OSPFv3接口每次允许发送的LSU报文的最大个数做出限制。
用户可根据需要配置OSPFv3接口发送LSU报文的时间间隔以及接口一次发送LSU报文的最大个数。
表1-28 配置接口发送LSU报文的时间间隔和一次发送LSU报文的最大个数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置接口发送LSU报文的时间间隔和一次发送LSU报文的最大个数 |
transmit-pacing interval interval count count |
缺省情况下,OSPFv3接口发送LSU报文的时间间隔为20毫秒,一次最多发送3个LSU报文 |
Stub路由器用来控制流量,它告知其他OSPFv3路由器不要使用这个Stub路由器来转发数据,但可以拥有一个到Stub路由器的路由。
将当前路由器配置为Stub路由器的功能,可通过R-bit和max-metric两种模式来实现:
· R-bit模式:通过清除该路由器发布Type-1 LSA中options域的R-bit,使其他路由器只能计算到该路由器本身而不会通过该路由器来转发数据。
· max-metric模式:该路由器发布的Type-1 LSA的链路度量值将设为最大值65535,这样其邻居计算出这条路由的开销就会很大,如果邻居上有到这个目的地址开销更小的路由,则数据不会通过这个Stub路由器转发。
表1-29 配置Stub路由器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置当前路由器为Stub路由器 |
stub-router r-bit [ include-stub | on-startup { seconds | wait-for-bgp [ seconds ] } ] * |
二者选其一 缺省情况下,当前路由器没有被配置为Stub路由器 Stub路由器与Stub区域无关 |
stub-router max-metric [ external-lsa [ max-metric-value ] | summary-lsa [ max-metric-value ] | include-stub | on-startup { seconds | wait-for-bgp [ seconds ] } ] * |
接口使能OSPFv3后,会将接口下的所有网段路由都通过LSA发布,但有时候网段路由是不希望被发布的。通过前缀抑制配置,可以减少LSA中携带不需要的前缀,即不发布某些网段路由,从而提高网络安全性,加快路由收敛。
当使能前缀抑制时,Type-8 LSA中不发布处于抑制的接口前缀信息;对于广播网或者NBMA网络,DR在生成引用Type-2 LSA的Type-9 LSA时,不发布处于抑制的接口前缀信息;对于P2P或P2MP网络,生成引用Type-1 LSA的Type-9 LSA时,不发布处于抑制的接口前缀信息。
如果需要抑制前缀发布,建议整个OSPFv3网络都配置本命令,否则会有互通问题。
全局配置前缀抑制不能抑制LoopBack接口和处于silent-interface状态接口对应的前缀。
表1-30 配置全局前缀抑制
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置前缀抑制功能 |
prefix-suppression |
缺省情况下,不抑制OSPFv3进程进行前缀发布 |
表1-31 配置接口前缀抑制
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口的前缀抑制功能 |
ospfv3 prefix-suppression [ disable ] [ instance instance-id ] |
缺省情况下,不抑制接口进行前缀发布 |
OSPFv3的日志信息包括路由计算、邻居和LSA老化的日志信息。
表1-32 配置OSPFv3的日志信息个数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置OSPFv3的日志信息个数 |
event-log { lsa-flush | peer | spf } size count |
缺省情况下,路由计算、邻居和LSA老化的日志信息个数均为10个 |
设备充当GR Restarter后不能再配置OSPFv3 NSR功能。
GR(Graceful Restart,平滑重启)是一种在协议重启或主备倒换时保证转发业务不中断的机制。GR有两个角色:
· GR Restarter:发生协议重启或主备倒换事件且具有GR能力的设备。
· GR Helper:和GR Restarter具有邻居关系,协助完成GR流程的设备。
支持OSPFv3的GR Restarter能力的设备主备倒换后,为了实现设备转发业务的不中断,它必须完成下列两项任务:
· 重启过程GR Restarter转发表项保持稳定;
· 重启流程结束后重建所有邻居关系,重新获取完整的网络拓扑信息。
设备(GR Restarter)主备倒换后,首先向邻居发送Grace LSA通告邻居本设备进入GR;邻居收到Grace-LSA后,如果支持GR Helper能力则进入Helper模式(此时该邻居称为GR Helper)。GR Restarter重新建立邻居,GR Helper帮助GR Restarter进行LSDB的同步。同步完成之后,GR流程结束,进入正常的OSPFv3流程。这样就能实现设备在主备倒换时转发业务正常进行。
可以在GR Restarter设备上配置GR Restarter能力。
表1-33 配置GR Restarter
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
使能GR能力 |
graceful-restart enable [ global | planned-only ] * |
缺省情况下,OSPFv3协议的GR Restarter能力处于关闭状态 |
(可选)配置GR重启时间间隔 |
graceful-restart interval interval |
缺省情况下,OSPFv3协议的GR重启间隔时间为120秒 |
可以在GR Helper设备上配置GR Helper能力。
表1-34 配置GR Helper
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
使能helper能力 |
graceful-restart helper enable [ planned-only ] |
缺省情况下,OSPFv3的GR Helper能力处于开启状态 |
使能LSA严格检查能力 |
graceful-restart helper strict-lsa-checking |
缺省情况下,OSPFv3协议的GR Helper严格LSA检查能力处于关闭状态 |
设备进行主备倒换或者进行如下操作均可以以GR方式重启OSPFv3进程。
表1-35 以GR方式重启OSPFv3进程
操作 |
命令 |
说明 |
以GR方式重启OSPFv3进程 |
reset ospfv3 [ process-id ] process graceful-restart |
请在用户视图下执行该命令 |
设备配置了OSPFv3 NSR功能后不能再充当GR Restarter。
NSR(Nonstop Routing,不间断路由)通过将OSPFv3链路状态信息从主进程备份到备进程,使设备在发生主备倒换时可以自行完成链路状态的恢复和路由的重新生成,邻接关系不会发生中断,从而避免了主备倒换对转发业务的影响。
GR特性需要周边设备配合才能完成路由信息的恢复,在网络应用中有一定的限制。NSR特性不需要周边设备的配合,网络应用更加广泛。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
使能OSPFv3 NSR功能 |
non-stop-routing |
缺省情况下,OSPFv3 NSR功能处于关闭状态 各个进程的NSR功能是相互独立的,只对本进程生效。如果存在多个OSPFv3进程,建议在各个进程下使能OSPFv3 NSR功能 |
BFD(Bidirectional Forwarding Detection,双向转发检测)能够为OSPFv3邻居之间的链路提供快速检测功能。当邻居之间的链路出现故障时,加快OSPFv3协议的收敛速度。关于BFD的介绍和基本功能配置,请参见“可靠性配置指导”中的“BFD”。
OSPFv3使用BFD来进行快速故障检测时,可以通过Hello报文动态发现邻居,将邻居地址通知BFD就开始建立会话。BFD会话建立前处于down状态,此时BFD控制报文以不小于1秒的时间间隔周期发送以减少控制报文流量,直到会话建立以后才会以协商的时间间隔发送以实现快速检测。
进行配置BFD之前,需要配置OSPFv3功能。
表1-37 配置OSPFv3与BFD联动
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置路由器的ID |
router-id router-id |
- |
退出OSPFv3视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
在接口上使能OSPFv3 |
ospfv3 process-id area area-id [ instance instance-id ] |
- |
在指定接口上使能OSPFv3 BFD |
ospfv3 bfd enable [ instance instance-id ] |
缺省情况下,运行OSPFv3的接口的BFD功能处于关闭状态 |
OSPFv3快速重路由功能(通过LFA算法选取备份下一跳信息)使能后,不能配置vlink-peer命令。
在部署了备份链路的OSPFv3网络中,当主用链路发生故障时,OSPFv3会对路由进行重新计算,在路由收敛完成后,流量可以通过备份链路进行传输。在路由收敛期间,数据流量将会被中断。
为了尽可能缩短网络故障导致的流量中断时间,网络管理员可以根据需要配置OSPFv3快速重路由功能。
图1-1 OSPFv3快速重路由功能示意图
如图1-1所示,通过在Router B上使能快速重路由功能,OSPFv3将为路由计算或指定备份下一跳,当Router B检测到主用下一跳地址无法到达时,会直接使用备份下一跳地址来指导报文的转发,从而大大缩短了流量路径切换的时间。在快速切换流量传输路径的同时,OSPFv3会根据变化后的网络拓扑重新计算路由,在路由收敛完毕后,使用新计算出来的最优路由来指导报文转发。
在为快速重路由功能指定备份下一跳地址时,可以采用以下两种方式:
· 通过LFA(Loop Free Alternate)算法选取备份下一跳地址。
· 在路由策略中指定备份下一跳,为符合过滤条件的路由指定备份下一跳地址。
在配置OSPFv3快速重路由特性之前,需完成以下任务:
· 配置接口的网络层地址,使相邻节点网络层可达
· 使能OSPFv3功能
· 确认备份下一跳地址可以承担备份功能
(1) 配置OSPFv3快速重路由功能(通过LFA算法选取备份下一跳)
表1-38 配置OSPFv3快速重路由功能(通过LFA算法选取备份下一跳)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
(可选)禁止接口参与LFA计算 |
ospfv3 fast-reroute lfa-backup exclude |
缺省情况下,接口参与LFA计算,有资格被选为备份接口 |
退回系统视图 |
quit |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置OSPFv3快速重路由功能(通过LFA算法选取备份下一跳信息) |
fast-reroute lfa [ abr-only ] |
缺省情况下,OSPFv3快速重路由功能处于关闭状态 abr-only表示只有到ABR设备的路由才能作为备份下一跳 |
(2) 配置OSPFv3快速重路由功能(通过路由策略指定备份下一跳)
网络管理员可以通过apply ipv6 fast-reroute backup-interface命令在路由策略中指定备份下一跳,为符合过滤条件的路由指定备份下一跳,关于apply ipv6 fast-reroute backup-interface命令以及路由策略的相关配置,请参见“三层技术-IP路由配置指导”中的“路由策略”。
表1-39 配置OSPFv3快速重路由功能(通过路由策略指定备份下一跳)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
(可选)禁止接口参与LFA计算 |
ospfv3 fast-reroute lfa-backup exclude |
缺省情况下,接口参与LFA计算,有资格被选为备份接口 |
退回系统视图 |
quit |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置OSPFv3快速重路由功能(通过路由策略指定备份下一跳) |
fast-reroute route-policy route-policy-name |
缺省情况下,OSPFv3快速重路由功能处于关闭状态 |
OSPFv3协议的快速重路由特性中,主用链路缺省不使用BFD进行链路故障检测。配置本功能后,将使用BFD进行检测,可以更快速的发现主用链路的故障,从而加快OSPFv3协议的收敛速度。
(1) 配置OSPFv3快速重路由支持BFD检测功能(Ctrl方式)
表1-40 配置OSPFv3快速重路由支持BFD检测功能(Ctrl方式)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
使能OSPFv3协议中主用链路的BFD检测功能 |
ospfv3 primary-path-detect bfd ctrl [ instance instance-id ] |
缺省情况下,OSPFv3协议中主用链路的BFD检测功能(Ctrl方式)处于关闭状态 |
(2) 配置OSPFv3快速重路由支持BFD检测功能(Echo方式)
表1-41 配置OSPFv3快速重路由支持BFD检测功能(Echo方式)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置BFD Echo报文源地址 |
bfd echo-source-ipv6 ipv6-address |
缺省情况下,未配置BFD Echo报文源地址 echo报文的源IPv6地址用户可以任意指定。建议配置echo报文的源IPv6地址不属于该设备任何一个接口所在网段 本命令的详细情况请参见“可靠性命令参考”中的“BFD” |
进入接口视图 |
interface interface-type interface-number |
- |
使能OSPFv3协议中主用链路的BFD检测功能 |
ospfv3 primary-path-detect bfd echo [ instance instance-id ] |
缺省情况下,OSPFv3协议中主用链路的BFD检测功能(Echo方式)处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后OSPFv3的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除OSPFv3的统计信息、重启OSPFv3进程或者重新向OSPFv3引入外部路由。
表1-42 OSPFv3显示和维护
操作 |
命令 |
显示到OSPFv3的区域边界路由器和自治系统边界路由器的路由信息 |
display ospfv3 [ process-id ] abr-asbr |
显示OSPFv3的ABR聚合信息 |
display ospfv3 [ process-id ] [ area area-id ] abr-summary [ ipv6-address prefix-length ] [ verbose ] |
显示OSPFv3的ASBR聚合信息 |
display ospfv3 [ process-id ] asbr-summary [ ipv6-address prefix-length ] [ verbose ] |
显示OSPFv3路由计算的日志信息 |
display ospfv3 [ process-id ] event-log { lsa-flush | peer | spf } |
显示OSPFv3的进程信息 |
display ospfv3 [ process-id ] [ verbose ] |
显示OSPFv3进程的GR状态信息 |
display ospfv3 [ process-id ] graceful-restart [ verbose ] |
显示OSPFv3进程的NSR状态信息 |
display ospfv3 [ process-id ] non-stop-routing |
显示OSPFv3的接口信息 |
display ospfv3 [ process-id ] interface [ interface-type interface-number | verbose ] |
显示OSPFv3的链路状态数据库信息 |
display ospfv3 [ process-id ] lsdb [ { external | grace | inter-prefix | inter-router | intra-prefix | link | network | nssa | router | unknown [ type ] } [ link-state-id ] [ originate-router router-id | self-originate ] | statistics | total | verbose ] |
显示OSPFv3的路由下一跳信息 |
display ospfv3 [ process-id ] nexthop |
显示OSPFv3邻居信息 |
display ospfv3 [ process-id ] [ area area-id ] peer [ [ interface-type interface-number ] [ verbose ] | peer-router-id | statistics ] |
显示OSPFv3请求列表的信息 |
display ospfv3 [ process-id ] [ area area-id ] request-queue [ interface-type interface-number ] [ neighbor-id ] |
显示OSPFv3重传列表的信息 |
display ospfv3 [ process-id ] [ area area-id ] retrans-queue [ interface-type interface-number ] [ neighbor-id ] |
显示OSPFv3路由表信息 |
display ospfv3 [ process-id ] routing [ ipv6-address prefix-length ] |
显示OSPFv3区域的拓扑信息 |
display ospfv3 [ process-id ] [ area area-id ] spf-tree [ verbose ] |
显示OSPFv3的报文统计信息 |
display ospfv3 [ process-id ] statistics [ error ] |
显示OSPFv3的虚连接信息 |
display ospfv3 [ process-id ] vlink |
重启OSPFv3进程 |
reset ospfv3 [ process-id ] process [ graceful-restart ] |
重新向OSPFv3引入外部路由 |
reset ospfv3 [ process-id ] redistribution |
清除OSPFv3的统计信息 |
reset ospfv3 [ process-id ] statistics |
清除OSPFv3的日志信息 |
reset ospfv3 [ process-id ] event-log [ lsa-flush | peer | spf ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!