实验拓扑

实验目的
1、在R1上使用import 发布172.16.1.0/24 、 172.16.2.0/24 路由并自动汇总,在R3上使用import-route 命令 发布172.17.1.0/24 、172.17.2.0/24 路由;在R2上执行手动汇总,分辨如果不手动汇总情况下观察各BGP 路由表的as-path 属性。
3、学习BGP 自动汇总,手动汇总,手动汇总关键字as-set的作用;首先BGP 自动汇总功能仅对import-route 引入的BGP路由有效,其次 BGP 产生的汇总路由只能是主类网络路由。
4、EBGP 对等体的建立和IBGP 对等体的建立使用的接口一般规则。
5、认识BGP 路由汇总的必要性、路由汇总对AS-PATH的影响,汇总子命令as-set的作用。
6、自动聚合对IP地址规划要求苛刻的,在BGP网络环境中,IP地址规划难以做到规整有序,在实际的项目中,很少启用BGP 自动路由聚合功能。
思考
Aggregate(手动聚合) 和Summary automatic 产生的汇总路由在携带路径属性上有什么不同?
手动聚合的2种方式:
第一种方法是通过配置静态路由使用Network 命令进行通告,在ASBR上写指向Null0接口的大段静态路由,让ASBR的IGP表里有汇总后的大段路由,然后再在BGP地址族里用network发布。
第二种方法是通过Aggregate 命令进行聚合。
使用第一种方法时,无法对通告的静态路由加以控制,并且明细路由仍然会被通告出去。如要抑制明细路由则需要使用Route-Policy 来对明细路由进行过滤,实现起来配置命令较多。使用第二种方法时,缺省情况下明细路由和聚合路由都会被发出去,但是可以通过关键字对全部或部分的明细路由进行控制。
配置步骤
1、配置接口和IP 测试连通性。
2、部署EBGP 使用直连接口作为源接口建立对等体。
3、使用import-route 命令发布路由,使用IP前缀匹配要汇总的路由。
4、验证BGP路由表观察汇总后是否继承了AS-PATH 属性。
一、接口配置
R1为例
dis current-configuration interface
[V200R003C00]
#
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
#
interface LoopBack0
ip address 10.0.1.1 255.255.255.255
#
interface LoopBack1
ip address 172.16.1.1 255.255.255.0
#
interface LoopBack2
ip address 172.16.2.1 255.255.255.0
#
return
二、BGP 配置
R1 配置
定义要引入的路由
创建IP地址前缀列表,匹配loopback1、LoopBack2接口路由发布到BGP中,并进行自动汇总。
dis current-configuration | include ip ip-prefix
ip ip-prefix 1 index 10 permit 172.16.0.0 16 greater-equal 24 less-equal 24
以上通过配置过滤器“地址前缀列表”(地址前缀列表是过滤器的一种)来匹配过滤路由
创建路由策略 hcip 并创建节点10 在其中调用IP前缀列表1
dis current-configuration configuration route-policy
[V200R003C00]
#
route-policy hcip permit node 10
if-match ip-prefix 1
dis current-configuration configuration bgp
bgp 64511
router-id 10.0.1.1
peer 10.0.12.2 as-number 64512
#
ipv4-family unicast
undo synchronization
summary automatic //开启自动汇总
import-route direct route-policy hcip //import-route 引入直连路由匹配相应的路由策略
peer 10.0.12.2 enable
//自动汇总只对通过import-route 命令引入的路由生效
R2配置
dis current-configuration configuration bgp
[V200R003C00]
#
bgp 64512
router-id 10.0.2.2
peer 10.0.12.1 as-number 64511
peer 10.0.23.3 as-number 64513
#
ipv4-family unicast
undo synchronization
aggregate 172.17.0.0 255.255.252.0 as-set detail-suppressed //注意这里是对R3发布的172.17.1.0 、172.17.2.0 汇总成 172.17.0.0/22 并抑制明细路由的对外通告,如果不加as-set那么R2学习的BGP路由表中as-path 会为空。
peer 10.0.12.1 enable
peer 10.0.23.3 enable
#
return
查看R2的bgp 路由表

R2上只能看到一条主类路由172.16.0.0/16

该路由的路径属性中存在Aggregator属性,其中携带了汇总路由生成设备所属的AS号以及其RouterID
R3的配置
dis current-configuration | include ip ip-prefix
ip ip-prefix 1 index 10 permit 172.17.0.0 16 greater-equal 24 less-equal 24
dis current-configuration configuration route-policy
[V200R003C00]
#
route-policy hcip permit node 10
if-match ip-prefix 1
#
return
dis current-configuration configuration bgp
[V200R003C00]
#
bgp 64513
peer 10.0.23.2 as-number 64512
#
ipv4-family unicast
undo synchronization
import-route direct route-policy hcip
peer 10.0.23.2 enable
#
return
在R2上对R3引入的路由进行手动汇总。

未加as-set 子命令的情况下,R2学习的BGP 路由as-path 为Nil(空),如下图意味着丢失了明细的AS_Path属性值,而BGP 依赖as_path实现防环,因此As_path属性的丢失可能 带来路由的环路。

R3还会学习到172.17.0.0/22的路由形成环路

添加as-set (设置as号)

再观察 R2下路由表

路由表中添加了64513

AS-path 添加了
R3收到关于 172.17.0.0/22 的通行之后,在AS_Path 中看到自身的AS号(64513)将会忽略该路由的通告。此时R3的BGP路由表无法看到汇总路由172.17.0.0/22 ,因此通过在手动路由汇总的配置中使用as-set 关键字顺利地规避了路由环路的产生。

















