最佳答案
配置BGP GR功能后,请慎用BGP与BFD联动功能。因为当链路故障时,系统可能还没来得及启用GR处理流程,BFD已经检测到链路故障了,从而导致GR失败。如果设备上同时配置了BGP GR和BGP BFD,则在BGP GR期间请勿去使能BGP BFD,否则可能导致GR失败。
BGP协议通过存活时间(Keepalive)定时器和保持时间(Holdtime)定时器来维护邻居关系。但这些定时器都是秒级的,而且根据协议规定,设置的保持时间应该至少为存活时间间隔的三倍。这样使得BGP邻居关系的检测比较慢,对于报文收发速度快的接口会导致大量报文丢失。通过配置BGP与BFD联动,可以使用BFD来检测本地路由器和BGP对等体之间的链路。当本地路由器和BGP对等体之间的链路出现故障时,BFD可以快速检测到该故障,从而加快BGP协议的收敛速度。有关BFD的介绍和详细配置,请参见“可靠性配置指导”中的“BFD”。
配置通过BFD检测本地路由器和指定BGP对等体之间的链路之前,需要先在本地路由器和指定BGP对等体之间建立BGP会话。
表1-114 配置BGP与BFD联动(IPv4单播/IPv4组播)
进入BGP视图或BGP-VPN实例视图 |
进入BGP视图 |
||
进入BGP-VPN实例视图 |
|||
配置通过BFD检测本地路由器和指定BGP对等体之间的链路 |
缺省情况下,不使用BFD检测本地路由器和BGP对等体之间的链路 |
表1-115 配置BGP与BFD联动(IPv6单播/IPv6组播)
进入BGP视图或BGP-VPN实例视图 |
进入BGP视图 |
||
进入BGP-VPN实例视图 |
|||
配置通过BFD检测本地路由器和指定IPv6 BGP对等体之间的链路 |
缺省情况下,不使用BFD检测本地路由器和IPv6 BGP对等体之间的链路 |
· 在AS 200内使用OSPF作为IGP协议,实现AS内的互通。
· Router A与Router C之间建立两条IBGP连接。当Router A与Router C之间的两条路径均连通时,Router C与1.1.1.0/24之间的报文使用Router A<->Router B<->Router C这条路径转发;当Router A<->Router B<->Router C这条路径发生故障时,BFD能够快速检测并通告BGP协议,使得Router A<->Router D<->Router C这条路径能够迅速生效。
图1-25 配置BGP与BFD联动组网图
(1) 配置各接口的IP地址(略)
(2) 配置OSPF,保证Router A和Router C之间路由可达(略)
(3) Router A上的BGP配置
# 配置Router A和Router C建立两条IBGP连接。
[RouterA] bgp 200
[RouterA-bgp] peer 3.0.2.2 as-number 200
[RouterA-bgp] peer 2.0.2.2 as-number 200
[RouterA-bgp] address-family ipv4 unicast
[RouterA-bgp-ipv4] peer 3.0.2.2 enable
[RouterA-bgp-ipv4] peer 2.0.2.2 enable
[RouterA-bgp-ipv4] quit
# 配置当Router A与Router C之间的两条路径均连通时,Router C与1.1.1.0/24之间的报文使用Router A<->Router B<->Router C这条路径转发。(在Router A上对发布给对等体2.0.2.2的1.1.1.0/24路由配置较高的MED属性值)
· 定义编号为2000的ACL,允许路由1.1.1.0/24通过。
[RouterA-acl-basic-2000] rule permit source 1.1.1.0 0.0.0.255
[RouterA-acl-basic-2000] quit
· 定义两个Route-policy,一个名为apply_med_50,为路由1.1.1.0/24设置MED属性值为50;另一个名为apply_med_100,为路由1.1.1.0/24设置MED属性值为100。
[RouterA] route-policy apply_med_50 permit node 10
[RouterA-route-policy-apply_med_50-10] if-match ip address acl 2000
[RouterA-route-policy-apply_med_50-10] apply cost 50
[RouterA-route-policy-apply_med_50-10] quit
[RouterA] route-policy apply_med_100 permit node 10
[RouterA-route-policy-apply_med_100-10] if-match ip address acl 2000
[RouterA-route-policy-apply_med_100-10] apply cost 100
[RouterA-route-policy-apply_med_100-10] quit
· 对发布给对等体3.0.2.2的路由应用名为apply_med_50的Route-policy,对发布给对等体2.0.2.2的路由应用名为apply_med_100的Route-policy。
[RouterA-bgp] address-family ipv4 unicast
[RouterA-bgp-ipv4] peer 3.0.2.2 route-policy apply_med_50 export
[RouterA-bgp-ipv4] peer 2.0.2.2 route-policy apply_med_100 export
[RouterA-bgp-ipv4] quit
# 配置当Router A<->Router B<->Router C这条路径发生故障时,BFD能够快速检测并通告BGP协议,使得Router A<->Router D<->Router C这条路径能够迅速生效。
[RouterA-bgp] peer 3.0.2.2 bfd
[RouterA-bgp] quit
(4) Router C上的BGP配置。
# 配置Router A和Router C建立两条IBGP连接。
[RouterC] bgp 200
[RouterC-bgp] peer 3.0.1.1 as-number 200
[RouterC-bgp] peer 2.0.1.1 as-number 200
[RouterC-bgp] address-family ipv4 unicast
[RouterC-bgp-ipv4] peer 3.0.1.1 enable
[RouterC-bgp-ipv4] peer 2.0.1.1 enable
[RouterA-bgp-ipv4] quit
# 配置当Router A<->Router B<->Router C这条路径发生故障时,BFD能够快速检测并通告BGP协议,使得Router A<->Router D<->Router C这条路径能够迅速生效。
[RouterC-bgp] peer 3.0.1.1 bfd
[RouterC-bgp] quit
[RouterC] quit
下面以Router C为例,Router A和Router C类似,不再赘述。
# 显示Router C的BFD信息。
<RouterC> display bfd session verbose
Total Session Num: 1 Up Session Num: 1 Init Mode: Active
IPv4 Session Working Under Ctrl Mode:
Local Discr: 513 Remote Discr: 513
Source IP: 3.0.2.2 Destination IP: 3.0.1.1
Session State: Up Interface: N/A
Min Tx Inter: 500ms Act Tx Inter: 500ms
Min Rx Inter: 500ms Detect Inter: 2500ms
Rx Count: 135 Tx Count: 135
Connect Type: Indirect Running Up for: 00:00:58
Hold Time: 2457ms Auth mode: None
Detect Mode: Async Slot: 0
Protocol: BGP
Diag Info: No Diagnostic
以上显示信息表明:Router A和Router C之间已经建立了BFD连接,而且BFD协议运行正常。
# 在Router C上查看BGP邻居信息,可以看出Router A和Router C之间建立两条BGP连接,且均处于Established状态。
<RouterC> display bgp peer ipv4
BGP local router ID: 3.3.3.3
Local AS number: 200
Total number of peers: 2 Peers in established state: 2
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
2.0.1.1 200 4 5 0 0 00:01:55 Established
3.0.1.1 200 4 5 0 0 00:01:52 Established
# 在Router C上查看1.1.1.0/24的路由信息,可以看出Router C通过Router A<->Router B<->Router C这条路径与1.1.1.0/24网段通信。
<RouterC> display ip routing-table 1.1.1.0 24 verbose
Summary Count : 1
Destination: 1.1.1.0/24
Protocol: BGP Process ID: 0
SubProtID: 0x1 Age: 00h00m09s
Cost: 50 Preference: 255
Tag: 0 State: Active Adv
OrigTblID: 0x1 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NBRID: 0x15000001 LastAs: 0
AttrID: 0x1 Neighbor: 3.0.1.1
Flags: 0x10060 OrigNextHop: 3.0.1.1
Label: NULL RealNextHop: 3.0.2.1
BkLabel: NULL BkNextHop: N/A
Tunnel ID: Invalid Interface: GigabitEthernet2/1/1
BkTunnel ID: Invalid BkInterface: N/A
# Router A和Router B之间的链路发生故障后,在Router C上查看1.1.1.0/24的路由信息,可以看出Router C通过Router A<->Router D<->Router C这条路径与1.1.1.0/24网段通信。
<RouterC> display ip routing-table 1.1.1.0 24 verbose
Summary Count : 1
Destination: 1.1.1.0/24
Protocol: BGP Process ID: 0
SubProtID: 0x1 Age: 00h03m08s
Cost: 100 Preference: 255
Tag: 0 State: Active Adv
OrigTblID: 0x1 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NBRID: 0x15000000 LastAs: 0
AttrID: 0x0 Neighbor: 2.0.1.1
Flags: 0x10060 OrigNextHop: 2.0.1.1
Label: NULL RealNextHop: 2.0.2.1
BkLabel: NULL BkNextHop: N/A
Tunnel ID: Invalid Interface: GigabitEthernet2/1/2
BkTunnel ID: Invalid BkInterface: N/A
(0)
OK,谢谢
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
OK,谢谢