BGP学习心得_bgp自我理解

2020-02-29 学习培训心得体会 下载本文

BGP学习心得由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“bgp自我理解”。

首先,照我的理解,在我司路由器当中有关BGP的路由表一共有三个,可以通过以下命令分别获取:

1: show ip bgp route;

2: show ip protocol routing;

3: show ip route(bgp);

这三条命令所看到的BGP路由表之间是怎样的关系呢?

首先,通过show ip bgp route所看到的路由就是实实在在通过BGP邻居学到的路由,包涵了该路由具有的所有属性:

ZXR10#sho ip bgp route

Status codes: *valid, >best, i-internal

Origin codes: i-IGP, e-EGP, ?-incomplete

Dest Next Hop Metric LocPrf RtPrf Path

*> 3.0.0.0/8 202.138.191.29 20 9497 10026 703 80 i

* 3.0.0.0/8 210.14.0.248 100 20 9299 2914 703 80 i

*> 4.0.0.0/8 202.138.191.29 20 9497 3356 i

* 4.0.0.0/8 210.14.0.248 20 20 9299 2914 3356 i

(注:210.14.0.248是通过multi hop建立的邻居关系,注意和下面的比较)

可以看到本路由器从两个邻居学到了相同的路由,其中可达,即有效的路由被标识为“ *”,而最优的路由被标识为“ >”,有关有效及最优,这牵扯到BGP路由的最优路由算法,这个将在后文中有详细介绍。

再看看通过show ip protocol routing我们看到了什么:

ZXR10#sho ip pro routing

Protocol routes:

status codes: *valid, >best,i-internal

Dest Next Hop RoutePrf RouteMetric Protocol

*> 3.0.0.0/8 202.138.191.29 20 0 bgp-ext

* 3.0.0.0/8 210.1.66.169 20 100 bgp-ext

*> 4.0.0.0/8 202.138.191.29 20 0 bgp-ext

* 4.0.0.0/8 210.1.66.169 20 20 bgp-ext

首先注意到的是所有BGP路由的属性都不见了,只是能通过protocl一项看到他们是通过EBGP学习到的。但实际上这个表和上面那个表还有一个最大的不同:NEXT HOP!请注意上面两个表中用红线表示的部分:由于210.14.0.248(AS9299)这个邻居是multi hop的,因此第一个表看到的实际是路由的NEXT HOP属性,而第二张表看到的才是真正的路由转发的下一跳。我个人理解,第二张表是BGP路由和IGP整合的结果,也就是说路由器在自己的IGP路由表中查找到的第一张表中BGP路由下一跳之后形成了第二张表中BGP路由的转发的下一跳。

接下来我们看看最后一张表,也就是全局路由表:

ZXR10#sho ip rout

IPv4 Routing Table:

Dest Mask Gw Interface Owner pri metric

3.0.0.0 255.0.0.0 202.138.191.29 fei_4/15 bgp 20 0

4.0.0.0 255.0.0.0 202.138.191.29 fei_4/15 bgp 20 0

这张表就是路由器进行转发的全局路由表了,和上面两张表最大的不同是到同一目的地址的路由只有一条了,也就是最优的那条了,这是因为路由器总会把最优的那条路由写进自己的路由转发表的。

需要注意的东东:

1:在我们自研的路由器上,虽然show ip protocol routing能看到所有的BGP路由(最优和非最优的),但是show ip protocl routing summary只能看到最优的路由条目数量,也就是实际写近路由转发表的路由总数。

2:show ip bgp route 命令还能看到本路由器上产生的路由,但下一跳属性是0.0.0.0,管理距离就是这些路由响应的IGP路由的管理距离,若本路由器上采用了路由聚合,那么会看到多出来一条路由,下一跳属性也是0.0.0.0,但这条通过聚合产生出来的路由,其管理距离为254,即无效路由。例如:

*> 203.92.8.0/21 0.0.0.0 1 i

*> 203.92.8.0/21 0.0.0.0 1 i

* 203.92.8.0/21 0.0.0.0 254 i

3:BGP中network命令的使用和OSPF大不相同,可以这么认为:BGP中network命令只是规定了一个可以通告出去的路由范围,在这个范围之内,如果本路由器上有相应的IGP路由,那么路由器就会生成相应的BGP路由并通告出去的。

下面我们看看BGP是如何抉择一条最优的路由的:

BGP选路的策略:

1)如果下一跳不可达,不考虑下一跳。

