前面说了OSPF的状态机和一起简单的OSPF配合,接下这章继续写OSPFV2 IP frr和OSPFV3.
什么是OSPF IP FRR?
OSPF IP FRR(Fast Reroute)利用全网链路状态数据库,预先计算出备份路径保存在转发表中,以备在故障时提供流量保护,将故障恢复时间降低。
配置OSPF IP FRR示例
当网络出现故障时,OSPF IP FRR可以将流量快速切换到备份链路上,而不用等待路由收敛,从而达到流量不中断的目的。
同一区域的四台路由器之间运行OSPF协议。
当RouterA和RouterC之间的链路出现故障时,RouterA转发的流量快速切换到备份链路上,通过RouterB转发。
配置思路
采用如下思路配置OSPF IP FRR:
在各路由器上使能OSPF基本功能。
配置cost值,使流量优选RouterA到RouterC之间的链路。
- 由于需保护的是RouterA转发的流量,因此在RouterA上使能OSPF IP FRR。
操作步骤
- 配置各接口的IP地址及cost值
# 配置RouterA的各接口的IP地址。
<Huawei> system-view [Huawei] sysname RouterA [RouterA] interface gigabitethernet 1/0/1 [RouterA-GigabitEthernet1/0/1] ip address 10.2.1.1 255.255.255.0 [RouterA-GigabitEthernet1/0/1] ospf cost 9 [RouterA-GigabitEthernet1/0/1] quit [RouterA] interface gigabitethernet 1/0/2 [RouterA-GigabitEthernet1/0/2] ip address 10.3.1.1 255.255.255.0 [RouterA-GigabitEthernet1/0/2] ospf cost 4
RouterB、RouterC和RouterD的配置同RouterA此处略。
- 配置OSPF基本功能
# 配置RouterA。
[RouterA] router id 10.1.1.1 [RouterA] ospf [RouterA-ospf-1] area 1 [RouterA-ospf-1-area-0.0.0.1] network 10.2.1.1 0.0.0.255 [RouterA-ospf-1-area-0.0.0.1] network 10.3.1.1 0.0.0.255 [RouterA-ospf-1-area-0.0.0.1] quit [RouterA-ospf-1] quit
# 配置RouterB。
[RouterB] router id 10.2.2.2 [RouterB] ospf [RouterB-ospf-1] area 1 [RouterB-ospf-1-area-0.0.0.1] network 10.5.1.2 0.0.0.255 [RouterB-ospf-1-area-0.0.0.1] network 10.2.1.2 0.0.0.255 [RouterB-ospf-1-area-0.0.0.1] quit [RouterB-ospf-1] quit
# 配置RouterC。
[RouterC] router id 10.3.3.3 [RouterC] ospf [RouterC-ospf-1] area 1 [RouterC-ospf-1-area-0.0.0.1] network 10.3.1.3 0.0.0.255 [RouterC-ospf-1-area-0.0.0.1] network 10.4.1.3 0.0.0.255 [RouterC-ospf-1-area-0.0.0.1] network 10.5.1.1 0.0.0.255 [RouterC-ospf-1-area-0.0.0.1] quit [RouterC-ospf-1] quit
# 配置RouterD。
[RouterD] router id 10.4.4.4 [RouterD] ospf [RouterD-ospf-1] area 1 [RouterD-ospf-1-area-0.0.0.1] network 10.4.1.4 0.0.0.255 [RouterD-ospf-1-area-0.0.0.1] quit [RouterD-ospf-1] quit
- 在RouterA上使能OSPF IP FRR
# 在RouterA上使能OSPF IP FRR。
[RouterA] ospf [RouterA-ospf-1] frr [RouterA-ospf-1-frr] loop-free-alternate [RouterA-ospf-1-frr] quit [RouterA-ospf-1] quit
- 验证配置结果
# 查看RouterA到RouterD的路由信息。由于使能了OSPF IP FRR,OSPF生成了一条备份路由。
[RouterA] display ospf routing router-id 10.4.4.4 OSPF Process 1 with Router ID 10.1.1.1 Destination : 10.4.4.4 Route Type : Intra-area Area : 0.0.0.1 AdvRouter : 10.4.4.4 Type : Normal Age : 00h31m27s URT Cost : 59 NextHop : 10.3.1.3 Interface : GigabitEthernet1/0/2 Backup Nexthop : 10.2.1.2 Backup Interface : GigabitEthernet1/0/1 Backup Type : LFA LINK
从显示信息可以看出,RouterA上已经生成了备份的路由。
ospfv3
OSPFv3是运行于IPv6的OSPF路由协议(RFC2740),它在OSPFv2基础上进行了增强,是一个独立的路由协议。
OSPFv3在Hello报文、状态机、LSDB、洪泛机制和路由计算等方面的工作原理和OSPFv2保持一致。
OSPFv3协议把自治系统划分成逻辑意义上的一个或多个区域,通过LSA(Link State Advertisement)的形式发布路由。
OSPFv3依靠在OSPFv3区域内各设备间交互OSPFv3报文来达到路由信息的统一。
OSPFv3报文封装在IPv6报文内,可以采用单播和组播的形式发送。
OSPFv3报文类型
报文类型 |
报文作用 |
---|---|
Hello报文 |
周期性发送,用来发现和维持OSPFv3邻居关系。 |
DD报文(Database Description packet) |
描述了本地LSDB的摘要信息,用于两台设备进行数据库同步。 |
LSR报文(Link State Request packet) |
用于向对方请求所需的LSA。 设备只有在OSPFv3邻居双方成功交换DD报文后才会向对方发出LSR报文。 |
LSU报文(Link State Update packet) |
向对方发送其所需要的LSA。 |
LSAck报文(Link State Acknowledgment packet) |
用来对收到的LSA进行确认。 |
LSA类型
LSA类型 |
LSA作用 |
---|---|
Router-LSA(Type1) |
设备会为每个运行OSPFv3接口所在的区域产生一个LSA,描述了设备的链路状态和开销,在所属的区域内传播。 |
Network-LSA(Type2) |
由DR产生,描述本链路的链路状态,在所属的区域内传播。 |
Inter-Area-Prefix-LSA(Type3) |
由ABR产生,描述区域内某个网段的路由,并通告给其他相关区域。 |
Inter-Area-Router-LSA(Type4) |
由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。 |
AS-external-LSA(Type5) |
由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。 |
NSSA LSA(Type7) |
由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。 |
Link-LSA(Type8) |
每个设备都会为每个链路产生一个Link-LSA,描述到此Link上的link-local地址、IPv6前缀地址,并提供将会在Network-LSA中设置的链路选项,它仅在此链路内传播。 |
Intra-Area-Prefix-LSA(Type9) |
每个设备及DR都会产生一个或多个此类LSA,在所属的区域内传播。
|
设备的类型及含义
设备类型 |
含义 |
---|---|
区域内设备(Internal Router) |
该类设备的所有接口都属于同一个OSPFv3区域。 |
区域边界路由器ABR(Area Border Router) |
该类设备可以同时属于两个以上的区域,但其中一个必须是骨干区域。 ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。 |
骨干路由器(Backbone Router) |
该类设备至少有一个接口属于骨干区域。 因此,所有的ABR和位于Area0的内部路由器都是骨干路由器。 |
自治系统边界路由器ASBR(AS Boundary Router) |
与其他AS交换路由信息的路由器称为ASBR。 ASBR并不一定位于AS的边界,它可能是区域内路由器,也可能是ABR。 |
OSPFv3路由类型
AS区域内和区域间路由描述的是AS内部的网络结构,AS外部路由则描述了应该如何选择到AS以外目的地址的路由。OSPFv3将引入的AS外部路由分为Type1和Type2两类。按优先级从高到低顺序列出了路由类型:
路由类型 |
含义 |
---|---|
Intra Area |
区域内路由。 |
Inter Area |
区域间路由。 |
第一类外部路由(Type1 External) |
这类路由的可信程度高一些,所以计算出的外部路由的开销与自治系统内部的路由开销是相当的,并且和OSPFv3自身路由的开销具有可比性。 到第一类外部路由的开销=本路由器到相应的ASBR的开销+ASBR到该路由目的地址的开销。 |
第二类外部路由(Type2 External) |
这类路由的可信度比较低,所以OSPFv3协议认为从ASBR到自治系统之外的开销远远大于在自治系统之内到达ASBR的开销。 所以,OSPFv3计算路由开销时只考虑ASBR到自治系统之外的开销,即到第二类外部路由的开销=ASBR到该路由目的地址的开销。 |
OSPFv3区域类型
区域类型 |
作用 |
---|---|
Totally Stub Area |
允许ABR发布的Type3缺省路由,不允许自治系统外部路由和区域间的路由。 |
Stub Area |
和Totally Stub区域的不同在于,该区域允许区域间路由。 |
NSSA Area |
和Stub区域的不同在于该区域允许自治系统外部路由的引入,由ASBR发布Type7 LSA通告给本区域,这些Type7 LSA在ABR上转换成Type5 LSA,并且泛洪到整个OSPFv3域中。 |
OSPFv3支持的网络类型
OSPFv3根据链路层协议类型,分别为:
广播类型(Broadcast) |
当链路层协议是Ethernet、FDDI时,缺省情况下,OSPFv3认为网络类型是Broadcast。 在该类型的网络中:
|
NBMA类型(Non-broadcast multiple access) |
当链路层协议是帧中继、ATM或X.25时,缺省情况下,OSPFv3认为网络类型是NBMA。 在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。 |
点到多点P2M类型(Point-to-Multipoint) |
没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将非全连通的NBMA改为点到多点的网络。 在该类型的网络中:
|
点到点P2P类型(point-to-point) |
当链路层协议是PPP、HDLC和LAPB时,缺省情况下,OSPFv3认为网络类型是P2P。 在该类型的网络中,以组播形式(FF02::5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。 |
Stub区域
Stub区域是一些特定的区域,Stub区域的ABR不传播它们接收到的自治系统外部路由,在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。
Stub区域是一种可选的配置属性,但并不是每个区域都符合配置的条件。通常来说,Stub区域位于自治系统的边界,是那些只有一个ABR的非骨干区域。
为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由,并发布给Stub区域中的其他非ABR路由器。
配置Stub区域时需要注意下列几点:
骨干区域不能配置成Stub区域。
如果要将一个区域配置成Stub区域,则该区域中的所有路由器必须都要配置成Stub路由器。
Stub区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播。
虚连接不能穿过Stub区域。
OSPFv3虚连接
虚连接(Virtual link)是指在两台ABR之间通过一个非骨干区域建立的一条逻辑上的连接通道。
虚连接必须在两端同时配置方可生效。
为虚连接两端提供一条非骨干区域内部路由的区域称为传输区域(Transit Area)。
在实际应用中,可能会因为各方面条件的限制,无法满足所有非骨干区域与骨干区域保持连通的要求。这时可以通过配置OSPFv3虚连接予以解决。
虚连接相当于在两个ABR之间形成了一个点到点的连接,因此,虚连接的两端和物理接口一样可以配置接口的各参数,如发送Hello报文间隔等。
OSPFv3多进程
OSPFv3支持多进程,在同一台设备上可以运行多个不同的OSPFv3进程,它们之间互不影响,彼此独立。不同OSPFv3进程之间的路由交互相当于不同路由协议之间的路由交互。
设备的一个接口只能属于某一个OSPFv3进程。
配置案例:
配置OSPFv3区域示例
所有的路由器都运行OSPFv3,整个自治系统划分为3个区域。其中RouterB和RouterC作为ABR来转发区域之间的路由。要求在不影响路由的可达性的前提下,减少Area2区域内的LSA数量。
配置思路
采用如下的思路配置OSPFv3区域:
在各路由器上使能OSPFv3的基本功能,实现网络的互通。
配置Area2为Stub区域,实现减少通告到此区域内的LSA数量,但不影响路由的可达性的需求。
操作步骤
配置各接口的IPv6地址
# 在RouterA上配置IPv6地址。
<Huawei> system-view [Huawei] sysname RouterA [RouterA] ipv6 [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] ipv6 enable [RouterA-GigabitEthernet1/0/0] ipv6 address 2000::1/64 [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] ipv6 enable [RouterA-GigabitEthernet2/0/0] ipv6 address 1001::2/64
RouterB、RouterC和RouterD的配置同RouterA此处略。
配置OSPFv3基本功能
# 配置RouterA。
[RouterA] ipv6 [RouterA] ospfv3 [RouterA-ospfv3-1] router-id 1.1.1.1 [RouterA-ospfv3-1] quit [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] ospfv3 1 area 1 [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] ospfv3 1 area 1 [RouterA-GigabitEthernet2/0/0] quit
# 配置RouterB。
[RouterB] ipv6 [RouterB] ospfv3 [RouterB-ospfv3-1] router-id 2.2.2.2 [RouterB-ospfv3-1] quit [RouterB] interface gigabitethernet 1/0/0 [RouterB-GigabitEthernet1/0/0] ospfv3 1 area 0 [RouterB-GigabitEthernet1/0/0] quit [RouterB] interface gigabitethernet 2/0/0 [RouterB-GigabitEthernet2/0/0] ospfv3 1 area 1 [RouterB-GigabitEthernet2/0/0] quit
# 配置RouterC。
[RouterC] ipv6 [RouterC] ospfv3 [RouterC-ospfv3-1] router-id 3.3.3.3 [RouterC-ospfv3-1] quit [RouterC] interface gigabitethernet 1/0/0 [RouterC-GigabitEthernet1/0/0] ospfv3 1 area 0 [RouterC-GigabitEthernet1/0/0] quit [RouterC] interface gigabitethernet 2/0/0 [RouterC-GigabitEthernet2/0/0] ospfv3 1 area 2 [RouterC-GigabitEthernet2/0/0] quit
# 配置RouterD。
[RouterD] ipv6 [RouterD] ospfv3 [RouterD-ospfv3-1] router-id 4.4.4.4 [RouterD-ospfv3-1] quit [RouterD] interface gigabitethernet 1/0/0 [RouterD-GigabitEthernet1/0/0] ospfv3 1 area 2 [RouterD-GigabitEthernet1/0/0] quit
# 查看RouterB的OSPFv3邻居状态。
[RouterB] display ospfv3 peer
OSPFv3 Process (1) OSPFv3 Area (0.0.0.1) Neighbor ID Pri State Dead Time Interface Instance ID 1.1.1.1 1 Full/ - 00:00:34 GE2/0/0 0 OSPFv3 Area (0.0.0.0) Neighbor ID Pri State Dead Time Interface Instance ID 3.3.3.3 1 Full/ - 00:00:32 GE1/0/0 0
# 查看RouterC的OSPFv3邻居状态。
[RouterC] display ospfv3 peer
OSPFv3 Process (1) OSPFv3 Area (0.0.0.0) Neighbor ID Pri State Dead Time Interface Instance ID 2.2.2.2 1 Full/ - 00:00:37 GE1/0/0 0 OSPFv3 Area (0.0.0.2) Neighbor ID Pri State Dead Time Interface Instance ID 4.4.4.4 1 Full/ - 00:00:33 GE2/0/0 0
# 查看RouterD的OSPFv3路由表信息。
[RouterD] display ospfv3 routing
Codes : E2 - Type 2 External, E1 - Type 1 External, IA - Inter-Area, N - NSSA, U - Uninstalled OSPFv3 Process (1) Destination Metric Next-hop IA 1000::/64 2 via FE80::1572:0:5EF4:1, GigabitEthernet1/0/0 IA 1001::/64 3 via FE80::1572:0:5EF4:1, GigabitEthernet1/0/0 1002::/64 1 directly-connected, GigabitEthernet1/0/0 IA 2000::/64 4 via FE80::1572:0:5EF4:1, GigabitEthernet1/0/0
配置Stub区域
# 配置RouterD的Stub区域。
[RouterD] ospfv3 [RouterD-ospfv3-1] area 2 [RouterD-ospfv3-1-area-0.0.0.2] stub [RouterD-ospfv3-1-area-0.0.0.2] quit
# 配置RouterC的Stub区域,设置发送到Stub区域的缺省路由的开销为10。
[RouterC] ospfv3 [RouterC-ospfv3-1] area 2 [RouterC-ospfv3-1-area-0.0.0.2] stub [RouterC-ospfv3-1-area-0.0.0.2] default-cost 10 [RouterC-ospfv3-1-area-0.0.0.2] quit
# 查看RouterD的OSPFv3路由表信息,可以看到路由表中多了一条缺省路由,它的开销值为直连路由的开销和所配置的开销值之和。
[RouterD] display ospfv3 routing
Codes : E2 - Type 2 External, E1 - Type 1 External, IA - Inter-Area, N - NSSA, U - Uninstalled OSPFv3 Process (1) OSPFv3 Process (1) Destination Metric Next-hop IA ::/0 11 via FE80::1572:0:5EF4:1, GigabitEthernet1/0/0 IA 1000::/64 2 via FE80::1572:0:5EF4:1, GigabitEthernet1/0/0 IA 1001::/64 3 via FE80::1572:0:5EF4:1, GigabitEthernet1/0/0 1002::/64 1 directly-connected, GigabitEthernet1/0/0 IA 2000::/64 4 via FE80::1572:0:5EF4:1, GigabitEthernet1/0/0
配置Totally Stub区域
# 配置RouterC,设置Area2为Totally Stub区域。
[RouterC] ospfv3 [RouterC-ospfv3-1] area 2 [RouterC-ospfv3-1-area-0.0.0.2] stub no-summary [RouterC-ospfv3-1-area-0.0.0.2] quit
验证配置结果
# 查看RouterD的OSPFv3路由表,可以发现路由表项数目减少了,其他非直连路由都被抑制,只有缺省路由被保留。
[RouterD] display ospfv3 routing
Codes : E2 - Type 2 External, E1 - Type 1 External, IA - Inter-Area, N - NSSA, U - Uninstalled OSPFv3 Process (1) OSPFv3 Process (1) Destination Metric Next-hop IA ::/0 11 via FE80::1572:0:5EF4:1, GigabitEthernet1/0/0 1002::/64 1 directly-connected, GigabitEthernet1/0/0
配置OSPFv3的DR选择示例
RouterA的优先级为100,它是网络上的最高优先级,所以RouterA被选为DR;RouterC是优先级第二高的,被选为BDR;RouterB的优先级为0,这意味着它将无法成为DR或BDR;RouterD没有配置优先级,取缺省值1。
配置思路
采用如下的思路配置OSPFv3的DR选择:
配置各路由器上router id,使能OSPFv3,指定网段。
缺省优先级情况下,查看各路由器DR/BDR状态。
配置接口上的DR优先级,查看DR/BDR状态。
操作步骤
配置各接口的IPv6地址
# 在RouterA上配置IPv6地址。
<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] ipv6
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ipv6 enable
[RouterA-GigabitEthernet1/0/0] ipv6 address 1001::1/64
[RouterA-GigabitEthernet1/0/0] quit
RouterB、RouterC和RouterD的配置同RouterA此处略。
配置OSPFv3基本功能
# 配置RouterA,启动OSPFv3,并设置其Router ID为1.1.1.1。
[RouterA] ipv6
[RouterA] ospfv3
[RouterA-ospfv3-1] router-id 1.1.1.1
[RouterA-ospfv3-1] quit
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ospfv3 1 area 0
[RouterA-GigabitEthernet1/0/0] quit
# 配置RouterB,启动OSPFv3,并设置其Router ID为2.2.2.2。
[RouterB] ipv6
[RouterB] ospfv3
[RouterB-ospfv3-1] router-id 2.2.2.2
[RouterB-ospfv3-1] quit
[RouterB] interface gigabitethernet 1/0/0
[RouterB-GigabitEthernet1/0/0] ospfv3 1 area 0
[RouterB-GigabitEthernet1/0/0] quit
# 配置RouterC,启动OSPFv3,并设置其Router ID为3.3.3.3。
[RouterC] ipv6
[RouterC] ospfv3
[RouterC-ospfv3-1] router-id 3.3.3.3
[RouterC-ospfv3-1] quit
[RouterC] interface gigabitethernet 1/0/0
[RouterC-GigabitEthernet1/0/0] ospfv3 1 area 0
[RouterC-GigabitEthernet1/0/0] quit
# 配置RouterD,启动OSPFv3,并设置其Router ID为4.4.4.4。
[RouterD] ipv6
[RouterD] ospfv3
[RouterD-ospfv3-1] router-id 4.4.4.4
[RouterD-ospfv3-1] quit
[RouterD] interface gigabitethernet 1/0/0
[RouterD-GigabitEthernet1/0/0] ospfv3 1 area 0
[RouterD-GigabitEthernet1/0/0] quit
# 查看RouterA的邻居信息,可以看到DR优先级(缺省为1)以及邻居状态,此时RouterD为DR,RouterC为BDR。
当优先级相同时,router-id高的为DR。如果路由器的某个Ethernet接口成为DR之后,则这台路由器的其他广播接口在进行后续的DR选择时,具有高优先权。即选择已经是DR的路由器作为DR,DR不可抢占。
[RouterA] display ospfv3 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 1 2-Way/DROther 00:00:32 GE1/0/0 0
3.3.3.3 1 Full/Backup 00:00:36 GE1/0/0 0
4.4.4.4 1 Full/DR 00:00:38 GE1/0/0 0
# 查看RouterD的邻居信息,可以看到RouterD和其他邻居之间的邻居状态都为Full。
[RouterD] display ospfv3 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 1 Full/DROther 00:00:32 GE1/0/0 0
2.2.2.2 1 Full/DROther 00:00:35 GE1/0/0 0
3.3.3.3 1 Full/Backup 00:00:30 GE1/0/0 0
配置接口的DR优先级
# 配置RouterA的DR优先级为100。
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ospfv3 dr-priority 100
[RouterA-GigabitEthernet1/0/0] quit
# 配置RouterB的DR优先级为0。
[RouterB] interface gigabitethernet 1/0/0
[RouterB-GigabitEthernet1/0/0] ospfv3 dr-priority 0
[RouterB-GigabitEthernet1/0/0] quit
# 配置RouterC的DR优先级为2。
[RouterC] interface gigabitethernet 1/0/0
[RouterC-GigabitEthernet1/0/0] ospfv3 dr-priority 2
[RouterC-GigabitEthernet1/0/0] quit
# 显示RouterA的邻居信息,可以看到DR优先级已经更新,但DR/BDR并未改变。
[RouterA] display ospfv3 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 0 2-Way/DROther 00:00:34 GE1/0/0 0
3.3.3.3 2 Full/Backup 00:00:38 GE1/0/0 0
4.4.4.4 1 Full/DR 00:00:31 GE1/0/0 0
# 显示RouterD的邻居信息,可以看到RouterD仍然为DR。
[RouterD] display ospfv3 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 100 Full/DROther 00:00:36 GE1/0/0 0
2.2.2.2 0 Full/DROther 00:00:30 GE1/0/0 0
3.3.3.3 2 Full/Backup 00:00:36 GE1/0/0 0
重新进行DR/BDR选择
# 重启所有路由器(或者在建立了OSPFv3邻居的接口上配置shutdown或undo shutdown命令),使OSPFv3重新进行DR/BDR的选择。
验证配置结果
# 查看RouterA的邻居信息,可以看到RouterC为BDR。
[RouterA] display ospfv3 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 0 Full/DROther 00:00:31 GE1/0/0 0
3.3.3.3 2 Full/Backup 00:00:36 GE1/0/0 0
4.4.4.4 1 Full/DROther 00:00:39 GE1/0/0 0
# 查看RouterD的邻居信息,可以看到RouterA为DR。
[RouterD] display ospfv3 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 100 Full/DR 00:00:39 GE1/0/0 0
2.2.2.2 0 2-Way/DROther 00:00:35 GE1/0/0 0
3.3.3.3 2 Full/Backup 00:00:39 GE1/0/0 0
配置BFD for OSPFv3示例
BFD for OSPFv3的配置过程,能够快速检测到故障并通告给OSPFv3协议,使业务流量使用备份链路传送。
组网需求
RouterA、RouterB和RouterC之间运行OSPFv3。
使能RouterA、RouterB和RouterC的OSPFv3进程BFD特性。
业务流量在主链路RouterA→RouterB上传送,链路RouterA→RouterC→RouterB作为备份链路。
当RouterA和RouterB之间的链路出现故障时,BFD能够快速检测到故障并通告给OSPFv3协议,使业务流量使用备份链路传送。
配置思路
采用如下思路配置BFD for OSPFv3特性:
在各路由器上使能OSPFv3基本功能;
配置OSPFv3 BFD。
操作步骤
配置各Router接口的IPv6地址(略)
配置OSPFv3基本功能
# 配置RouterA。
[RouterA] ipv6
[RouterA] ospfv3
[RouterA-ospfv3-1] router-id 1.1.1.1
[RouterA-ospfv3-1] quit
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ipv6 enable
[RouterA-GigabitEthernet1/0/0] ospfv3 1 area 0
[RouterA-GigabitEthernet1/0/0] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] ipv6 enable
[RouterA-GigabitEthernet1/0/1] ospfv3 1 area 0.0.0.0
[RouterA-GigabitEthernet1/0/1] quit
# 配置RouterB。
[RouterB] ipv6 enable
[RouterB] ospfv3 1
[RouterB-ospfv3-1] router-id 2.2.2.2
[RouterB-ospfv3-1] quit
[RouterB] interface gigabitethernet 1/0/0
[RouterB-GigabitEthernet1/0/0] ipv6 enable
[RouterB-GigabitEthernet1/0/0] ospfv3 1 area 0.0.0.0
[RouterB-GigabitEthernet1/0/0] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] ipv6 enable
[RouterB-GigabitEthernet1/0/1] ospfv3 1 area 0.0.0.0
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] ipv6 enable
[RouterB-GigabitEthernet1/0/2] ospfv3 1 area 0.0.0.0
# 配置RouterC。
[RouterC] ospfv3 1
[RouterC-ospfv3-1] router-id 3.3.3.3
[RouterC-ospfv3-1] quit
[RouterC] interface gigabitethernet 1/0/0
[RouterC-GigabitEthernet1/0/0] ipv6 enable
[RouterC-GigabitEthernet1/0/0] ospfv3 1 area 0.0.0.0
[RouterC-GigabitEthernet1/0/0] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] ipv6 enable
[RouterC-GigabitEthernet1/0/1] ospfv3 1 area 0.0.0.0
# 配置完成后,执行display ospfv3 peer命令,可以看到RouterA与RouterB、RouterB和RouterC之间都建立了邻居关系。以RouterA的显示结果为例。
[RouterA] display ospfv3 peer verbose
OSPFv3 Process (1) Neighbor 2.2.2.2 is Full, interface address FE80::E0:CE19:8142:1 In the area 0.0.0.0 via interface GE1/0/0 DR Priority is 1 DR is 2.2.2.2 BDR is 1.1.1.1 Options is 0x000013 (-|R|-|-|E|V6) Dead timer due in 00:00:34 Neighbour is up for 01:30:52 Database Summary Packets List 0 Link State Request List 0 Link State Retransmission List 0 Neighbour Event: 6 Neighbour If Id : 0xe Neighbor 3.3.3.3 is Full, interface address FE80::E0:9C69:8142:2 In the area 0.0.0.0 via interface GE1/0/1 DR Priority is 1 DR is 3.3.3.3 BDR is 1.1.1.1 Options is 0x000013 (-|R|-|-|E|V6) Dead timer due in 00:00:37 Neighbour is up for 01:31:18 Database Summary Packets List 0 Link State Request List 0 Link State Retransmission List 0 Neighbour Event: 6 Neighbour If Id : 0x9
# 查看RouterA的OSPFv3路由表的信息,应该有去往RouterB和RouterC的路由表项。
[RouterA] display ospfv3 routing
Codes : E2 - Type 2 External, E1 - Type 1 External, IA - Inter-Area, N - NSSA, U - Uninstalled, D - Denied by Import Policy OSPFv3 Process (1) Destination Metric Next-hop 2001:DB8:1::/64 1 directly connected, GigabitEthernet1/0/0 2001:DB8:2::/64 2 via FE80::E0:9C69:8142:2, GigabitEthernet1/0/1 via FE80::E0:CE19:8142:1, GigabitEthernet1/0/0 2001:DB8:3::/64 1 directly connected, GigabitEthernet1/0/1 2001:DB8:4::1/64 1 via FE80::E0:CE19:8142:1, GigabitEthernet1/0/0
如OSPFv3路由表显示,去往2001:DB8:4::1/64的路由下一跳地址为GigabitEthernet1/0/0,流量在主链路RouterA→RouterB上传输。
配置OSPFv3 BFD
# 在RouterA上使能全局BFD特性。
[RouterA] bfd
[RouterA-bfd] quit
[RouterA] ospfv3
[RouterA-ospfv3-1] bfd all-interfaces enable
[RouterA-ospfv3-1] bfd all-interfaces min-transmit-interval 100 min-receive-interval 100 detect-multiplier 4
# 在RouterB上使能全局BFD特性。
[RouterB] bfd
[RouterB-bfd] quit
[RouterB] ospfv3
[RouterB-ospfv3-1] bfd all-interfaces enable
[RouterB-ospfv3-1] bfd all-interfaces min-transmit-interval 100 min-receive-interval 100 detect-multiplier 4
# 在RouterC上使能全局BFD特性。
[RouterC] bfd
[RouterC-bfd] quit
[RouterC] ospfv3
[RouterC-ospfv3-1] bfd all-interfaces enable
[RouterC-ospfv3-1] bfd all-interfaces min-transmit-interval 100 min-receive-interval 100 detect-multiplier 4
# 配置完成后,在RouterA或RouterB上执行display ospfv3 bfd session命令,可以看到BFD的State状态为Up。
以RouterB的显示为例。
<RouterB> display ospfv3 bfd session verbose
* - STALE OSPFv3 Process (1) Neighbor-Id: 1.1.1.1 BFD Status: Up Interface: GE1/0/0 IPv6-Local-Address: FE80::E0:CE19:8142:1 IPv6-Remote-Address: FE80::E0:4C3A:143:1 BFD Module preferred timer values Transmit-Interval(ms): 100 Receive-Interval(ms): 100 Detect-Multiplier: 3 OSPFv3 Module preferred timer values Transmit-Interval(ms): 100 Receive-Interval(ms): 100 Detect-Multiplier: 3 Configured timer values Transmit-Interval(ms): 100 Receive-Interval(ms): 100 Detect-Multiplier: 3 Neighbor-Id: 3.3.3.3 BFD Status: Down Interface: GE1/0/1 IPv6-Local-Address: FE80::E0:CE19:8142:2 IPv6-Remote-Address: FE80::E0:9C69:8142:1 BFD Module preferred timer values Transmit-Interval(ms): 2200 Receive-Interval(ms): 2200 Detect-Multiplier: 0 OSPFv3 Module preferred timer values Transmit-Interval(ms): 1000 Receive-Interval(ms): 1000 Detect-Multiplier: 3 Configured timer values Transmit-Interval(ms): 1000 Receive-Interval(ms): 1000 Detect-Multiplier: 3
检查配置结果
-
# 对RouterB的GE1/0/0接口执行shutdown命令,模拟主链路故障。
[RouterB] interface gigabitethernet1/0/0
[RouterB-GigabitEthernet1/0/0] shutdown
# 在RouterA上,查看路由表。可以看出,在主链路失效后,备份链路RouterA-RouterC-RouterB生效,去往2001:DB8:4::1/64的路由下一跳为GigabitEthernet1/0/1。
<RouterA> display ospfv3 routing
Codes : E2 - Type 2 External, E1 - Type 1 External, IA - Inter-Area, N - NSSA, U - Uninstalled, D - Denied by Import Policy OSPFv3 Process (1) Destination Metric Next-hop 2001:DB8:1::/64 1 directly connected, GigabitEthernet/0/0 2001:DB8:2::/64 2 via FE80::E0:9C69:8142:2, GigabitEthernet1/0/1 2001:DB8:3::/64 1 directly connected, GigabitEthernet1/0/1 2001:DB8:4::1/64 2 via FE80::E0:9C69:8142:2, GigabitEthernet1/0/1