一、BGP的宣告问题:
1、若通过BGP协议传递的路由条目与本地通过其他协议学习到的条目目标一致,将出现:
(1)该路由同时作为与其他BGP邻居建立邻居关系时的底层路由,那么这条BGP路由将不优,不能传递也不能加表
(2)该路由不作为建立其他BGP邻居的路由,将在本地不加表,但可以传递,属于优的路由;
例:
(1)R2与R3运行了OSPF,之后R2学习到的R3的32位环回主机路由,再将R2与R3建立BGP的邻居关系;
(2)之后R3在BGP协议中宣告了32位的环回路由,那么该条目到达R2后,将不优; --BGP的建邻路由与BGP的传递路由相同;
(3)在R2与R3建立邻居关系时,ospf将R3环回以32位传递,但BGP使用24位来传递该环回路由的话,那么等于BGP建邻为32位,bgp传递为24位,不是同一条路由,可以优,可以传递,也可以加表。
注:以上问题在华为设备将出现,但cisco中若bgp传递路由在本地路由表中已经通过其他IGP拥有,将被标记为r-RIB 不装载—本地不加表,但可以传递;
2、在BGP协议中进行宣告时,是宣告本地路由表中任意路由,不关注这些条目的产生方式;
默认将携带这些路由的cost值到BGP的路由条目中去;若本地将本地宣告的BGP路由传递给本地的EBGP邻居,将携带这些cost,便于本地的EBGP邻居所在AS内部设备选路,当然该路由在进入其他AS时不会修改度量;
若本地通过IBGP邻居学习到了BGP路由,优且存在cost值,在本地将这些路由传递给本地的EBGP邻居时,将cost值归0,因为这些度量不是本地产生的。
例:
(1)R2与R1为EBGP邻居,那么R2宣告本地通过OSPF协议学习到的路由4.4.4.4/32度量为2,那么这条路由在进入BGP表时携带度量值2,传递给R1,R1在路由表中显示该度量,同时传递给R1内部AS时度量不变;
(2)该拓扑中R2与R4为IBGP邻居,这条BGP路由也会被R2传递给R4,但R4 再将该路由传递给R4的EBGP邻居关系R5时,将度量归0;
(3)若R4也宣告4.4.4.4/32这条路由,那么传递给R5时将携带R4到达该网段的cost值,因为只有本地最优路由可以传递,本地宣告优于其他邻居传递过来的BGP路由。
总结:
存在EBGP邻居关系(连接其他的AS)的所有BGP设备均建议宣告内部AS的路由;
二、重发布
BGP协议宣告的路由,基本是本地通过IGP学习到的本as路由;数量较大,若逐条宣告,配置量很大,但可控性强; 也可以在同时运行BGP和igp的设备,将IGP协议重发布到BGP协议中,来实现批量的路由宣告效果;
宣告相当于逐条的重发布,重发布相当于批量的宣告;两者产生的路由条目,起源属性不同,其他属性默认完全一致;
总结:
存在EBGP邻居关系(连接其他的AS)的所有BGP设备均建议重发布IGP到BGP;
三、自动汇总
默认cisco和华为设备均关闭了自动汇总
自动汇总对于BGP正常通过network宣告产生的路由没有影响;
仅针对从IGP重发布到BGP的路由条目产生影响;--- 路由条目以主类长度发送,不携带cost值;
[r1]bgp1 [r1-bgp]summaryautomatic开启自动汇总,建议维持默认关闭状态
四、手工汇总—聚合
1、 利用了BGP的宣告的特点,本地路由表中任意路由,不关注来源均可以宣告到BGP中;
不用逐一宣告明细路由,先本地手工静态一条指向汇总网段的空接口防环路由,然后再将其宣告到BGP协议中来;从IGP表中宣告到BGP协议中的条目,仅携带目标网络号和度量值;
例:先在R1上手写两条环回路由分别为 99.1.1.1/24 和 99.1.2.1/24,再将两条路由汇总网段指向空接口,然后将网段宣告到BGP协议中。
在R2上查看:
聚合的缺点是将多个网络号合成一个,导致访问整个聚合网段时,仅存在唯一的路径;
若在多路径建邻的前提下,将无法精确的选路;故在大型的多链路的网络中为了更好控制选路,必然在传递聚合条目的同时,再在最佳路径处传递部分的明细路由。
若需要在传递聚合条目的同时,传递部分明细路由,只需要在宣告的空接口路由后,逐一宣告需要的明细路由即可。
以上做法的缺点是:不能携带原有明细路由的cost值,因为宣告的是本地路由表中人为添加那条静态空接口路由。
2、 标准的BGP路由聚合—先逐一手工宣告明细,或批量重发布路由;再进行聚合配置,默认在本地生成空接口防环路由
[r1-bgp]aggregate99.1.0.022聚合和所有明细路由均发送 [r1-bgp]aggregate99.1.0.022detail-suppressed抑制所有的明细路由,仅发送聚合条目
如果直接配置聚合和所有明细路由,在R2上查看:
会发现聚合和所有明细路由均会被传递,也意味着所有明细路由会被加表
如果在聚合路由后边加上抑制明细:
然后查看R1的BGP表,发现所有明细均被抑制
查看R2的BGP表:往下只发送聚合路由
使用该方法配置聚合会在该路由器R1上自动生成一条汇总网段指向空接口的放环路由
以上操作方法:若需要在发送聚合条目的同时携带部分的明细路由,需要使用策略
五、路由控制
1、 抑制列表
抑制列表——默认传递所有明细和聚合条目,通过抑制列表,限制不需要传递的明细路由。
如果只抑制 99.1.2.1/24 这条路由,首先抓取路由
[r1]ipip-prefixapermit99.1.2.124 [r1]route-policyaapermitnode10 [r1-route-policy]if-matchip-prefixa
进入BGP协议并做策略抑制该路由
[r1]bgp1 [r1-bgp]aggregate99.1.0.022suppress-policyaa在传递聚合条目的同时,抑制99.1.2.1/24这一条明细,其他明细正常转发
在BGP协议中进行匹配抑制目标路由
查看R1的BGP表:只有目标路由被抑制
查看 R2的BGP表:被抑制的路由并没有往下传递
2、使用路由策略在邻居间直接进行收发路由的管理
[r1]ipip-prefixwpermit99.1.2.124 [r1]route-policywwdenynode10 [r1-route-policy]if-matchip-prefixw [r1-route-policy]q [r1]route-policywwpermitnode20 [r1]bgp1 [r1-bgp]aggregate99.1.0.022 [r1-bgp]peer12.1.1.2route-policyqqexport
抓取目标路由并在路由策略中进行抑制
然后做一个空表放过所有:
进入BGP中宣告聚合条目并在邻居出口的方向执行该路由策略:
R2上查看BGP表:目标路由被抑制
3、 直接使用前缀列表来实现方法的功能
[r1]ipip-prefixedeny99.1.2.124 [r1]ipip-prefixepermit0.0.0.00le32 [r1]bgp1 [r1-bgp]peer12.1.1.2ip-prefixeexport
使用前缀列表拒绝目标路由并允许所有路由:
在BGP协议中的邻居出口的方向执行该前缀列表策略
在R2上查看BGP表
六、有条件的打破IBGP水平分割
IBGP水平分割,用于避免在一个AS内部由IBGP邻居间产生的环路;
规则:从一个iBGP邻居处学习到的BGP路由不能传递给下一个IBGP邻居;因为BGP的非直连建邻能力,因此可以在一个AS内部建立多个邻居来实现连接关系备份的作用;故正常一台设备只要运行bgp,那么应该处于AS的边界,存在ebgp邻居;
所有运行bgp协议的设备正常都会从其他AS学习到路由条目,然后共享到本地所在的AS,由于IBGP水平分割,导致本地需要和所有AS内部的BGP设备建立IBGP邻居关系;
IBGP邻居关系的数量成指数上升;
所谓有条件的打破是指在打破IBGP水平分割的时候,不能产生环路;--AS-BY-AS
1. 路由反射器 -- RR(反射器)、客户端、非客户端;
客户端、非客户端必须分别为RR的IBGP邻居关系;三种角色构建为一个簇(组);
一个簇内可以存在多台设备,但至少一个簇内存在一个RR和一个客户端;
规则:
1)RR从一台EBGP邻居处学习到的路由可以共享给本地的其他客户端、非客户端、EBGP邻居;
2)RR从一台客户端邻居处学习到的路由可以共享给本地的其他客户端、非客户端、EBGP邻居;
3)RR从一台非客户端邻居处学习到的路由可以共享给本地的其他客户端、EBGP;不能共享给其他的非客户端;
注: 被反射路由,在反射过程中,其属性不发生任何变化;若RR接收的条目不优,不具备传递性,将不被反射;
在上边拓扑图中,将R3作为反射器,R2作为它的客户,再R3上配置下边一条命令即可
[r3-bgp]peer 2.2.2.2 reflect-client ibgp邻居2.2.2.2成为本地的客户端,同时本地成为RR
然后将R1环回路由宣告,查看路由的传递:
可以看到R3作为RR可以将IBGP学到的路由传给R4和R5
在拓扑图中,R4和R5均为非客户,如果将R4环回宣告看一下效果:
可以看到只有R5不能学到R4宣告的路由,因为非客户之间是不能传递路由的
2. 联邦---将一个大as逻辑分为多个小as;小AS使用私有AS号,小AS间为联邦内的ebpg邻居关系,可以像EBGP一样传递路由,但不能修改属性; 对于联邦外的AS,只能看到大AS号;
所有的启动,建邻、管理均基于小AS号进行
联邦内所有设备需要声明自己所在的大AS号
小AS间的ebgp邻居需要互指对端的小as号
[r3]bgp64512 [r3-bgp]router-id3.3.3.3 [r3-bgp]confederationid2声明本地的大AS号 [r3-bgp]confederationpeer-as64513对端小AS号 [r3-bgp]pe2.2.2.2as-number64512 [r3-bgp]pe2.2.2.2connect-interfaceLoopBack0 [r3-bgp]pe4.4.4.4as-number64513 [r3-bgp]pe4.4.4.4connect-interfaceLoopBack0 [r3-bgp]pe4.4.4.4ebgp-max-hop2
查看配置(R2-R5):
R2:
R3:
R4:
R5:
注: 在实际工程中,路由器反射器与联邦技术是结合在一个拓扑中共同使用的。
审核编辑:刘清
-
路由器
+关注
关注
22文章
3692浏览量
113405 -
OSPF协议
+关注
关注
0文章
17浏览量
9371 -
BGP
+关注
关注
0文章
83浏览量
15301 -
反射器
+关注
关注
0文章
47浏览量
12223
原文标题:BGP 知识点总结,网络工程师收藏!
文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论