行业资讯

bgp路由通告的原则和理解

2023-03-02 14:32  浏览:

一、BGP最优路由

只将BGP的最优路由发布给对等体当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。

当一条路由的前缀标示“>”,表示最优路由。

问题1:成为最优路由条件是什么?

1、成为有效路由 (路由的前缀标示 *),也就是要先满足以下条件:

a)下一跳地址可达

b)如果开启同步,必须满足同步条件

c)路由的前缀和路由的下一跳地址不能一致;

2、成为有效路由之后,根据选路规则选出的最优路由。

二、从EBGP对等体收到的最优路由,发布给所有EBGP和IBGP对等体

1、向EBGP对等体发送路由信息时,会改变BGP路由的下一跳地址,下一跳地 址为发送路由器的更新源地址;

2、向IBGP对等体发送路由信息时,不会改变BGP路由的下一跳地址,可能会导致IBGP邻居收到此跳路由时下一跳地址不可达,无法使用该路由。

解决:

1、针对IBGP邻居使用next-hop-local命令,使收到的EBGP路由传 递指定IBGP邻居时将下一跳地址改变为本路由器更新源地址;

2、将下一跳地址宣告进IGP,使下一跳地址IGP可达。

问题2:为什么向IBGP对等体发送路由时,不会改变BGP路由的下一跳地址?

1、BGP协议的特点,它认为一个AS是一个整体,类似一台路由器,只有将BGP路由从AS传出的时候,才会改变下一跳;

2、下一跳不改变,可以引导AS内的路由器访问目的网络时有统一的出口,方便做流量控制;

3、因为在一个AS内,下一跳不修改的话,本AS内的路由器可以根据这个下一跳地 址找到离开本AS的一条最优的路径。(场景:MA网络中)

bgp路由通告的原则和理解

三、IBGP水平分割原则

从IBGP对等体获得的路由,只发布给EBGP对等体,不发送给IBGP邻居。称为IBGP水平分割原则,主要用于AS内环路防止。IBGP水平分割会导致路由 传递问题,会使AS内的IBGP无法学习到路由;

解决:

1、全互联,让AS内使用BGP路由器都建立IBGP的邻居关系(会导致AS内BGP 的会话数过多,N(N-1)/2);

2、反射器(RR),能打破水平分割的原则进行路由传递;

3、联盟。

问题3:IBGP和EBGP路由器之间是如何传递路由的?会出现什么问题?有RR 的情况呢?

从EBGP对等体收到的最优路由,发布给所有EBGP和IBGP对等体,传给IBGP邻居 可能会出现不可达的问题;从IBGP对等体获得的路由,只发布给EBGP对等体,不发送给IBGP邻居,带来路由传递的问题,可以使用RR解决。

问题4:反射器(RR)和联盟的区别?

反射器(RR)是打破水平分割的原则进行路由传递,配置简单;联盟是将原有的AS划分为多个子AS,是原本的IBGP邻居关系变为EBGP邻居关系,这样就可以实现路由的传递,配置复杂。

bgp路由通告的原则和理解

四、BGP和IGP同步

从IBGP学习到的BGP路由,必须也从IGP也学习到此路由,否则此路由为无效路由,不会传递给BGP邻居,目的是为了避免路由黑洞的问题。

说明:

BGP同步虽然可以避免路由黑洞问题,但是会带来路由信息传递的问题。

不建议开启BGP同步功能,因为BGP主要功能之一为传递路由信息,出现路由黑 洞问题采用其他方式解决。

现在VRP平台无法开启同步机制,采用其他机制解决路由黑洞问题:

1、 在数据转发所需经过的路径上也运行BGP;

2、将所需的BGP路由引入到IGP中;

3、 MPLS(R1和R3上使用命令:route recursive-lookup tunnel) 场景。

bgp路由通告的原则和理解

问题5:如何使用MPLS解决BGP路由黑洞的问题?

1、在一个AS内,为IBGP邻居的更新源地址事先通过MPLS LDP或者静态手工隧 道建立起LSP隧道;

2、配置命令使去往目的网段时,发送给的下一跳迭代进隧道中。

问题6:成为BGP路由的方式?

1、network:将路由表中存在的路由通过network的方式成为BGP路由;

注意:network的路由前缀和掩码要与路由表中一致;

2、import:将特定协议的路由通过import的方式成为BGP路由;

3、路由聚合:通过手工汇总或者自动汇总产生BGP路由。

问题7:将BGP路由引入到IGP中需要注意哪些问题?

1、利用策略控制路由,避免将大量BGP路由引入到IGP中导致性能较差的设备工 作不正常,无法承载;

2、默认情况下,只会将EBGP邻居学习到的路由引入到IGP中,IBGP路由引入到 IGP中需要额外配置命令激活。

问题8:为什么默认不会将IBGP邻居的路由引入到IGP中?

将IBGP邻居的路由引入到IGP中时,如果引入不当会出现环路,场景:

bgp路由通告的原则和理解

问题9:bgp协议中同步的作用是什么?为什么要使用同步?举例说明如何使用同步技术?

1、BGP同步的概念 在IBGP路由加入路由表并发布给EBGP邻居之前,会检查IGP路由表,只有在IGP 也知道这条IBGP路由时,它才会被加入到路由表,并发布给BGP邻居

2、同步的作用(防止路由黑洞出现) 避免出现误导外部AS路由器的现象发生,防止一个AS(不是所有的路由器都运 行BGP)内部出现路由黑洞,即向外部通告了一个本AS不可达的虚假的路由。

bgp路由通告的原则和理解

案例分析:

在上图中,RTD没有运行BGP,RTC关闭了同步功能。从RTA始发路由 1.1.1.1/32,向RTE传递。RTB和RTC收到该路由后将其置为有效, RTC 把该路由向RTE进行传递,在RTE上该路由为生效路由。但是在RTC上并未检查该路由在IGP中是否存在。

如有在RTE上存在到1.1.1.1的流量,RTE把该流量转发给RTC,RTC把该流量转发给RTD,但是RTD上不存在 1.1.1.1/32的IGP路由,故流量丢失。

如RTC开启BGP同步功能,当RTC检 测不到1.1.1.1/32的IGP路由时,RTC便不会把该路由传递给RTE,这时, RTE可能会把该流量转给给其他流量,也避免流量丢失的情况。

解决办法:

需要在RTB上把1.1.1.1/32路由引入到IGP中,并在IGP中进行传递,这样并开启同步功能,就不会出现AS内路由黑洞的问题 同步带来的问题:如果将BGP路由发布到IGP中,由于BGP路由数量一般较大,会导致IGP路由器要维护大量的外部路由,对路由器的CPU和内存以及AS内部的链 路带宽的占用将带来巨大的开销;同时会带来收敛延时增加。BGP默认关闭同步。

【免责声明】:部分内容、图片来源于互联网,如有侵权请联系删除,QQ:228866015

下一篇:ChatGPT网站小程序微信公众号三合一搭建源码教程分享 上一篇:github访问速度慢的问题完美解决方法
24H服务热线:4006388808 立即拨打