CCNP-第十二篇-BGP(四)

这次接着上次的选路原则继续干
上次是前6条,现在是跟后面的7条

BGP的选路原则默认是11条,最大可以配置后去到13条

七.EBGP路由优于IBGP

这个不知道咋讲呢
如果A-B-C
那么A-B为IBGP
B-C为EBGP的话
他们同时宣告一个条目
在两边对称的情况下,会选择EBGP宣告来的条目

八.变相参考IGP协议

这条很难讲为什么呢?
他是这样的
如果上面7条选路都比不出来
到了这一条之后

IBGP不生效哈!
他会选择离本机最近的IGP邻居学过来的路由
所以会这个时候比较路由协议的度量值
比如一边EIGRP一边OSPF
一个90一个110
那就会选择EIGRP那边
度量值越小越好
但是如果都是静态路由.那么久比不出来,会比较下面的第九条了
又或者说两边同样的路由协议同样的带宽,在这条也是比较不出来的

九.负载均衡(适用于EBGP)

如果到了前八条都比不出来,那么第九条如果配置了,就会负载均衡
如果不配置,是这样比的
配置让他成为负载均衡的话
配置:maximuh-path 其实这个理论上来说算第十条

从更老的EBGP的邻居,谁的时间长就选择谁
因为只要时间越长,代表的就是越稳定

十.优选更小的router-id

BGP的route-id是什么呢?

ebgp传给ibgp改下一跳 ebgp ibgp_思科

选择本地最大的lo口作为RID 跟ospf,eigrp一样 可以自己手动设置也可以自动

ebgp传给ibgp改下一跳 ebgp ibgp_网络协议_02

BGP的router-id一般会手动打,因为自动选举容易冲突
BGP也是不允许RID重复的

这条选择的规则是
谁的route-id小,就走谁

十一.比较邻居地址

到了这一条基本上就不可能比不出来了
你总不能邻居地址都一样吧?
地址越小越好

十二.优选与更小的cluster-list(RR)

这个东西是啥呢?
这个东西叫RR
路由反射器

ebgp传给ibgp改下一跳 ebgp ibgp_ccie_03


这个路由反射器是干啥用的呢?

就是可以把路由条目传给另外的设备

ebgp传给ibgp改下一跳 ebgp ibgp_思科_04


什么意思呢?在R1上发来的路由条目

可以通过2传给3和4

ebgp传给ibgp改下一跳 ebgp ibgp_网络协议_05


直接给他的邻居写reoute-reflector-client

这个时候来看看R3和R4的路由表

ebgp传给ibgp改下一跳 ebgp ibgp_网络协议_06


ebgp传给ibgp改下一跳 ebgp ibgp_思科_07


R3和R4均收到了路由条目

如果一个设备作为了反射器的客户端
那么这个设备传来的条目,我会传给其他的IBGP邻居
从其他的IBGP邻居传来的条目,也会传给客户端.

所以,只要做了RR的客户端,那么其实就相当于打破了IBGP的防环机制

客户端的数量是没有限制的

ebgp传给ibgp改下一跳 ebgp ibgp_网络协议_08


这里这个originator 叫做起源ID,意思是谁宣告的,谁始发的

后面这个cluster_list 呢 是用来记录经过的每一台RR设备的BGP的RID

但是在这他叫Cluster_ID

那么问题来了,讲了那么多,那这个防环呢???
别急
来了
其实这一条选路规则跟EBGP的防环是一样的
他就相当于多了一个标签

防环规则:
如果我收到一条含有我自己的cluster_list的路由,那么将会拒收!
所以为什么说RID必须手动指定.
这个是针对着RR做的防环机制

RR核心
收到一条IBGP的路由後发送给另外一个IBGP邻居

这条选路原则
优选于更短的cluster-list
其实我感觉这玩意就跟as-path一样
就换了个名字而已
因为你会传输,每当经过一个设备就会增加,这是一定的!

汇总

为啥用汇总?
多条变1条,减少路由表大小
但是会出现路由黑洞,除非
比如你一个C段,宣告了254个,那其实没必要,默认路由就好了

IBGP汇总做法:

ebgp传给ibgp改下一跳 ebgp ibgp_ebgp传给ibgp改下一跳_09


汇总完了之后是100.1.0.0/16的

接收方

ebgp传给ibgp改下一跳 ebgp ibgp_ebgp传给ibgp改下一跳_10

EBGP汇总

ebgp传给ibgp改下一跳 ebgp ibgp_ccie_11


这能看到什么呢


上面是汇总前的,下面是汇总後的


可以看到度量值多了个0和as-path少了100


但是这样带来的坏处是什么呢?

>首先会影响选路
>第二个会影响环路

<这个时候来看看R2的路由表>

ebgp传给ibgp改下一跳 ebgp ibgp_ccie_12


看到R2的路右边前面是一条S

S在路由表的解释中是抑制的意思suppressed.

ebgp传给ibgp改下一跳 ebgp ibgp_思科_13


但是问题来了

为什么他会as-path减少呢?

这是因为,对于R2来说,这个路由不是我传输出去了
而是我压制了下面的
然后我`重新生成`了一条发送出去了
所以对我来说只经过了我
我发出去就只有我自己了

所以

1.当在BGP汇总时,如果不是在始发路由器汇总
2.而是在中间途径的路由器汇总的这种情况下
3.需要增加一个参数
4.适用于EBGP,IBGP环境内不需要

ebgp传给ibgp改下一跳 ebgp ibgp_思科_14


这条命令中的这个as-set的意思是,要求在本机上保留原始的AS编号

改了配置之后来看看接收方的路由表

ebgp传给ibgp改下一跳 ebgp ibgp_网络协议_15

对等体组(Peer-Group)

其实这个东西很好理解
就像链路聚合
所有接口接到一个组里面一条命令完成所有接口的配置

ebgp传给ibgp改下一跳 ebgp ibgp_ccie_16


首先建立一个组

ebgp传给ibgp改下一跳 ebgp ibgp_ccie_17


分别代表的信息是

1.对方as为100

2.以自己的lo口为更新源

3.做rr反射器

做完了,就得用

怎么用呢?

ebgp传给ibgp改下一跳 ebgp ibgp_思科_18

ok完事了
套娃
弄好一个塑料外壳
套个冰墩墩进去就可以啦

总结

1.BGP後7条选录原则
第七.EBGP优于IBGP
第八.比较底层IGP
第九.设置负载均衡
第十.比较时间,选择时间更长的(EBGP环境)
第十一.比较Route-ID(越小越好)
第十二.使用RR的时候,更短的cluster_list
第十三.比较邻居IP,越小越好
2.RR-路由反射器(适用于IBGP)
如果一台IBGP的邻居收到了路由条目会传输给另外一个邻居
RR是中间的设备,相当于反射器
反射的是客户端的路由条目
并且RR本身也有防环机制,originator-id/cluster_list
3.路由汇总,EBGP不是始发路由器,则需要加上as-set
4.对等体组,peer-group,建模板配置.