在上一章节《誉天数通技术专栏:BGP的前世今生》中,我们介绍BGP的一些基本概念,想必都对BGP有所了解,下面继续对BGP内容进行学习。
01 BGP路由的生成
拓扑解析:AR1、AR2、AR3底层运行OSPF邻居关系;AR1和AR2、AR2和AR3建立IBGP邻居关系;AR3和AR4、AR3和AR5建立EBGP邻居关系。
1. network方式:通过在BGP视图下宣告自身路由表中存在的路由信息。
自身直连的、非直连的都可以宣告:
某些的特殊路由不能宣告:
2. import方式:通过在BGP视图下引入其他协议的路由信息
引入静态、直连、动态(OSPF、ISIS)协议的路由,要求被引入的路由是最优的,即需要加入IP路由表:
在AR3存在一条直连路由为100.3.3.3/32
AR3从OSPF邻居学习到一条描述10.3.3.3/32前缀的LSA信息,且计算OSPF路由
此时在AR3上将OSPF路由引入到BGP中,查看BGP路由表
3. 聚合方式:通过BGP视图的聚合配置,生成一条聚合的路由信息。
在AR3上宣告一条路由信息
使用聚合的配置命令:
再次查看AR3的BGP的路由:
可以看到AR3的BGP路由中出现一条聚合的路由信息,该信息的下一跳为127.0.0.1
***如果所有的明细路由失效,则聚合路由也会自动失效。
4. 路由传递方式:通过邻居建立,从邻居接收到的路由信息。
在AR2上和AR4上查看BGP的路由信息,可以看到AR3的发来的路由信息,在下一环节具体验证。
02 BGP路由传递的规则
1. 下一跳为0.0.0.0 / 127.0.0.1的路由传递给IBGP邻居/EBGP邻居
AR3通告了自己的路由信息,在IBGP邻居AR2和EBGP邻居AR4上查看路由信息:
2. 从EBGP邻居接收到的路由,会向其他IBGP邻居传递
AR4上通告一条路由信息:
AR3上查看从EBGP邻居AR4收到的路由信息,且可以正常向IBGP邻居AR2发送:
3. 从EBGP邻居接收到的路由,会向其他EBGP邻居传递
AR3从AR4收到100.4.4.4/32路由可以正常向EBGP邻居AR5发送:
4. 从IBGP邻居接收到的路由,会向其他EBGP邻居传递
AR2通告一条路由信息:
AR3从AR2收到100.2.2.2/32路由可以正常向EBGP邻居AR4、AR5发送:
5. 从IBGP邻居接收到的路由,不会向其他IBGP邻居传递 (AS内的水平分割)
在AR1通告一条路由信息:
在AR2上查看从IBGP邻居AR1收到的路由信息:
问题思考
Q1:从EBGP邻居收到的路由信息,传递给IBGP邻居时,路由会存在哪些问题?
Q2.因为该路由传递规则的存在,导致AR3不能接收到AR1通告的BGP路由信息,如何解决该问题?