华为数通笔记-BGP选路与负载分担

概述:

BGP相比IGP最大的优势在于路径的选择策略非常丰富,通过调整BGP的路由属性来决定选路。在使用这些路由属性的时候应该考虑顺序和规则,尤其是一台路由器到达目标有多条路径的时候,BGP需要根据下面的选路规则来优先选出一条最佳路径。BGP选路的“12条规则”如下:

具体规则:

1.下一跳可达。

说明:

下一跳可达作为BGP选路规则中第1条规则,如果BGP路由的下一跳IP地址不可达,那么该BGP路由将不会参与选路。

2.优选协议首选值( PrefVal)数值最高的路由。

说明:协议首选值(PrefVal) 是华为设备的特有属性,也在选路规则中位列第一位,因此最优先比较,该属性仅针对本路由器有意义,不会传递给其他设备。协议首选值越大越好默认首选值为0不同厂商有自己的实现方式。

3.优选本地优先级(Local Pref) 数值最高的路由。

说明:

本地优先级属性在整个AS内传递,但不会传递到AS之外,值越大越优先,一般用作AS内路由器选择一个最优出口去往外部。如果路由没有设置本地优先级,BGP选路时将该路由按缺省的本地优先100来处理。

 

4.本地起源优先顺序依次为:

①手动聚合路由→②自动聚合路由→③network命令通告的路由→④import-route命令引入的路由→⑤从对等体学习的路由。

说明:

规则4指的是当前路由器产生的BGP路由中,本地产生的路由要优于邻居学来的路由,本地产生的路由分本地生成的聚合路由和IP 路由注入的路由。其中,聚合路由要优于不聚合的路由,而聚合可以分为手动聚合和自动聚合,且前者要优于后者;通过network命令通告进BGP的路由要优于通过import 方式引入进BGP的路由;其次是从邻居学习到的路由。BGP中的路由无非就是由以上几种产生,如果同一个目标前缀的路由同时通过以上方式进入到BGP,那么将根据上述优先顺序进行裁决。

5.优选AS路径(AS_PATH)最短的路由。

说明:

AS_ PATH属性是记录达到目标网络的AS路径列表,类似距离矢量协议中的hop概念,AS_ PATH长度短的路由优先。

6.依次优选Origin类型为IGPEGPincomplete 的路由。

说明:

origin为BGP的起源属性,指的是BGP路由的起源,成为BGP路由都会携带一个origin属性。如该路由是通过network的方式产生的路由,那么origin 类型为IGP (标识为i),如果是通过EGP协议学习到路由,origin 类型为EGP (标识为e),如果将外部路由引入进BGP的路由,origin 类型为incomplete (标识为? )。优先级顺序为i>e>?。

规则4比较的是路由的注入位置(本地注入的优于邻居学来的),用于在本地产生的多条路由中选出最优的路由来发给它的邻居;规则6比较的是路由的注入方式(network impot) 起源代码则用于从不同的邻居收到多条一样的路由中选择出一条最优的。

7.优选MED (Multi Exit Discriminator) 值最低的路由。

说明:

MED(Multi-Exit Discriminator)属性用于判断流量进入AS时的优选路由当一个运行BGP的设备通过不同的EBGP对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择MED值较小者作为优选路由。
MED属性仅在相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三方AS。MED属性可以手动配置,如果路由没有配置MED属性,BGP选路时将该路由的MED值按缺省值0来处理。

8.依次优选eBGP路由、iBGP路由。

说明:

如果路由分别通过eBGP和iBGP同时学习,在其他规则都一样的情况下,会优先选择eBGP对等体。理由很简单,eBGP连接外部AS,而iBGP 连接内部的AS。路由器认为既然通过eBGP学到该路由必然是来自外部的AS,因此直接选择eBGP对等体到达外部比穿越整个AS再到达外部要更加优先。

优选R5学到的

9.优选到BGP下一跳IGP度量值(Metric)最小的路由。

说明:

BGP的路由下一跳地址是通过IGP协议学习到的,根据路由表,计算到下一跳的度量

值,越小的越优先。

10.优选Cluster_ List 最短的路由。

说明:

