2022.4.11 即使尽其所能,亦未必如初愿。如举笔画物,光有明暗,笔有短长,技艺有所不能,虽心之所愿,然下笔仍有遗憾。
iBGP的路由黑洞解决方案
- Full Mesh 网状互联
- MPLS 多协议标签交换
- Router Reflector 路由反射器
- BGP Confederation BGP联盟
- 从接口A收到的路由,不从接口A中发出去
- 当从一个iBGP邻居学习来的路由是永远不会传递给其他的iBGP邻居
- EBGP利用AS-path来避免路由环路,如果从EBGP邻居收到的路由中的AS-path有自己的AS号,则丢弃这个路由
- 对于要发送给其他AS的路由,本AS的AS号是在路由发送给其它AS时才加上,所以在路由没有出AS之前,没有本AS的AS号
RR的防环机制
- Originator-id:当RR从IBGP或者RRC学到路由时,会将邻居的BGP-RID附加在路由中。
- Cluster-id:RR和其RRC的集合称为集群(cluster),每一个集群都有一个cluster-id,默认情况下RR的router-id会被用作cluster-id,也可以手工指定。RR所传递的路由会携带该cluster-id。如果路由条目经过了多个RR,将会携带多个cluster-id,为了防止多个RR重复反射。
- R3(config-router)#bgp cluster-id 3.3.3.3//在多个RR环境中,配置簇ID(通常使用RR的RID)
- show ip bgp x.x.x.x//查看路由属性
- 联盟将一个自治系统划分为若干个子自治系统
- 每个子自治系统内部的iBGP对等体建立全连接关系
- 子自治系统之间建立eBGP连接关系
排错命令
查看通告给该邻居的BGP路由
show ip bgp neighbors a.b.c.d advertised-routes
查看该邻居公告给你的BGP路由(默认关闭该功能,需要手工开启)
show ip bgp neighbors a.b.c.d received-routes
针对该邻居开启查看接收路由功能
neighbor a.b.c.d soft-reconfiguration inbound
route-map NAME permit 10
match ip address 10
set community 100:1
network 1.1.1.0 mask 255.255.255.0
neighbor 12.12.12.2 remote-as 200
neighbor 12.12.12.2 send-community//默认community不发送
neighbor 12.12.12.2 route-map NAME out//挂载route-map
Router(config)#ip bgp-community new-format//切换community显示
router bgp 123
bgp confederation identifier 200//联盟id为200
bgp confederation peers 234//联盟对等体是234
neighbor 3.3.3.3 remote-as 123
neighbor 2.2.2.2 route-reflector-client//指定2.2.2.2为路由反射器客户端
联邦配置要点:
1.要起小AS号
2.在与EBGP建立邻居关系时,要声明自己的大AS号,包括在大AS内部!!!
3.联盟之间要互相指联盟AS
4.联盟之间EBGP非直连建立邻居关系,要开多跳