目的:分析聚合路由在传递时能否继承明细、抑制明以及团体属性的传递问题
实验拓扑如下
配置完成后检查邻居
[R2]dis bgp peer
BGP local router ID : 12.1.1.2
Local AS number : 2
Total number of peers : 2 Peers in established state : 2
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
3.3.3.3 4 2 2 4 0 00:00:03 Established 0
12.1.1.1 4 1 4 4 0 00:02:21 Established 0
在R1上做出宣告
[R1-bgp]network 100.1.1.0 24
[R1-bgp]network 100.1.2.0 24
可见,R2、R3就会学习到这两条路由
聚合
在R1上做出聚合,由于聚合时没有对明细做出抑制,则明细路由还是存在的
[R1-bgp]aggregate 100.0.0.0 8
若在R2上做出聚合,则可以明显的看出,这条聚合路由的AS_Path被清洗了
[R2-bgp]aggregate 100.0.0.0 8
解决:
使聚合路由继承明细的AS_Path,防止这条聚合回到产生明细路由的路由器上出现环路
继承明细
[R2-bgp]aggregate 100.0.0.0 8 as-set
可见,此时这条聚合的路由继承了明细的AS_Path
抑制明细
[R2-bgp]aggregate 100.0.0.0 8 as-set detail-suppressed
查看R3的BGP路由表,即明细消失了
查看这条聚合,可以发现这条聚合路由起源于AS2,Atomic-aggregate说明这条聚合的明细不存在
清洗明细的团体属性
1、首先打开团体属性的传递开关
2、R1上对两条明细路由做出团体属性的设置(抓路由、做策略、对邻居调用)
peer 12.1.1.2 advertise-community
[R1-route-policy]di th
[V200R003C00]
#
route-policy 100 permit node 10
if-match ip-prefix 100
apply community 1:1
#
route-policy 100 permit node 20
#
return
peer 12.1.1.2 route-policy 100 export
查看R2的路由表的团体值,但是R3上没有是因为聚合在R2上做的,且抑制了明细,所以R3就没有
在R2上关闭抑制明细
[R2-bgp]aggregate 100.0.0.0 24 as-set
查看R3的团体属性
如何,即抑制明细,又继承团体属性?
使用attribute-policy
部署:
1、R2上抑制明细,开启attrubute策略
[R2-bgp]aggregate 100.0.0.0 24 as-set detail-suppressed attribute-policy com
2、制作策略
[R2-route-policy]di th
[V200R003C00]
#
route-policy com permit node 10
apply community 1:1
#
route-policy com permit node 20
#
return
这样一来R3上就只有聚合的路由,且存在策略制作的团体属性值
总结:
当汇总的路由后面写上抑制明细的命令后,将不继承明细的属性;若想要让其继承属性,就使用attribute策略为其添加属性