Cluster_ List为路由反射器中的属性,是由路由反射器来添加的,将Cluster_ ID添加到Cluster_ List中,用于记录被反射的BGP路由在AS内经过的Cluster 路径。类似AS_ PATH属性,Cluster_List越短的路由越优先。

如果参与比较的路由没有Cluster_List, 则越过规则10, 直接比较后面的规则。如果某条路由没有Cluster_List, 而其他路由有Cluster. List,则没有Cluster_ List属性的路由优先。

11. 优选Router_ID最小的设备发布的路由。

说明:

Router_ID最小的邻居通告的路由最优先:

如果路由携带Originator_ID属性,则选路过程中将比较Originator_ID 的大小,不再

比较Router_ID。其中,Originator. _ID最小的路由最优。

如果参与比较的路Originator_ ID一样,也不再比较Router_ ID 直接开始规则12.

12.优选从具有最小IP Address的对等体学来的路由。

说明:

最后一步将会比较邻居的IP地址,最小的最优先。

BGP的负载分担:

注意:配置为华为设备。

在大型网路中,到达同一目的地通常会存在多条有效路由,但是BGP只将最优路由发布给对等体,这一特点往往会造成很多流量负载不均衡的情况。通过配置BGP负载分担,可以使流量负载均衡,减少网络拥塞。

一般情况下,只有“BGP选择路由的策略所描述的前8个属性(除去下一跳)完全相同,且AS_ PATH属性也相同时,BGP路由之间才能相互等价,实现BGP的负载分担。但路由负载分担的规则也可以通过配置来改变,如忽略路由AS_PATH属性的比较,但这些配置需要确保不会引起路由环路。

负载成功时,路由表当中有两条等价路由,但在BGP路由表中,仍只会优选一条最优路由,发布给对等体

BGP可实现2种形式的负载分担:BGP路由的负载分担和下一跳路由的负载分担。

一、多条不同下一跳的BGP路由同时出现在IP路由表中

BGP默认仅下发一条最好的BGP路由到IP路由表。但这种行为可以通过maximumload-balancing [ eBGP | iBGP ] mumber 命令来配置BGP负载分担的最大等价路由条数。

BGP可以把“选路规则”中,前8条规则都一样的多条路由同时下发到IP路由表中。负载分担的条件是:“BGP选择路由的策略的第18条规则中,需要比较的属性要完全相同。满足这个条件的多条路由,maximum load-balancing 开启后,可下发多条路由到路由表。缺省情况下,BGP负载分担的最大等价路由条数为1,即不进行负载分担。

如果满足负载分担条件的BGP路由数大于定义的BGP负载分担规格时,按如下顺序优选:

优选Cluster_ List 最短的

优选Router_ ID最小的路由器发布的:如果路由携带Originator_ ID属性,选路过程中将比较Originator_ ID 的大小(不再比较Router_ ID),并优选Originator_ ID最小的路由。

比较对等体的IP地址,优选从具有较小IP地址的对等体学来的路由

在公网中到达同一目的地的路由形成负载分担时,系统会首先判断最优路由的类型。若最优路由为iBGP路由,则只是iBGP路由形成负载分担;若最优路由为eBGP路由,则只是eBGP路由形成负载分担。即公网中到达同一目的地的iBGP路由和eBGP路由不能形成负载分担。负载分担只对本设备有效,但是本设备还是会根据选路原则选出最优路由发给其他对等体,但在路由表里是显示负载分担的。

缺省情况下,路由在形成负载分担时会比较路由的AS_ PATH 属性,而BGP只对AS_PATH属性完全相同的路由进行负载分担,BGP负载分担特性同样适用于联盟内部的自治系统之间。配置路由在形成负载分担时不比较路由的AS_ PATH属性,可以通过命令load-balancing as path-ignore来实现,但是该方式可能会引起路由环路,需谨慎使用。

 

BGP由于本身并没有路由算法,不能根据一个明确的度量值决定是否对路由进行负载分担。但BGP有很多路由属性,这些属性在BGP选路策略中的优先顺序是不同的。对BGP负载分担的处理规则是加入到这些选路策略中的,即在所有高优先级路由属性相同的情况下,BGP路由属性相同的情况下,BGP根据所配置的最大负载分担的路由条数进行负载分担。

实验:

