点击学习精彩网络技术老师:华为HCIA和HCIP数通eNSP实战视频课、华三、锐捷、WLAN、IPv6等全套视频课程
举例说明如何配置在IS-IS IPv6网络中通过动态BFD实现故障快速检测并通告给IS-IS协议,从而触发业务流量的快速切换。
组网需求
图1为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特性:
在各NE上配置IS-IS IPv6基本功能,保证各路由的IPv6连通性。
在各NE上调整接口的IS-IS cost值,使DeviceS<--->Switch<--->DeviceD成为主路径,使DeviceS<--->DeviceN<--->DeviceD成为备份路径。
在各NE上配置全局使能BFD。
在各NE的IS-IS视图下使能BFD for IPv6 IS-IS。
数据准备
为完成此配置例,需准备如下的数据:
- IS-IS协议进程号
- IS-IS NET
- 各NE所属Level
- 各接口的IS-IS cost值
- 使能BFD for IPv6 IS-IS的接口
- BFD报文的最小发送和接收时间间隔、BFD本地检测倍数
操作步骤
- 使能IPv6转发能力,配置各接口的IPv6地址
# 以DeviceS为例,其他NE的配置类似,此不赘述。
<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,可发现各NE之间互相学习到对方的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 ipv6
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 ipv6
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 ipv6
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