就是指两个BGP邻居之间交换路由信息的地址必须首先IGP可达,如果不可达就压根不会被BGP选路策略考虑!

2)优先选取有最大权重的路径。

这是思科的私有属性,我们不考虑!

3)如果多条路由有同样的权重,优先选取具有最高本地优先级的路由。

根据LOCAL PREFERENCE 决定,越大越优!

4)如果多条路由有相同本地优先级,优先选取源自于本路由器上B G P的路由。

是指这样一种情况,同一个AS内有两个运行BGP的路由器,他们同时通告本AS的路由给其他AS,且他们之间运行了IBGP,那么在其中任意一台路由器上关于本AS的路由就会有两条,一条是自己产生的,一条是通过IBGP学到的,这时候路由器会优先选择本路由器上产生的本AS路由。(其实这条规则对于路由器上全局路由表的产生和路由抉择没有任何意义,因为可被通告的BGP路由必是已经存在于IGP路由当中的,由于IGP的管理距离比IBGP要小,所以路由器肯定是先选择IGP的!但是仅仅对于BGP路由的抉择来说,这点还是有必要的,我们就接受它吧)

5)如果没有路由是源,优先选取具有最短A S路径的路由。

这条也好理解,由于AS-PATH属性是必遵属性,每条BGP路由都会携带这样一个属性,当收到的属性以上四点都相同时,就会比较那条路由经过的AS数量,越少当然就越好!在我们的路由器当中,这点也可以用来影响外部AS对于本AS的路由选择,例如:

如果我们的路由器连接了两个AS:AS9299和AS9479,那么在其中一个EBGP邻居(9479)上应用如下命令:

route-map todigital permit 10

match as-path 10

set as-path prepend 18009

ip as-path acce-list 10 permit ^$ neighbor 202.138.191.29 remote-as 9497 neighbor 202.138.191.29 route-map todigitel out 这些命令的意思是在通告本AS路由给202.138.191.29(AS9479)这个邻居的时候,在AS PATH属性当中预先填好一个值18009,那么这时外部INTERNET上其他AS通过AS9299学到的我们AS的路由所包含的AS PATH 属性当中就会出现两个18009,而通过AS9299学到的我们AS的路由所包含的AS PATH属性当中则只有一个18009。(个人认为这种应用方法比MED属性对于外部AS的路由选择的影响更大,因为MED只能影响邻近AS对本AS的路由选择,而利用PREPEND这个命令可以影响更多的AS对于本AS的路由选择)。下面是互联网上的一个例子:

*> 8.6.240.0/24 202.138.191.29 20 9497 701 7911 31846 31846 31846 31846 31846 i * 8.6.240.0/24 210.14.0.248 20 20 9299 2914 7911 31846 31846 31846 31846 31846 i 6)如果所有路径具有同样的A S长度,优先选取有最低源编码,(I G P

这条就是比较路由是通过什么样的方式学习到的,通过IGP学习到的被认为是更加可靠的,其次是EGP,再其次是INCOMPLETE.其中,通过IGP学到是指:通过NETWORK命令宣告的路由(记住,通过NETWORK学习到的路由必须首先存在于本路由器的IGP路由表中,不管是通过OSPF等动态路由协议学到还是通过静态路由协议学到的);EGP现在基本用不到了,在BGP路由表中也很难看到起源是EGP的路由了,故此条可以忽略,呵呵;而INCOMPLETE则表示该路由是通过REDISTRIBUTE纯动态注入到BGP路由表中的)

7)如果源编码相同,优先选取具有最低多出口区分(M E D)的路径。

这个属性可以用来影响邻接AS对于本AS的路由选择(例如本AS和邻近AS中的两个路由器建立了EBGP关系,那么一旦我通告给其中一个路由器上的MED值比另外一个要小,那么很有可能将会引导那个AS出来的流量全部从MED值低的那个路由器上出来,之所以说很有可能是因为首先要比较以上的六个属性先),但要注意的是本AS通过两个不同的AS学到的相同路由是不会比较MED属性的,在我们的路由器上,可以通过在BGP配置模式下用bgp always-compare-med命令强制比较来自不同AS的相同路由的MED属性。

8)如果M E D都相同,外部路径比内部路径优先选取。

这条是指若从IBGP邻居和EBGP邻居学到了相同路由,且以上六个属性又相同,那么就会优先选取从EBGP邻居学到的路由。

9)如果M E D都相同,优先选取通过最近I G P邻居的路径。

