学习精彩网络技术老师:华为HCIA和HCIP数通eNSP实战视频课
学习精彩网络技术老师:华为、华三、锐捷、WLAN、IPv6等全套视频课程
配置BGP ADD-PATH特性,路由器可同时发布多条(两条或两条以上)相同前缀的路由给邻居,形成到达同一目的地址的多条链路,多条链路之间可以形成负载分担或路由备份,从而保证了数据传输的可靠性。
组网需求
在路由反射器场景中,如果反射器的路由表中存在多条到达同一目的地址的相同前缀的路由,根据BGP发布路由的策略,反射器只将最优路由发布给客户机。这可能造成数据传输过程中,到达同一目的地址的链路只有一条,当链路故障时路由收敛需要较长时间,无法满足数据传输高可靠性的需要。
为了解决上述问题,可以在路由反射器上部署BGP ADD-PATH特性,部署该特性后路由器可同时发布多条(两条或两条以上)相同前缀的路由给邻居,形成到达同一目的地址的多条链路,多条链路之间可以形成负载分担或路由备份,从而保证了数据传输的可靠性。
如图1所示,RR为路由反射器,DeviceA、DeviceB、DeviceC为RR的客户机。DeviceB、DeviceC分别与DeviceD建立EBGP邻居。
为了保证数据传输的可靠性,可以在RR上配置BGP ADD-PATH,并在DeviceA上使能ADD-PATH路由接收功能。这样,RR可以发送多条相同前缀的优选路由给DeviceA,从而形成到达同一目的地址的多条链路。
本例中interface1,interface2,interface3,interface4,interface5,interface6分别代表GE0/3/0,GE0/3/2,GE0/3/3,GE0/1/1,GE0/1/2,GE0/1/3。
配置注意事项
在配置过程中,需注意使能BGP ADD-PATH功能时,必须同时使能ADD-PATH路由发送端的发送能力和ADD-PATH路由接收端的接收能力,ADD-PATH路由才可以传递给指定的对等体。
配置思路
采用如下思路配置BGP ADD-PATH功能:
配置各NE接口的IP地址。
在各NE上配置BGP基本功能。
在RR上部署BGP ADD-PATH特性、使能其向DeviceA发送ADD-PATH路由的能力并指定发送的优选路由的条数。
在DeviceA上使能接收RR发来的ADD-PATH路由的能力。
数据准备
为完成此配置例,需准备如下的数据:
DeviceA、DeviceB、DeviceC、DeviceD和RR的Router ID和所在AS号。如表1所示。
设备 | Router ID | 接口编号 | IP地址 | 所在AS号 |
DeviceA | 1.1.1.1 | GigabitEthernet0/3/0 | 172.16.3.1/24 | AS65008 |
GigabitEthernet0/1/1 | 172.16.2.1/24 | |||
GigabitEthernet0/1/3 | 172.16.1.1/24 | |||
DeviceB | 2.2.2.2 | GigabitEthernet0/3/0 | 172.16.3.2/24 | AS65008 |
GigabitEthernet0/3/2 | 172.16.7.1/24 | |||
GigabitEthernet0/1/2 | 172.16.5.2/24 | |||
DeviceC | 3.3.3.3 | GigabitEthernet0/3/0 | 172.16.6.1/24 | AS65008 |
GigabitEthernet0/3/3 | 172.16.4.2/24 | |||
GigabitEthernet0/1/3 | 172.16.1.2/24 | |||
DeviceD | 4.4.4.4 | GigabitEthernet0/3/0 | 172.16.6.2/24 | AS65009 |
GigabitEthernet0/3/2 | 172.16.7.2/24 | |||
LoopBack0 | 1.1.1.1/32 | |||
RR | 5.5.5.5 | GigabitEthernet0/3/3 | 172.16.4.1/24 | AS65008 |
GigabitEthernet0/1/1 | 172.16.2.2/24 | |||
GigabitEthernet0/1/2 | 172.16.5.1/24 |
操作步骤
- 配置各NE接口的IP地址,具体配置过程请参考配置文件。
- 配置BGP基本功能,DeviceA、DeviceB、DeviceC分别与RR建立IBGP邻居,其中RR为反射器,DeviceA、DeviceB、DeviceC为RR的客户机。DeviceB、DeviceC分别与DeviceD建立EBGP邻居。
# 配置DeviceA。
[~DeviceA] bgp 65008
[*DeviceA-bgp] router-id 1.1.1.1
[*DeviceA-bgp] peer 172.16.2.2 as-number 65008
[*DeviceA-bgp] import-route direct
[*DeviceA-bgp] commit
[~DeviceA-bgp] quit
# 配置DeviceB。
[~DeviceB] bgp 65008
[*DeviceB-bgp] router-id 2.2.2.2
[*DeviceB-bgp] peer 172.16.3.1 as-number 65008
[*DeviceB-bgp] peer 172.16.5.1 as-number 65008
[*DeviceB-bgp] peer 172.16.7.2 as-number 65009
[*DeviceB-bgp] import-route direct
[*DeviceB-bgp] commit
[~DeviceB-bgp] quit
# 配置DeviceC。
[~DeviceC] bgp 65008
[*DeviceC-bgp] router-id 3.3.3.3
[*DeviceC-bgp] peer 172.16.1.1 as-number 65008
[*DeviceC-bgp] peer 172.16.4.1 as-number 65008
[*DeviceC-bgp] peer 172.16.6.2 as-number 65009
[*DeviceC-bgp] import-route direct
[*DeviceC-bgp] commit
[~DeviceC-bgp] quit
# 配置DeviceD。
[~DeviceD] bgp 65009
[*DeviceD-bgp] router-id 4.4.4.4
[*DeviceD-bgp] peer 172.16.6.1 as-number 65008
[*DeviceD-bgp] peer 172.16.7.1 as-number 65008
[*DeviceD-bgp] import-route direct
[*DeviceD-bgp] commit
[~DeviceD-bgp] quit
# 配置RR。
[~RR] bgp 65008
[*RR-bgp] router-id 5.5.5.5
[*RR-bgp] peer 172.16.2.1 as-number 65008
[*RR-bgp] peer 172.16.4.2 as-number 65008
[*RR-bgp] peer 172.16.5.2 as-number 65008
[*RR-bgp] peer 172.16.2.1 reflect-client
[*RR-bgp] peer 172.16.4.2 reflect-client
[*RR-bgp] peer 172.16.5.2 reflect-client
[*RR-bgp] import-route direct
[*RR-bgp] commit
[~RR-bgp] quit
# 查看DeviceA上1.1.1.1的路由信息。
[~DeviceA] display bgp routing-table 1.1.1.1
BGP local router ID : 1.1.1.1
Local AS number : 65008
Paths: 1 available, 1 best, 1 select, 0 best-external, 0 add-path
BGP routing table entry information of 1.1.1.1/32:
From: 172.16.2.2 (5.5.5.5)
Route Duration: 0d00h00m25s
Relay IP Nexthop: 172.16.2.2
Relay IP Out-interface: GigabitEthernet0/1/1
Original nexthop: 172.16.7.2
Qos information : 0x0
AS-path 65009, origin incomplete, MED 0, localpref 100, pref-val 0, valid, inte
rnal, best, select, pre 255
Originator: 2.2.2.2
Cluster list: 5.5.5.5
Not advertised to any peer yet
从BGP路由表可以看出,在配置BGP ADD-PATH特性之前,DeviceA只能收到一条来自RR的BGP路由1.1.1.1。
- 在RR上部署BGP ADD-PATH特性并在DeviceA上使能接收ADD-PATH路由功能。
# 配置RR。
[~RR] bgp 65008
[~RR-bgp] bestroute add-path path-number 2
[*RR-bgp] peer 172.16.2.1 capability-advertise add-path send
[*RR-bgp] peer 172.16.2.1 advertise add-path path-number 2
[*RR-bgp] commit
[~RR-bgp] quit
# 配置DeviceA。
[~DeviceA] bgp 65008
[~DeviceA-bgp] peer 172.16.2.2 capability-advertise add-path receive
[*DeviceA-bgp] commit
[~DeviceA-bgp] quit
# 查看DeviceA上1.1.1.1的路由信息。
[~DeviceA] display bgp routing-table 1.1.1.1
BGP local router ID : 1.1.1.1
Local AS number : 65008
Paths: 2 available, 1 best, 1 select, 0 best-external, 0 add-path
BGP routing table entry information of 1.1.1.1/32:
From: 172.16.2.2 (5.5.5.5)
Route Duration: 0d00h00m48s
Relay IP Nexthop: 172.16.2.2
Relay IP Out-interface: GigabitEthernet0/1/1
Original nexthop: 172.16.7.2
Qos information : 0x0
AS-path 65009, origin incomplete, MED 0, localpref 100, pref-val 0, valid, inte
rnal, best, select, pre 255
Received path-id: 0
Originator: 2.2.2.2
Cluster list: 5.5.5.5
Not advertised to any peer yet
BGP routing table entry information of 1.1.1.1/32:
From: 172.16.2.2 (5.5.5.5)
Route Duration: 0d00h00m48s
Relay IP Nexthop: 172.16.2.2
Relay IP Out-interface: GigabitEthernet0/1/1
Original nexthop: 172.16.6.2
Qos information : 0x0
AS-path 65009, origin incomplete, MED 0, localpref 100, pref-val 0, valid, inte
rnal, pre 255, not preferred for router ID
Received path-id: 1
Originator: 3.3.3.3
Cluster list: 5.5.5.5
Not advertised to any peer yet
从BGP路由表可以看出,在部署BGP ADD-PATH特性后,DeviceA收到了两条来自RR的路由,其中原始下一跳地址为172.16.7.2的路由为RR选出的最优路由,原始下一跳地址为172.16.6.2的路由为由于部署了BGP ADD-PATH特性,RR选出的ADD-PATH路由。
# 查看RR上1.1.1.1的路由信息。
[~RR] display bgp routing-table 1.1.1.1
BGP local router ID : 5.5.5.5
Local AS number : 65008
Paths: 2 available, 1 best, 1 select, 0 best-external, 1 add-path
BGP routing table entry information of 1.1.1.1/32:
RR-client route.
From: 172.16.5.2 (2.2.2.2)
Route Duration: 0d00h19m39s
Relay IP Nexthop: 172.16.5.2
Relay IP Out-interface: GigabitEthernet0/1/2
Original nexthop: 172.16.7.2
Qos information : 0x0
AS-path 65009, origin incomplete, MED 0, localpref 100, pref-val 0, valid, inte
rnal, best, select, pre 255
Advertised to such 3 peers:
172.16.5.2
172.16.4.2
172.16.2.1
BGP routing table entry information of 1.1.1.1/32:
RR-client route.
From: 172.16.4.2 (3.3.3.3)
Route Duration: 0d00h19m41s
Relay IP Nexthop: 172.16.4.2
Relay IP Out-interface: GigabitEthernet0/3/3
Original nexthop: 172.16.6.2
Qos information : 0x0
AS-path 65009, origin incomplete, MED 0, localpref 100, pref-val 0, valid, inte
rnal, add-path, pre 255, not preferred for router ID
Advertised to such 1 peers:
172.16.2.1
由RR的路由表可以看出,与best的路由发送给了所有RR的对等体不同,RR选出的ADD-PATH路由只发送给了DeviceA。
配置文件
DeviceA的配置文件
#
sysname RouterA
#
interface GigabitEthernet0/3/0
undo shutdown
ip address 172.16.3.1 255.255.255.0
#
interface GigabitEthernet0/1/1
undo shutdown
ip address 172.16.2.1 255.255.255.0
#
interface GigabitEthernet0/1/3
undo shutdown
ip address 172.16.1.1 255.255.255.0
#
bgp 65008
router-id 1.1.1.1
peer 172.16.2.2 as-number 65008
#
ipv4-family unicast
undo synchronization
import-route direct
peer 172.16.2.2 enable
peer 172.16.2.2 capability-advertise add-path receive
#
return
DeviceB的配置文件
#
sysname RouterB
#
interface GigabitEthernet0/3/0
undo shutdown
ip address 172.16.3.2 255.255.255.0
#
interface GigabitEthernet0/3/2
undo shutdown
ip address 172.16.7.1 255.255.255.0
#
interface GigabitEthernet0/1/2
undo shutdown
ip address 172.16.5.2 255.255.255.0
#
bgp 65008
router-id 2.2.2.2
peer 172.16.3.1 as-number 65008
peer 172.16.5.1 as-number 65008
peer 172.16.7.2 as-number 65009
#
ipv4-family unicast
undo synchronization
import-route direct
peer 172.16.3.1 enable
peer 172.16.5.1 enable
peer 172.16.7.2 enable
#
return
DeviceC的配置文件
#
sysname RouterC
#
interface GigabitEthernet0/3/0
undo shutdown
ip address 172.16.6.1 255.255.255.0
#
interface GigabitEthernet0/3/3
undo shutdown
ip address 172.16.4.2 255.255.255.0
#
interface GigabitEthernet0/1/3
undo shutdown
ip address 172.16.1.2 255.255.255.0
#
bgp 65008
router-id 3.3.3.3
peer 172.16.1.1 as-number 65008
peer 172.16.4.1 as-number 65008
peer 172.16.6.2 as-number 65009
#
ipv4-family unicast
undo synchronization
import-route direct
peer 172.16.1.1 enable
peer 172.16.4.1 enable
peer 172.16.6.2 enable
#
return
DeviceD的配置文件
#
sysname RouterD
#
interface GigabitEthernet0/3/0
undo shutdown
ip address 172.16.6.2 255.255.255.0
#
interface GigabitEthernet0/3/2
undo shutdown
ip address 172.16.7.2 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
bgp 65009
router-id 4.4.4.4
peer 172.16.6.1 as-number 65008
peer 172.16.7.1 as-number 65008
#
ipv4-family unicast
undo synchronization
import-route direct
peer 172.16.6.1 enable
peer 172.16.7.1 enable
#
return
RR的配置文件
#
sysname RR
#
interface GigabitEthernet0/3/3
undo shutdown
ip address 172.16.4.1 255.255.255.0
#
interface GigabitEthernet0/1/1
undo shutdown
ip address 172.16.2.2 255.255.255.0
#
interface GigabitEthernet0/1/2
undo shutdown
ip address 172.16.5.1 255.255.255.0
#
bgp 65008
router-id 5.5.5.5
peer 172.16.2.1 as-number 65008
peer 172.16.4.2 as-number 65008
peer 172.16.5.2 as-number 65008
#
ipv4-family unicast
undo synchronization
import-route direct
bestroute add-path path-number 2
peer 172.16.2.1 enable
peer 172.16.2.1 reflect-client
peer 172.16.2.1 capability-advertise add-path send
peer 172.16.2.1 advertise add-path path-number 2
peer 172.16.4.2 enable
peer 172.16.4.2 reflect-client
peer 172.16.5.2 enable
peer 172.16.5.2 reflect-client
#
return