1.BGP的大规模实验
1.1 路由聚合
拓补图
1.按照要求配置上IP地址
2.在R1上把回环口的地址宣告进去,产生BGP路由,看看其他路由器能不能学习到
3.建立邻居关系
R1:
bgp 100
peer 10.1.1.2 as-number 200
R2:
bgp 200
peer 10.1.1.1 as-number 100
peer 10.1.12.3 as-number 300
R3:
bgp 300
peer 10.1.12.2 as-number 200
4. 聚合路由
[R1-bgp]aggregate 192.168.0.0 16
查看效果,发现聚合路由跟明细路由都一同发布给邻居了
5. 聚合路由,抑制掉某条明细路由
[R1]ip ip-prefix sup permit 192.168.2.1 32
[R1]route-policy sup permit node 10
[R1-route-policy]if-match ip-prefix sup
[R1-bgp]aggregate 192.168.0.0 16 suppress-policy sup
6. 验证效果,发现192.168.2.1这条明细路由被过滤掉了
7. 如果都不需要明细路由的话呢,也可以直接把明细路由给过滤掉
[R1-bgp]aggregate 192.168.0.0 255.255.0.0 detail-suppressed
8. 验证效果,发现明细路由全部都被过滤掉了
9. 还可以起源属性以及ATT属性等等
[R1-bgp]aggregate 192.168.0.0 255.255.0.0 detail-suppressed origin-policy ori attribute-policy att
[R1]ip ip-prefix ori permit 192.168.0.1 32
[R1]route-policy ori permit node 10
[R1-route-policy]if-match ip-prefix ori
[R1]route-policy att permit node 10
[R1-route-policy]apply cost 20
10. 验证效果,发现打上了起源的属性以及ATT的属性等等,但是有个问题就是这些属性都是打在聚合的路由上面的
11. 自动聚合
自动聚合只能聚合通过import方式产生的路由,不能聚合network方式产生的路由,聚合的路由默认以IP地址分类的形式聚合,比如说A类地址就聚合成8位,B类地址就聚合成16位,C类地址就聚合成24位,而且会根据地址的分类聚合成主路由的方式,比如说192.166.1.0/2.0/3.0的路由,因为是C类地址所以聚合的是24位的聚合路由,因为只有前面16位一致,所以会聚合成三条聚合路由
[R1-bgp]summary automatic
验证效果:三个C类网段聚合成三条主路由
验证效果:三个B类网段聚合成一条主路由
1.2 对等体组
[R2-bgp]group huawei //新建对等体组
[R2-bgp]peer 1.1.1.1 group huawei
[R2-bgp]peer 2.2.2.2 group huawei
验证:
[R2-bgp]dis bgp group huawei
BGP peer-group: huawei
Remote AS: 200
Authentication type configured: None
Type : internal
Configured hold timer value: 180
Keepalive timer value: 60
Connect-retry timer value: 32
Minimum route advertisement interval is 15 seconds
PeerSession Members:
1.1.1.1 2.2.2.2Peer Preferred Value: 0
No routing policy is configured
Peer Members:
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv1.1.1.1 4 200 0 0 0 00:03:18 Idle 0
2.2.2.2 4 200 0 0 0 00:00:31 Idle 0
1.3 BGP的团体属性
[R1]ip ip-prefix com permit 172.16.0.0 16 less-equal 32
[R1]route-policy com permit node 10
[R1-route-policy]if-match ip-prefix com
[R1-route-policy]apply community 1:1
[R1]bgp 100
[R1-bgp]peer 10.1.1.2 route-policy com export
[R1-bgp]peer 10.1.1.2 advertise-community //携带团体属性进行发布
验证效果:发现路由携带着团体属性1:1
根据团体属性匹配路由,还可以把路由聚合起来打上org的属性
[R2]route-policy com permit node 10
[R2-route-policy]if-match community-filter 1
[R2]ip community-filter 1 permit 1:1
[R2-bgp]aggregate 172.16.0.0 16 detail-suppressed origin-policy com
验证效果:
使用团体名称控制路由的发布
[R1]bgp 100
[R1-bgp]peer 10.1.1.2 route-policy com export
[R1-bgp]peer 10.1.1.2 advertise-community //一定要打上这句,携带团体属性发布
[R1]route-policy com permit node 10
[R1-route-policy]if-match ip-prefix com
[R1-route-policy]apply community no-export
[R1]ip ip-prefix com permit 192.168.1.1 32
验证效果:看见发布的路由打上了no-export的属性
1.4 路由反射器
拓补图:
如图,三台路由器之间建立BGP的邻居关系,根据BGP路由的传递规则,IBGP传递路由的跳数最多为下一跳,也就是说R1上的路由只能传递给R2,不能再传递给R3了,那怎么解决这个问题呢,可以使用全互联的方式建立,但是这样会导致BGP邻居的关系的增加,但是可以采用路由反射器解决这个办法,将R2配置为RR,R1为它的客户机,RR就会将从自己客户机学习到的路由在反射给R3,从而解决这个问题的发生
[R2-bgp]peer 10.1.1.1 reflect-client
验证效果:R3成功学习到路由
1.5 BGP联盟
R1:
[R1]bgp 10
[R1-bgp]confederation id 100
[R1-bgp]confederation peer-as 20
[R1-bgp]peer 10.1.1.2 as 20
R2:
[R2]bgp 20
[R2-bgp]confederation id 100
[R2-bgp]confederation peer-as 10
[R2-bgp]peer 10.1.1.1 as 10
[R2-bgp]peer 10.1.12.3 as 30
R3:
[R3]bgp 30
[R3-bgp]peer 10.1.12.2 as 100
验证结果:在R2上查看到有两个邻居连接着