配置动态BFD for IPv6 IS-IS特性示例
举例说明如何配置在IS-IS IPv6网络中通过动态BFD实现故障快速检测并通告给IS-IS协议,从而触发业务流量的快速切换。
组网需求
图9-8为IS-IS IPv6网络。DeviceS和DeviceD之间的流量主路径为DeviceS<--->Switch<--->DeviceD;备份路径为DeviceS<--->DeviceN<--->DeviceD。
设备名称 |
接口 |
IP地址 |
---|---|---|
DeviceS |
GE0/1/0 |
2001:db8:1::1/64 |
GE0/2/0 |
2001:db8:2::1/64 |
|
DeviceN |
GE0/1/0 |
2001:db8:2::2/64 |
GE0/2/0 |
2001:db8:3::1/64 |
|
DeviceD |
GE0/1/0 |
2001:db8:1::2/64 |
GE0/2/0 |
2001:db8:3::2/64 |
|
GE0/3/0 |
2001:db8:4::1/64 |
要求配置BFD for IPv6 IS-IS,使得当主路径的链路故障或者Switch故障时,DeviceS和DeviceD之间的流量快速切换到备份路径上。
配置思路
采用如下思路配置BFD for IPv6 IS-IS特性:
在各路由器上配置IS-IS IPv6基本功能,保证各路由的IPv6连通性。
在各路由器上调整接口的IS-IS cost值,使DeviceS<--->Switch<--->DeviceD成为主路径,使DeviceS<--->DeviceN<--->DeviceD成为备份路径。
在各路由器上配置全局使能BFD。
在各路由器的IS-IS视图下使能BFD for IPv6 IS-IS。
数据准备
为完成此配置例,需准备如下的数据:
- IS-IS协议进程号
- IS-IS NET
- 各路由器所属Level
- 各接口的IS-IS cost值
- 使能BFD for IPv6 IS-IS的接口
- BFD报文的最小发送和接收时间间隔、BFD本地检测倍数
操作步骤
- 使能IPv6转发能力,配置各接口的IPv6地址
# 以DeviceS为例,其他路由器的配置类似,此不赘述。
<HUAWEI> system-view [~HUAWEI] sysname DeviceS [*HUAWEI] commit [~DeviceS] interface gigabitethernet 0/1/0 [~DeviceS-GigabitEthernet0/1/0] ipv6 enable [*DeviceS-GigabitEthernet0/1/0] ipv6 address 2001:db8:1::1/64 [*DeviceS-GigabitEthernet0/1/0] commit [~DeviceS-GigabitEthernet0/1/0] quit
- 配置IS-IS IPv6的基本功能
# 配置DeviceS。
[~DeviceS] isis 10 [*DeviceS-isis-10] is-level level-2 [*DeviceS-isis-10] network-entity 10.0000.0000.0001.00 [*DeviceS-isis-10] ipv6 enable [*DeviceS-isis-10] quit [*DeviceS] interface gigabitethernet 0/1/0 [*DeviceS-GigabitEthernet0/1/0] isis ipv6 enable 10 [*DeviceS-GigabitEthernet0/1/0] quit [*DeviceS] interface gigabitethernet 0/2/0 [*DeviceS-GigabitEthernet0/2/0] isis ipv6 enable 10 [*DeviceS-GigabitEthernet0/2/0] commit [~DeviceS-GigabitEthernet0/2/0] quit
# 配置DeviceN。
[~DeviceN] isis 10 [*DeviceN-isis-10] is-level level-2 [*DeviceN-isis-10] network-entity 10.0000.0000.0002.00 [*DeviceN-isis-10] ipv6 enable [*DeviceN-isis-10] quit [*DeviceN] interface gigabitethernet 0/1/0 [*DeviceN-GigabitEthernet0/1/0] isis ipv6 enable 10 [*DeviceN-GigabitEthernet0/1/0] quit [*DeviceN] interface gigabitethernet 0/2/0 [*DeviceN-GigabitEthernet0/2/0] isis ipv6 enable 10 [*DeviceN-GigabitEthernet0/2/0] commit [~DeviceN-GigabitEthernet0/2/0] quit
# 配置DeviceD。
[~DeviceD] isis 10 [*DeviceD-isis-10] is-level level-2 [*DeviceD-isis-10] network-entity 10.0000.0000.0003.00 [*DeviceD-isis-10] ipv6 enable [*DeviceD-isis-10] quit [*DeviceD] interface gigabitethernet 0/1/0 [*DeviceD-GigabitEthernet0/1/0] isis ipv6 enable 10 [*DeviceD-GigabitEthernet0/1/0] quit [*DeviceD] interface gigabitethernet 0/2/0 [*DeviceD-GigabitEthernet0/2/0] isis ipv6 enable 10 [*DeviceD-GigabitEthernet0/2/0] quit [*DeviceD] interface gigabitethernet 0/3/0 [*DeviceD-GigabitEthernet0/3/0] isis ipv6 enable 10 [*DeviceD-GigabitEthernet0/3/0] commit [~DeviceD-GigabitEthernet0/3/0] quit
# 完成此步骤后,执行命令display ipv6 routing-table,可发现各路由器之间互相学习到对方的IPv6路由。
- 配置接口的IS-IS cost
# 配置DeviceS。
[~DeviceS] interface gigabitethernet 0/1/0 [~DeviceS-GigabitEthernet0/1/0] isis ipv6 cost 1 level-2 [*DeviceS-GigabitEthernet0/1/0] quit [*DeviceS] interface gigabitethernet 0/2/0 [*DeviceS-GigabitEthernet0/2/0] isis ipv6 cost 10 level-2 [*DeviceS-GigabitEthernet0/2/0] commit [~DeviceS-GigabitEthernet0/2/0] quit
# 配置DeviceN。
[~DeviceN] interface gigabitethernet 0/1/0 [~DeviceN-GigabitEthernet0/1/0] isis ipv6 cost 10 level-2 [*DeviceN-GigabitEthernet0/1/0] quit [*DeviceN] interface gigabitethernet 0/2/0 [*DeviceN-GigabitEthernet0/2/0] isis ipv6 cost 10 level-2 [*DeviceN-GigabitEthernet0/2/0] commit [~DeviceN-GigabitEthernet0/2/0] quit
# 配置DeviceD。
[~DeviceD] interface gigabitethernet 0/1/0 [~DeviceD-GigabitEthernet0/1/0] isis ipv6 cost 1 level-2 [*DeviceD-GigabitEthernet0/1/0] quit [*DeviceD] interface gigabitethernet 0/2/0 [*DeviceD-GigabitEthernet0/2/0] isis ipv6 cost 10 level-2 [*DeviceD-GigabitEthernet0/2/0] commit [~DeviceD-GigabitEthernet0/2/0] quit
- 配置BFD for IPv6 IS-IS
# 在DeviceS、DeviceN和DeviceD上全局使能BFD for IPv6 IS-IS,并指定最小发送和接收间隔为150毫秒。本地检测时间倍数采用默认值3。
# 配置DeviceS。
[~DeviceS] bfd [*DeviceS-bfd] quit [*DeviceS] isis 10 [*DeviceS-isis-10] ipv6 bfd all-interfaces enable [*DeviceS-isis-10] ipv6 bfd all-interfaces min-tx-interval 150 min-rx-interval 150 [*DeviceS-isis-10] commit [~DeviceS-isis-10] quit
# 配置DeviceN。
[~DeviceN] bfd [*DeviceN-bfd] quit [*DeviceN] isis 10 [*DeviceN-isis-10] ipv6 bfd all-interfaces enable [*DeviceN-isis-10] ipv6 bfd all-interfaces min-tx-interval 150 min-rx-interval 150 [*DeviceN-isis-10] commit [~DeviceN-isis-10] quit
# 配置DeviceD。
[~DeviceD] bfd [*DeviceD-bfd] quit [*DeviceD] isis 10 [*DeviceD-isis-10] ipv6 bfd all-interfaces enable [*DeviceD-isis-10] ipv6 bfd all-interfaces min-tx-interval 150 min-rx-interval 150 [*DeviceD-isis-10] commit [~DeviceD-isis-10] quit
# 配置完成后,在DeviceS或DeviceD上执行display isis ipv6 bfd session all命令,可以看到BFD参数已生效。以DeviceS的显示为例。
[~DeviceS] display isis ipv6 bfd 10 session all IPv6 BFD session information for ISIS(10) ---------------------------------------- Peer System ID : 0000.0000.0003 Type : L2 Interface : GE0/1/0 IPv6 BFD State : up TX : 150 RX : 150 Multiplier : 3 LocDis : 16386 Local IPv6 Address: FE80::E0:2F47:B103:1 RemDis : 16386 Peer IPv6 Address : FE80::E0:2F47:B107:1 Diag : No diagnostic information Peer System ID : 0000.0000.0002 Type : L2 Interface : GE0/2/0 IPv6 BFD State : up TX : 150 RX : 150 Multiplier : 3 LocDis : 16386 Local IPv6 Address: FE80::C964:0:B203:1 RemDis : 16386 Peer IPv6 Address : FE80::C964:0:B8B6:1 Diag : No diagnostic information Total BFD session(s): 2
- 检查配置结果
# 在设备DeviceS上执行display ipv6 routing-table 2001:db8:4::1 64命令,查看IPv6路由表。可以看到下一跳地址为FE80::E0:2F47:B107:1,出接口为GigabitEthernet0/1/0。
[~DeviceS] display ipv6 routing-table 2001:db8:4::1 64 Routing Table : public Summary Count : 1 Destination : 2001:db8:4:: PrefixLength : 64 NextHop : FE80::E0:2F47:B107:1 Preference : 15 Cost : 11 Protocol : ISIS RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/0 Flags : D
# 对DeviceD的GigabitEthernet0/1/0接口执行shutdown命令,模拟主链路故障。
[~DeviceD] interface gigabitethernet 0/1/0 [~DeviceD-GigabitEthernet0/1/0] shutdown [*DeviceD-GigabitEthernet0/1/0] commit
# 在设备DeviceS上执行display ipv6 routing-table 2001:db8:4::1 64命令,查看IPv6路由表。
[~DeviceS] display ipv6 routing-table 2001:db8:4::1 64 Routing Table : public Summary Count : 1 Destination : 2001:db8:4:: PrefixLength : 64 NextHop : FE80::C964:0:B8B6:1 Preference : 15 Cost : 20 Protocol : ISIS RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/2/0 Flags : D
从路由表可以看出,在主链路失效后,备份路径生效,去往2001:db8:4::/64的路由下一跳地址变为FE80::C964:0:B8B6:1,出接口变为GigabitEthernet0/2/0,路由开销也有可能发生变化。
# 在DeviceS上执行display isis ipv6 bfd session all命令,可看到DeviceS和DeviceN之间的BFD会话只有1条状态为Up。
[~DeviceS] display isis ipv6 bfd 10 session all IPv6 BFD session information for ISIS(10) ---------------------------------------- Peer System ID : 0000.0000.0002 Type : L2 Interface : GE0/2/0 IPv6 BFD State : up TX : 10 RX : 10 Multiplier : 3 LocDis : 16386 Local IPv6 Address: FE80::C964:0:B203:1 RemDis : 16386 Peer IPv6 Address : FE80::C964:0:B8B6:1 Diag : No diagnostic information Total BFD session(s): 1
配置文件
DeviceS的配置文件
# sysname DeviceS # bfd # isis 10 is-level level-2 network-entity 10.0000.0000.0001.00 # ipv6 enable topology standard ipv6 bfd all-interfaces enable ipv6 bfd all-interfaces min-tx-interval 150 min-rx-interval 150 # # interface GigabitEthernet0/1/0 undo shutdown ipv6 enable ipv6 address 2001:db8:1::1/64 isis ipv6 enable 10 isis ipv6 cost 1 level-2 # interface GigabitEthernet0/2/0 undo shutdown ipv6 enable ipv6 address 2001:db8:2::1/64 isis ipv6 enable 10 isis ipv6 cost 10 level-2 # return
DeviceN的配置文件
# sysname DeviceN # bfd # isis 10 is-level level-2 network-entity 10.0000.0000.0002.00 # ipv6 enable topology standard ipv6 bfd all-interfaces enable ipv6 bfd all-interfaces min-tx-interval 150 min-rx-interval 150 # # interface GigabitEthernet0/1/0 undo shutdown ipv6 enable ipv6 address 2001:db8:2::2/64 isis ipv6 enable 10 isis ipv6 cost 10 level-2 # interface GigabitEthernet0/2/0 undo shutdown ipv6 enable ipv6 address 2001:db8:3::1/64 isis ipv6 enable 10 isis ipv6 cost 10 level-2 # return
DeviceD的配置文件
# sysname DeviceD # bfd # isis 10 is-level level-2 network-entity 10.0000.0000.0003.00 # ipv6 enable topology standard ipv6 bfd all-interfaces enable ipv6 bfd all-interfaces min-tx-interval 150 min-rx-interval 150 # # interface GigabitEthernet0/1/0 undo shutdown ipv6 enable ipv6 address 2001:db8:1::2/64 isis ipv6 enable 10 isis ipv6 cost 1 level-2 # interface GigabitEthernet0/2/0 undo shutdown ipv6 enable ipv6 address 2001:db8:3::2/64 isis ipv6 enable 10 isis ipv6 cost 10 level-2 # interface GigabitEthernet0/3/0 undo shutdown ipv6 enable ipv6 address 2001:db8:4::1/64 isis ipv6 enable 10 # return
Switch的配置文件
略。