一、对等体之间的交互原则
1.IBGP路由只发布给EBGP对等体,不会发布给IBGP对等体(水平分割,防止在IBGP路由中产生环路)
2.EBGP路由,发布给所有的IBGP和EBGP对等体
3.只将最优路由发布给对等体
4.只发送更新的路由
二、路由通告原则
原则(一)
1.网络中转发数据使用的是全局的IP路由表(ip routing-table),BGP自己有一个BGP路由表(bgp routing-table),这个表会有很多BGP路由,他只会从BGP路由表中选择最优的BGP路由发布给对等体,并复制到IP路由表。
1.1 带有 " > " 标记的路由条目为最优
1.2 带有 " * " 标记的路由条目是可用的,已优化的;是否优化的判断依据是:该路由条目是否同步、该路由下一跳是否可达;华为路由器中路由同步是关闭的,所以只看下一跳属性判断,下一跳可达为已优化的,可能会转为>- best;不可达为未优化的,不再传给其他路由器。
2.BGP Speaker(路由器) 只把自己使用的最优路由通告给对等体,无论是IBGP邻居还是EBGP邻居。
原则(二)
BGP Speaker从EBGP获得的路由会向它所有的BGP对等体通告(包括EBGP和IBGP)
注:
1.在BGP路由表中,引入的EBGP路由下一跳是否可达,如果不可达是不能将路由转换为最优的。
2.当出现EBGP路由,下一跳不可达的情况时,可以在引入路由的路由器上,使用:
[R3-bgp]peer 1.1.1.1 next-hop-local
<>refresh bgp all export -------------出方向的BGP软清
原则(三)
1.BGP Speaker 从IBGP获得的路由不会通告给它的IBGP邻居(水平分割)。
2.IBGP全互联(逻辑上),因为IBGP的水平分割机制,如果想让IBGP对等体间进行路由传递,进行IBGP对等体的全互联。
弊端:IBGP全互联导致拥有多个IBGP会话,增加AS内的路由器的维护压力。
优化:
1)联盟
2)路由反射器
原则(四)
BGP Speaker 从IBGP获得的路由是否通告给它的EBGP对等体要依IGP和BGP同步的情况来决定。
BGP同步:
在IBGP路由加入路由表并发布给EBGP对等体之前,回先检查IGP路由表(如OSPF路由表)。只有在IGP也知道这条IBGP路由时,它才会被加入到路由表,并发布给EBGP对等体。
注:华为默认关闭且不能打开。
三、引入BGP路由方式
1.network 命令
把IGP(比如OSPF)发现的路由,通过network注入到BGP路由表中,需要严格匹配掩码,也就是network的路由掩码和OSPF的保持一致
2.import命令
通过import-route命令把IGP路由或者静态路由注入到RT2的BGP路由表中
四、BGP工作原理
(1)IP路由表——转发数据包
全局路由信息库,包括所有IP路由信息
(2)BGP路由表——不转发数据包
BGP路由信息表,包括本地的BGP Speaker选择的路由信息
(3)邻居表
对等体邻居清单列表
(4)Adj-RIB-In
对等体宣告给本地Speaker的未处理的路由信息库
(5)Adj-RIB-Out
本地Speaker宣告给指定对等体的路由信息库
*Loc-RIB 为BGP路由表
*IP-RIB 为IP路由表