这条是指若从两个BGP邻居学到的路由上面八个属性都相同,那么就看到那个BGP邻居所走的IGP路由最短。例如,若从两个EBGP邻居学到相同路由,且以上八个属性相同,但是其中一个EBGP邻居是多跳MULTI HOP的,而另外一个是直连的,那么本路由器肯定会先选择直连的那个邻居通告的路由; 10)如果M E D仍都相同,优先选取具有最低B G P路由器I D的路径。

如果以上九条都相同了,那么路由器就会比较两个邻居的路由器ID了,呵呵,再比较不出来就见鬼了。

要注意的东东:

1:目前我司自研的路由器GAR,GER和T64E,T128由于平台的原因会把第8条放到第3条首先进行比较,也就是说EBGP学到的路由比IBGP学到的路由牛!据朱磊磊说以后的版本会调整成和以上所说的选路策略一样的。

2:另外一点需要注意的是:以上只是BGP算法所要求的,即必须在所有学到的到同一目的网段的BGP路由当中选出一条最优的路由!不论他是否真的有实际的意义(如第四条就没有什么意义),是否会安装到全局路由表中。

3:以上所说的BGP最优路由抉择并不是最全的,思科上面讲的条件更多,但其实对于平时应用来说上面的十条已经足够了。

下面再说说我自己对于BGP同步的理解:

同步这个东东关注的是当一台路由器收到IBGP邻居所通告的路由时候会怎么处理:

1:默认情况下,我司的路由器同步是打开的,在这种情况下,路由器会检查本路由器中通过IGP学到的路由有没有和通过IBGP邻居学到的同样的路由条目:若有,则路由器会把这些IBGP路由放入自己的路由表中,并通告给存在的EBGP邻居(IBGP邻居之间不转发IBGP路由);若没有,则对这些路由不做任何处理,这时候在路由器上关于这些IBGP路由的信息只能在sho ip bgp route看到,而另外两张表中是没有的。

2:当通过no synchronization命令关闭同步的时候,不论路由器有没有通过IGP学到相应的路由,都会把这些路由添加近自己的路由表中(IBGP邻居最好配置next-hop self),并通告给自己存在的EBGP邻居。

下面是我在网上搜到的一个实例,觉的比较透彻:

实验理解BGP同步

BGP基本理伦:

1、由eBGP邻居学来的信息肯定会传给另外的eBGP邻居。

2、由eBGP邻居学来的信息肯定会传给iBGP邻居。

3、由iBGP邻居学来的信息不会再传给另外的iBGP邻居。

4、由iBGP邻居学来的信息:

1)如果同步关了,会传给eBGP邻居

2)如果同步开了,先查找自己的IGP。如果IGP里面有这个网络,就把这个网络传给eBGP;如果IGP里面没有这个网络,就不会传给eBGP邻居。

由实验来帮助大家理解:

初始状态:R1、R2、R3、R4 同步都是关闭的。在所有路由器上,BGP表、路由表都有所有网络。在R1启动同步后

#R3、R2 BGP表、路由表没有变。#R3、R2 BGP表、路由表没有变。

#R1 BGP表没有变,但路由表少了3.3.3.0/24及192.168.0.0/24。原因:R1收到R2(iBPG)的BGP信息,因而在R1BGP表没有少以上网络。由show run看得出,在整个AS 200内是走RIP V2(IGP),而且没有宣告192.168.0.0/24,而网络3.3.3.0/24与R1不是同一个AS,因而R1的路由没有以上网络。#R4 BGP表和路由表都没有192.168.0.0/24及3.3.3.0/24网络。说明R1没有把BGP信息宣告给R4。因为没有了BGP信息,因而R4的路由表肯定不会有以上网络。

再说说BGP的负载均衡

其配置命令是和OSPF一样的。但个人最初不理解的是既然BGP最优路由抉择是一定要选出一条最优的路由,那么怎么实现负载均衡呢。实际上判断能否进行负载均衡的策略是和选最优路由不同的。

我们自研的设备进行负载均衡的策略如下:

首先都是EBGP路由 路由学到的邻居AS相同 路由的origin相同

路由的本地优先属性相同

路由的as-path长度相同,其中每一个AS都对应相同

这和思科是不同的,大家如果有兴趣可以看看思科的相关文档。

《BGP学习心得.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
BGP学习心得
点击下载文档
相关专题 bgp自我理解 学习心得 BGP bgp自我理解 学习心得 BGP
[学习培训心得体会]相关推荐
    [学习培训心得体会]热门文章
      下载全文