学习精彩网络技术老师:华为、华三、锐捷、WLAN、IPv6等全套视频课程
当BGP4+对等体之间的链路发生故障时,BFD能够快速检测到故障并通告给BGP4+,使业务流量使用备份链路传送。
组网需求
如图1,DeviceA属于AS100,DeviceB和DeviceC属于AS200,DeviceA和DeviceB、DeviceA和DeviceC分别建立EBGP连接。
业务流量在主链路DeviceA→DeviceB上传送,链路DeviceA→DeviceC→DeviceB作为备份链路。
使用BFD检测DeviceA和DeviceB之间的BGP邻居关系,当DeviceA和DeviceB之间的链路发生故障时,BFD能够快速检测到故障并通告给BGP协议,使业务流量使用备份链路传送。
本例中interface1,interface2,interface3分别代表GE 0/1/0,GE 0/2/0,GE 0/3/0。
配置思路
采用如下思路配置BFD for BGP4+功能:
在各NE上配置BGP4+基本功能。
在DeviceA和DeviceB上配置MED属性控制路由的选路功能,使流量在主链路DeviceA到DeviceB上传输。
在DeviceA和DeviceB上使能BFD检测机制。
数据准备
为完成此配置例,需准备如下的数据:
DeviceA、DeviceB和DeviceC的Router ID和所在AS号。
BFD检测的对端IPv6地址。
BFD控制报文的最小发送间隔、最小接收间隔、本地检测倍数。
操作步骤
- 配置各NE接口的IPv6地址(略)
- 配置BGP4+基本功能,在DeviceA和DeviceB,DeviceA和DeviceC之间建立EBGP连接,DeviceB和DeviceC之间建立IBGP连接。
# 配置DeviceA。
[~DeviceA] bgp 100
[*DeviceA-bgp] router-id 1.1.1.1
[*DeviceA-bgp] peer 2001:db8:8::2 as-number 200
[*DeviceA-bgp] peer 2001:db8:10::2 as-number 200
[*DeviceA-bgp] ipv6-family unicast
[*DeviceA-bgp-af-ipv6] peer 2001:db8:8::2 enable
[*DeviceA-bgp-af-ipv6] peer 2001:db8:10::2 enable
[*DeviceA-bgp-af-ipv6] commit
[~DeviceA-bgp-af-ipv6] quit
[~DeviceA-bgp] quit
# 配置DeviceB。
[~DeviceB] bgp 200
[*DeviceB-bgp] router-id 2.2.2.2
[*DeviceB-bgp] peer 2001:db8:8::1 as-number 100
[*DeviceB-bgp] peer 2001:db8:9::1:2 as-number 200
[*DeviceB-bgp] ipv6-family unicast
[*DeviceB-bgp-af-ipv6] peer 2001:db8:8::1 enable
[*DeviceB-bgp-af-ipv6] peer 2001:db8:9::1:2 enable
[*DeviceB-bgp-af-ipv6] network 2001:db8:7::1 64
[*DeviceB-bgp-af-ipv6] commit
[~DeviceB-bgp-af-ipv6] quit
[~DeviceB-bgp] quit
# 配置DeviceC。
[~Devicec] bgp 200
[*Devicec-bgp] router-id 3.3.3.3
[*Devicec-bgp] peer 2001:db8:10::1 as-number 100
[*Devicec-bgp] peer 2001:db8:9::1:1 as-number 200
[*DeviceC-bgp] ipv6-family unicast
[*DeviceC-bgp-af-ipv6] peer 2001:db8:10::1 enable
[*DeviceC-bgp-af-ipv6] peer 2001:db8:9::1:1 enable
[*DeviceC-bgp-af-ipv6] commit
[~DeviceC-bgp-af-ipv6] quit
[~DeviceC-bgp] quit
# 在DeviceA上查看,BGP邻居已经建立(Established)。
<DeviceA> display bgp ipv6 peer
BGP local router ID : 1.1.1.1
Local AS number : 100
Total number of peers : 2 Peers in established state : 2
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
2001:db8:8::2 4 200 12 11 0 00:07:26 Established 0
2001:db8:10::2 4 200 12 12 0 00:07:21 Established 0
- 配置MED属性
通过策略配置DeviceB和DeviceC发送给DeviceA的MED值。
# 配置DeviceB。
[~DeviceB] route-policy 10 permit node 10
[*DeviceB-route-policy] apply cost 100
[*DeviceB-route-policy] quit
[*DeviceB] bgp 200
[*DeviceB-bgp] ipv6-family unicast
[*DeviceB-bgp-af-ipv6] peer 2001:db8:8::1 route-policy 10 export
[*DeviceB-bgp-af-ipv6] quit
[*DeviceB-bgp] quit
[*DeviceB] commit
# 配置DeviceC。
[~DeviceC] route-policy 10 permit node 10
[*DeviceC-route-policy] apply cost 150
[*DeviceC-route-policy] quit
[*DeviceC] bgp 200
[*DeviceC-bgp] ipv6-family unicast
[*DeviceC-bgp-af-ipv6] peer 2001:db8:10::1 route-policy 10 export
[*DeviceC-bgp-af-ipv6] quit
[*DeviceC-bgp] quit
[*DeviceC] commit
# 查看DeviceA上BGP的所有路由信息。
<DeviceA> display bgp ipv6 routing-table
BGP Local router ID is 1.1.1.1
Status codes: * - valid, > - best, d - damped, x - best external, a - add path,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete RPKI validation codes: V - valid, I - invalid, N - not-found
Total Number of Routes: 2
*> Network : 2001:db8:7:: PrefixLen : 64
NextHop : 2001:db8:8::2 LocPrf :
MED : 100 PrefVal : 0
Label :
Path/Ogn : 200 i
*
NextHop : 2001:db8:10::2 LocPrf :
MED : 150 PrefVal : 0
Label :
Path/Ogn : 200 i
从BGP路由表可以看出,去往2001:db8:7::1/64的路由下一跳地址为2001:db8:8::2,流量在主链路DeviceA→DeviceB上传输。
- 配置BFD检测功能、发送和接收间隔、本地检测时间倍数。
# 在DeviceA上使能BFD功能,并指定最小发送和接收间隔为100ms,本地检测时间倍数为4。
[~DeviceA] bfd
[*DeviceA-bfd] quit
[*DeviceA] bgp 100
[*DeviceA-bgp] peer 2001:db8:8::2 bfd enable
[*DeviceA-bgp] peer 2001:db8:8::2 bfd min-tx-interval 100 min-rx-interval 100 detect-multiplier 4
[*DeviceA-bgp] quit
[*DeviceA] commit
# 在DeviceB上使能BFD功能,并指定最小发送和接收间隔为100ms,本地检测时间倍数为4。
[~DeviceB] bfd
[*DeviceB-bfd] quit
[*DeviceB] bgp 200
[*DeviceB-bgp] peer 2001:db8:8::1 bfd enable
[*DeviceB-bgp] peer 2001:db8:8::1 bfd min-tx-interval 100 min-rx-interval 100 detect-multiplier 4
[*DeviceB-bgp] commit
# 在DeviceA上显示BGP建立的所有BFD会话。
<DeviceA> display bgp ipv6 bfd session all
--------------------------------------------------------------------------------
Local_Address : 2001:db8:8::1
Peer_Address : 2001:db8:8::2
Tx-interval(ms): 100 Rx-interval(ms): 100
Multiplier : 4 Interface : GigabitEthernet0/1/0
Session-State : Up
Wtr-interval(m): 0
--------------------------------------------------------------------------------
- 查看配置结果
# 对DeviceB的GE0/2/0接口执行shutdown命令,模拟主链路故障。
[~DeviceB] interface gigabitethernet 0/2/0
[~DeviceB-Gigabitethernet0/2/0] shutdown
# 在NEDeviceA上,查看BGP路由表。
<DeviceA> display bgp ipv6 routing-table
Total Number of Routes: 1
BGP Local router ID is 1.1.1.1
Status codes: * - valid, > - best, d - damped, x - best external, a - add path,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete RPKI validation codes: V - valid, I - invalid, N - not-found
*> Network : 2001:db8:7:: PrefixLen : 64
NextHop : 2001:db8:10::2 LocPrf :
MED : 150 PrefVal : 0
Label :
Path/Ogn : 200 i
从BGP路由表可以看出,在主链路失效后,备份链路DeviceA-DeviceC-DeviceB生效,去往2001:db8:7::1/64的路由下一跳地址为2001:db8:10::2。
配置文件
DeviceA的配置文件
#
sysname DeviceA
#
bfd
#
interface GigabitEthernet0/1/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:8::1/64
#
interface GigabitEthernet0/2/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:10::1/64
#
bgp 100
router-id 1.1.1.1
peer 2001:db8:8::2 as-number 200
peer 2001:db8:8::2 bfd min-tx-interval 100 min-rx-interval 100 detect-multiplier 4
peer 2001:db8:8::2 bfd enable
peer 2001:db8:10::2 as-number 200
#
ipv4-family unicast
undo synchronization
#
ipv6-family unicast
undo synchronization
peer 2001:db8:8::2 enable
peer 2001:db8:10::2 enable
#
return
DeviceB的配置文件
#
sysname DeviceB
#
bfd
#
interface GigabitEthernet0/2/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:8::2/64
#
interface GigabitEthernet0/1/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:9::1:1/64
#
interface GigabitEthernet0/3/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:7::1/64
#
bgp 200
router-id 2.2.2.2
peer 2001:db8:8::1 as-number 100
peer 2001:db8:8::1 bfd min-tx-interval 100 min-rx-interval 100 detect-multiplier 4
peer 2001:db8:8::1 bfd enable
peer 2001:db8:9::1:2 as-number 200
#
ipv4-family unicast
undo synchronization
#
ipv6-family unicast
undo synchronization
network 2001:db8:7:: 64
peer 2001:db8:8::1 enable
peer 2001:db8:8::1 route-policy 10 export
peer 2001:db8:9::1:2 enable
#
route-policy 10 permit node 10
apply cost 100
#
return
DeviceC的配置文件
#
sysname DeviceC
#
interface GigabitEthernet0/1/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:9::1:2/64
#
interface GigabitEthernet0/2/0
undo shutdown
ipv6 enable
ipv6 address 2001:db8:10::2/64
#
bgp 200
router-id 3.3.3.3
peer 2001:db8:9::1:1 as-number 200
peer 2001:db8:10::1 as-number 100
#
ipv4-family unicast
undo synchronization
#
ipv6-family unicast
undo synchronization
peer 2001:db8:9::1:1 enable
peer 2001:db8:10::1 enable
peer 2001:db8:10::1 route-policy 10 export
#
route-policy 10 permit node 10
apply cost 150
#
return