如图所示,AS 254通告了两条BGP路由100.1.1.0/24、 200.1.1.0/24,由R5/R6通告进AS 100,R1到AS200有2条eBGP路由,通过R5和R6都可以到达。目前这两条BGP路由默认仅一条路由进入R1的IP路由表:

在R1的BGP进程中负载分担命令: maximum load-balancing eBGP 2。

二、下一跳路由的负载分担

BGP区别于IGP协议的一点是其下一跳地址可以是非直连的路由器的接口IP。BGP在AS内的iBGP邻居间通告路由时,下–跳保持不变,数据流量按路由学来的方向转发数据。非直连的下一跳在路由器上会执行“迭代路由”进行查找路由表,BGP依赖于下一跳路由来转发数据,所以如果下一跳地址所对应路由在IP路由表中是负载分担的,则此处同样算得上BGP的负载分担。

这种负载分担的实现其实和BGP没有直接的关系,完全得益于IGP协议路由中ECMP ( Equal Cost Multiple Path)。IGP 根据本身的路由算法计算路由的度量值(Metric),在度量值相等的路由间进行负载分担,实际是IGP的负载分担。

实验:

如图所示,R6通告了一条BGP路由100.1.1.0/24, R5 访问该网段,数据流经过R1时会进行负载分担,由于R1与R4建立iBGP邻居,而R1的BGP表中到达100.1.1.0 网段的下一-跳为 R4的10.1.4.4 (loopback 0), 而AS 100内部运行的是OSPF协议,R1到达目标网段将会迭代到R4的10.1.4.4,而到达R4则有两条等价路径。

查看R1的BGP路由表,下一跳地址为10.1.4.4:

由于R1的IP路由表中到达10.1.4.4有两条等价路径,因此该BGP路由也会有两个下一跳:

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录:网盘文件,永久链接 第一天-OSPF-简介 第二天-OSPF-端口状态、hello报文、DD报文主从选举 第三天-OSPF-DD报文 第四天-OSPF-一类LSA 第五天-OSPF-DR、BDR 第六天-OSPF-二类、三类LSA 第七天-OSPF-防环、VLINK、外部路由 第八天-OSPF-五类LSA 第九天-OSPF-STUB区域 第十天-OSPF-NSSA区域、OSPF路由汇总 第十一天-OSPF-更新机制、认证方式 第十二天-ISIS-1 第十三天-ISIS-2 第十四天-BGP-简介、邻居建立 第十五天-BGP-报文格式、邻居状态、路由传递规则 第十六天-BGP-实验、属性两大分类 第十七天-BGP-origin、as-path、local-pref、med 第十八天-BGP-community、BGP选路原则 第十九天-BGP-路由汇总 第二十天-路由控制-路由策略、ACL、前缀列表 第二十一天-路由控制-route-policy、策略路由 第二十二天-路由控制-traffic-policy、双点双向存在的问题 第二十三天-路由控制-双点双向问题解决方案 第二十四天-组播-简介、IGMPv1 第二十五天-组播-IGMPv2、IGMPv3、IGMP Snooping 第二十六天-组播-IGMP配置、PIM简介、PIM DM的扩散和剪枝 第二十七天-组播-PIM DM的嫁接、刷新和断言 第二十八天-组播-PIM SM简介、RPT树、SPT树、切换 第二十九天-交换机高级特性-Eth-trunk、Mux vlan 第三十天-交换机高级特性-端口隔离、端口安全 第三十一天-STP-BPDU、选举机制 第三十二天-STP-状态机、拓扑变化 第三十三天-STP-状态机、拓扑变化 第三十四天-STP-配置RSTP-端口角色状态机PA机制 第三十五天-RSTP-BPDU、拓扑变化、边缘端口 第三十六天-RSTP-保护机制、MSTP-介绍和配置、VRRP-简介 第三十七天-VRRP-联动、负载分担、配置、综合实验、MPLS-前戏、LSP、FEC 第三十八天-MPLS-转发过程、静态LSP、LDP简介 第三十九天-MPLS-LDP工作机制、标签管理模式、PHP、VPN 第四十天-MPLS-单域方案原理 第四十一天-QoS-服务模型、报文分类标记 第四十二天-QoS-拥塞管理和避免、流量监管、流

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值