当前位置:首页 > BGP笔记
BGP反射
BGP路由反射原则:
? 从客户端收到的路由,反射给它的客户端和非客户端 ? 从非客户端收到的路由,只反射给它的客户端
(如果反射给非客户端,就违反了IBGP水平分割) ? RR只把最佳路由反射出去
? RR在路由反射时,不改变路由属性(包括下一跳,LP,MED) ? RR不受IBGP水平分割限制(针对于RR client而言) RRC受IBGP水平分割限制
路由反射说的是在同一AS内
客户端、非客户端的概念只在同一AS内,而不包括EBGP
即,EBGP就是EBGP,既不是客户端,也不是非客户端
RR之间建立IBGP邻居
RR的客户端之间不需要建立IBGP邻居
RR与非客户端存在IBGP水平分割 RR与客户端不存在IBGP水平分割
在客户端上,并不知道存在“路由反射器”这么一个东西
即,RRC从TBGP学到的路由不会发送给RR(IBGP水平分割)
BGP路由反射可能存在的问题
学不到不相连的反射簇的路由
? Originator id 宣告该路由的route_id
? Cluster list 簇ID列表 类似AS-path
每个RR都有一个簇ID(默认为自己的router_id)
每反射一次,RR将自己的cluster_id加入Cluster list RR不接受簇ID中有自己cluster_id路由
一个BGP路由反射环境中可有多个RR(配置成同一个cluster_id)
BGP问题
下一跳不可达
原因:
因为来自IBGP通告的BGP路由,目标却在AS外,下一跳指向的是EBGP接口地址 而,本AS内部BGP路由器,没有到达EBGP的路由。
解决方法:
使下一跳路由可达
BGP路由黑洞
原因:
一个AS内的非BGP路由器,学习不到AS外的路由 转发数据包是,因为没有到达目标网段的路由而丢弃数据包
BGP同步: BGP同步的目的是,避免路由黑洞
来自IBGP的BGP路由,不会放进BGP路由表,也不会通告给EBGP; 除非该路由也能通过IGP学到。
BGP同步指的是,BGP路由与IGP路由之间的同步
BGP路由黑洞解决方法: 非同步 BGP全互联
同步 重发布BGP路由到IGP
BGP负载均衡
方案一: 链路捆绑
方案二:
maximum-paths N
BGP负载均衡只在本地有效:
BGP将N条相同网段,且LP,AS_Path,Origin,MED,weight都完全相同的外部AS路由形成负载均衡安装到路由表;
但最终只会选出一条最优路由通告给邻居
BGP的等价路由功能只能用于EBGP路由,并且只有两个下一跳都在同一AS内,才能使用BGP等价路由
方案三:
结合静态路由实现下一跳负载均衡
原理:BGP路由表中,去往BGP网段的下一跳是BGP邻居router-id(而不一定是接口地址) 那么只要用静态路由实现到达下一跳的负载均衡即可
BGP缺省路由发布
向邻居发布缺省路由: router bgp 65000
neighbor 邻居IP default-originate
向全网发布缺省路由
ip route 0.0.0.0 0.0.0.0 下一跳IP router bgp 65000 network 0.0.0.0
共分享92篇相关文档