bgp的路由优选规则和负载分担

author author     2023-04-23     483

关键词:

参考技术A 1.Preferred-Value数值

Preference_Value是BGP的私有属性(华为私有属性),Preference_Value相当于BGP选路规则中Weight值,仅在本地路由器生效。Preference_Value值越大,越优先,默认缺省值为0 只能改变自己的入向选路。

默认情况下,会选择Router id小的作为自己的最优下一跳

step1:在R1上使用ip-prefix或者acl筛选出路由条目

step2:使用路由策略(由于首选值只在本地路由器生效,所以只能应用在本设备的入方向)

step3:在R1的BGP进程中调用路由策略

step4:验证现象(R1到达4.4.4.4/32的下一跳指向R3,首选值被修改成100)

小结:Pre-Value最大,Preference_Value值越大,越优先,默认缺省值为0,且只在本地路由器有效。

2. Local_Preference

Local_Pref属性仅在IBGP邻居之间有效,不通告给其他AS。它表明路由器的BGP优先级,用于判断流量离开AS时的最佳路由。一般用来控制本区域流量怎么出去,默认情况下Local-Pref值为100 该数值越大 优先级越高

默认情况下,会选择Router id小的作为自己的最优下一跳(即R2)
step1:在R1上使用ip-prefix后者acl筛选出路由条目

step2:使用路由策略

step3:在BGP进程中调用路由策略

1:R1中BGP进程里指向R3的入方向上(改大)

2:R3中BGP进程里指向R1的出方向上(改大)

3:R3中BGP进程里指向R4的入方向上 (改大)

4:R1中BGP进程里指向R2的入方向上 (改小)

5:R2中BGP进程里指向R1的出方向上  (改小)

6:R2中BGP进程里指向R4的入方向上  (改小)

不能调用在R4的export方向上面(因为Local-preference只能在本AS内进行传递的)

step:验证现象

3.路由生成方式

Aggregate>Summary>Network>import>从邻居学习的路由

BGP在IPv4网络中支持自动聚合和手动聚合两种方式,而IPv6网络中仅支持手动聚合方式:

1:自动聚合:对BGP引入的路由进行聚合。配置自动聚合后,BGP将按照自然网段聚合路由(例如非自然网段A类地址10.1.1.1/24和10.2.1.1/24将聚合为自然网段A类地址10.0.0.0/8),并且BGP向对等体只发送聚合后的路由。

2:手动聚合:对BGP本地路由表中存在的路由进行聚合。手动聚合可以控制聚合路由的属性,以及决定是否发布具体路由。

为了避免路由聚合可能引起的路由环路,BGP设计了AS_Set属性。AS_Set属性是一种无序的AS_Path属性,标明聚合路由所经过的AS号。当聚合路由重新进入AS_Set属性中列出的任何一个AS时,BGP将会检测到自己的AS号在聚合路由的AS_Set属性中,于是会丢弃该聚合路由,从而避免了路由环路的形成。

自动聚合summary
step1:在R4上使用ip-prefix或者acl筛选出目标路由,使用Route policy调用。

step2:在BGP进程中将路由引入,并配置自动聚合命令

step3:在R4上查看BGP路由表,发现明细路由被抑制

step4:在R1上查看BGP路由表,发现路由被聚合成自然网段。

手动聚合

step1:在R4的BGP进程里宣告4.4.4.4/24的路由,并配置手工聚合,并抑制明细路由

step2:在R4上查看BGP路由表,明细路由通过detail-suppressed被抑制。

step3:在R1上查看BGP路由表,发现只收到R1的聚合路由。

手工聚合

1:as-set信息在避免路由环路时很重要,因为它记录了被聚合路由所经过的AS

2:attribute-policy 设置聚合路由的属性

3:detail-suppressed参数是把明细给抑制,如果不加的话,会把明细路由和聚合路由都传过去

4:origin-policy仅选择符合route-policy的具体路由来生成聚合路由(只要有这条路由信息,我才能产生聚合路由)

5:suppress-policy能产生聚合路由,但抑制指定路由的通告,可以使用route-policy和if-match子句有选择的抑制一些具体路由,其他具体路由仍被通告(抑制聚合中的某些路由)

路由聚合产生的问题

如果路由聚合后携带所有明细路由经过的AS信息,当明细路由发生频繁震荡时,聚合路由也可能受其影响频繁刷新。因此,聚合路由是否携带丢失的AS_Path信息,需要设计者综合考虑网络环境

4:AIGP

BGP优选AIGP较小的路由。AIGP属性是一种新的BGP路由属性,用于传递并累加IGP Cost值,该属性为可选非过渡属性。在一个AIGP域内部署AIGP属性,可以使BGP像IGP那样基于路由的Cost值优选出最优路由,从而保证一个AIGP域内的设备都按照最优路径进行数据转发。AIGP的比较遵循如下规则:

1:有AIGP属性的路由优先级高于没有AIGP属性的路由。

2:如果路由都存在AIGP属性,则比较AIGP属性与其下一跳的IGP Cost之和,优选该值较小的。

AIGP属性只能通过路由策略添加。在BGP引入、接收或发送路由时,可以人为通过路由策略里的 apply aigp cost | inherit-cost 命令设置AIGP属性值的大小。其中,在BGP引入IGP路由时,若不进行设置,BGP路由没有AIGP属性值。

bgp 200(R4)

#

ipv4-family unicast

  peer 14.1.1.2 aigp                                    //使能与对等体之间的AIGP能力

  peer 15.1.1.2 aigp                                    //使能与对等体之间的AIGP能力

  peer 14.1.1.2 route-policy 1 export

  peer 15.1.1.2 route-policy 1 export

#

route-policy 1 permit node 10                //定义路由策略的第一个节点,设置路由4.4.4.4/32的AIGP为10

if-match ip-prefix prefix1

apply aigp 10

#

route-policy 1 permit node 20                //定义路由策略的第二个节点,不设置匹配条件,允许其他路由通过路由策略

if-match ip-prefix prefix1

apply aigp 5

#

ip ip-prefix prefix1 index 10 permit 4.4.4.4 32        //定义地址前缀列表prefix1,匹配路由

R2:

ipv4-family unicast

  peer 14.1.1.1 aigp                                    //使能与对等体之间的AIGP能力

R3:

 ipv4-family unicast

  peer 15.1.1.2 aigp                                     //使能与对等体之间的AIGP能力

5.AS_Path

AS_Path属性有四种形式,分别是:AS_Sequence、AS_Set、AS_Confed_Sequence和AS_Confed_Set。

AS_Sequence:它是到目的地的路径上所经过的AS号的有序集合,按照顺序记录了路由经过的所有AS。

AS_Set:它是到目的地的路径上所经过的AS号的无序集合。AS_Set通常用在路由聚合的场景。

AS_Confed_Sequence:是联盟内子AS的一个有序集合。

AS_Confed_Set:是联盟内子AS的一个无序集合,主要用在联盟内路由聚合的场景。

AS号追加

route-policy 1 permit node 10                   //定义路由策略add_asn的第一个节点

if-match ip-prefix prefix1                            //匹配IP地址前缀列表prefix1

apply as-path 65003 65003 65003 additive             

AS号替换

配置 apply as-path 命令时,如果选择 overwrite 参数,则可以对AS_Path中的编号进行替换。AS编号替换的应用比较灵活,主要有以下几种情况:

隐藏路由的真实路径信息。

如果配置了 as-path-limit 命令,接收路由时会检查AS_Path属性中的AS号是否超限,如果超限则丢弃路由。这样对于AS_Path较长的路由,在接收之前,可以把AS_Path替换成较短的AS_Path,防止路由由于AS号超限而被丢弃。

缩短AS_Path长度,使路由被优选。

AS号替换还可以用于形成负载分担

6.Origin

Origin属性主要有三种:

IGP:具有最高的优先级。路由是用 network 命令注入到BGP路由表中的,则Origin属性为IGP。

EGP:优先级次之。通过EGP得到的路由信息,其Origin属性为EGP。

Incomplete:优先级最低。路由是用 import-route 命令注入到BGP路由表中的,则Origin属性为Incomplete。

3种Origin属性的优先级为:i>e>Incomplete(?)

7.MED(越小越优,默认为0)

特点:仅在AS内部或者相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三方AS

MED属性相当于IGP使用的度量值(Metrics),它用于判断流量进入AS时的最佳路由(用于比较来自相同AS的路由)

修改方法:

注意要点:

执行 compare-different-as-med 命令后,BGP将强制比较来自不同AS的路由的MED值。除非能够确认不同的AS采用了同样的IGP和路由选择方式,否则不要使用 compare-different-as-med 命令(可能产生环路)。

执行 bestroute med-none-as-maximum 命令后,BGP选路时将该路由的MED值按最大值4294967295来处理,选路结束后,MED值恢复为原始值。

执行 bestroute med-confederation 命令后,只有当AS_Path中不包含外部AS号(不属于联盟的子AS),且AS_CONFED_SEQUENCE的第一个AS号相同时,才能比较MED值的大小。

执行 deterministic-med 命令后,将消除路由接收顺序对选路结果的影响。

step1:在R4上使用ip-prefix或者acl命令匹配路由

step2:使用Route policy匹配ip-prefix或者acl,apply cost

step3:在R1上验证

8.邻居类型(EBGP优于IBGP路由)

在运营商网络存在多个出口设备从Internet获取路由的场景,出口设备会经常比较邻居类型。

所有设备处于同一个AS。SwitchA和SwitchB做为运营商网络的出口设备,之间建立IBGP邻居关系,并且和其他的设备也都建立IBGP邻居关系。做为运营商网络的出口设备,SwitchA和SwitchB同时从Internet获取路由,然后将EBGP路由向自己的所有IBGP邻居发布。在这种情况下,SwitchA和SwitchB上分别有一条IBGP路由和EBGP路由,并且二者的AS_Path属性相同。通过邻居类型的比较,SwitchA和SwitchB都选择EBGP路由做为最优路由。

9.IGP的开销值

默认情况下:R1会优先选择R2作为到达4.4.4.4/32的下一跳(router id小)

在R1的G0/0/0接口下使用命令ospf cost 10,使IGP的开销值大于默认开销值1.

验证如下:

10.Cluster_list

step2:RR收到客户机Client 1的update报文后,RR第一次反射该路由时,会把cluster-ID添加到Cluster_List,如果RR没有cluster_ID属性,则自己创建一个再添加。同时也会把Originator_ID添加进去,标识此条路由的发起设备(Router ID值)

11. Router ID (越小越优)

Router ID在自治系统AS中可以标识一台路由器:

如果路由携带Originator_ID属性,选路过程中将比较Originator_ID的大小(不再比较Router ID),并优选Originator_ID最小的路由。缺省情况下,BGP在选择最优路由时在Cluster-List之后比较Originator-ID。配置 bestroute routerid-prior-clusterlist 命令后,BGP在选择最优路由时在Cluster-List之前比较Originator-ID。

12:对等体地址

多链路场景EBGP之间一般用loopback0接口作为更新源地址,也可以使用不同的接口地址作为更新源

负载分担:

配置BGP负载分担后,满足如下所有条件的多条BGP路由会成为等价路由,进行负载分担:

1:首选值(PrefVal)相同。

2:本地优先级(Local_Pref)相同。

3:都是聚合路由,或者都不是聚合路由。

4:AIGP值相同。

5:AS_Path属性完全相同。

6:Origin类型(IGP、EGP、Incomplete)相同。

7:MED(Multi_Exit Discriminator)值相同。

8:都是EBGP路由或都是IBGP路由。配置 maximum load-balancing eibgp 命令后,BGP在选择最优VPN路由时忽略该条比较。

AS内部IGP的Metric相同。配置 maximum load-balancing eibgp 命令后,BGP在选择最优VPN路由时忽略该条比较。

此外,需要特别指出的是,携带标签的BGP路由与不携带标签的BGP路由即使满足上述条件,也不能形成负载分担。

step1:在R4的BGP进程中network一条路由之后,R1的路由表中存在两条到达4.4.4.4/32的BGP路由,但是只会优选下一跳为R2作为自己的下一跳,因为router id小,此时查看路由表如下所示:

step2:在R1的BGP进程中使用maximum load-balancing ibgp 2命令(ebgp也可以)实现负载分担。

bgp的13条选路原则(代码片段)

BGP的13条选路原则?BGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况①该路由是到达目的地的唯一路由,直接优选②对到达同一目的地的多条路由,优选优先级最高的③对到达同一目的地且具有... 查看详情

解忧杂货店负载分担和路由备份--华为数通r&s实验漫载(代码片段)

前言上一节我们讲到了静态路由的基本配置和用法,今天我们看看静态路由还有哪些其他的用法,比如负载分担以及路由备份。负载分担是指去往同一目的网络有多条优先级和开销值一致的路由,类似于武汉到北京有两趟高铁,... 查看详情

bgp十一条选路原则与bgp路由传递的注意事项介绍(代码片段)

十一条选路规则1.优选Preferred-Value属性值最大的路由。2.优选Local_Preference属性值最大的路由。3.本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从... 查看详情

hcna——负载分担路由备份(代码片段)

HCNA——负载分担、路由备份实验拓扑图根据上图所给的参数进行配置4台PC互通需配置双向路由表这里我就不再演示了直接开始实验实验开始负载分担从PC1pingPC4是不是第一个数据包走红色的路由第二个的数据包走蓝色的路由呢?P... 查看详情

bgp选路原则

BGP本地始发的路由下一跳为0.0.0.0,选路时优先于从对等体学到的路由,bgp默认选路不做负载均衡来自IBGP的路由不会发给其他IBGP邻居权重(preferencevalue)是一个本地有效的属性,不可能是往外发路由有效,(所以只能是外面路由进... 查看详情

bgp属性分类及路由优先级选择

BGP属性分类及路由优先级选择一、常见BGP属性类型1、公认必遵属性(所有BGP路由器必须遵守的原则)2、公认可遵属性(所有路由器都能识别但不一定遵守)3、可选传递属性(不是所有BGP路由器都能识别,... 查看详情

bgp工作原理(5)

一、BGP路由信息决策过程1、Adj-RIB-In  存放从对等体接收到的更新当从对等体接收到Update报文时,路由器会把Update报文存储到路由信息库RIB,并指明是来自哪个对等体的;Update报文经过BGP输入策略引擎路由过滤或修改属性... 查看详情

配置ospf负载分担示例(代码片段)

...流量压力,增强网络健壮性。当到达同一目的地存在同一路由协议发现的多条路由时,且这几条路由的开销值也相同,那么就满足负载分担的条件。当实现负载分担时,路由器根据五元组(源地址、目的地址、源端口、目的端口... 查看详情

bgp属性详细点?

RT  BGP选路原则(决策过程)  1.优选有最大Weight的路由(范围0到65,535)  A:weight是CISCO私有的参数,路由器配置了权重后在本地有效。  2.优选有最大LOCAL_PREF值的路由(范围0到4,294,967,295).  3.优选从本路由器始发的路... 查看详情

bgp选路由原则(代码片段)

BGP的选路由原则 13条1、Weight权重越大越优  思科私有2、local-prefence 本地优先级默认100越大越优3、本地优先任何条目都没有本地优先4、As-path越短越优,5、origin起源6、med7、ebgp优于ibgp8、优选next-hop最近的路由9、BGP... 查看详情

华为防火墙静态路由结合多出口选路(代码片段)

防火墙的静态路由常见路由协议概述?静态路由,静态路由多出口?动态路由?按作用范围分为1)IGP路由:RIP、OSPF、ISIS2)EGP路由:BGP?按使用算法分为3)链路状态协议:OSPF、ISIS4)距离矢量协议:RIP、BGP?策略路由、ISP选路路由协议优先... 查看详情

bgp选路原则

目录BGP的选路原则1,优选PV值最大的路由修改PV影响选路的配置:方法一:全局修改方法二:精细化控制2,优选LP属性值最大的路由方法一:全局修改方法二:精细化控制3,自己始发的路由优先级... 查看详情

网络规划bgp路由属性小测验

在BGP路由选优中,针对以下四种属性,系统考虑的顺序依次是()。1MED2Orign3As-path4LocalpreferenceA、4,3,2,1B、2,3,1,4C、4,3,1,2D、2,4,1,3正确答案:A我的答案:A得分:20.0分2BGP路由器从对等体接收到路由后,其基于的操作过程说法正确... 查看详情

ip路由详解

路由协议的分类IGPAS内部路由协议,注重于路由的发现与计算,收敛快,一般存在触发更新与周期性更新。代表:RIP、ospf、isisRIP更新时间30sospf更新时间1800s---30分钟isis更新时间900s---15分钟EGPAS之间路由协议,工作在AS与AS之间,... 查看详情

bgp是什么?bgp用于哪些地方?

BGP(边界网关协议)是一种协议,通过在边缘路由器之间交换路由和可达性信息来管理数据包如何通过互联网路由。BGP在自治系统(AS)之间引导数据包-由单个企业或服务提供商管理的网络。在单个网络AS内路由的流量称为内部B... 查看详情

2021-10-10

路由基础路由的分类路由表与FIB表路由协议的优先级负载分担与路由备份路由的收敛路由是什么:报文从源到目的地的传输路径。路由器可以根据路由表的最佳路由进行转发,最佳路由与与发现此路由的路由协议优先级&#... 查看详情

华为s5700系列交换机ar配置静态ip双链路负载分担

...。实现通过静态IP双上行接入Internet,链路1和链路2的出口路由采用等价默认路由进行负载分担。拓扑简图: 查看详情

玩转华为ensp模拟器系列|ipsec网关负载分担双机热备,上下行连接路由器(代码片段)

...器实验目标介绍负载分担双机热备组网,上下行连接路由器时如何配置IPSecVPN。组网需求如图1所示,公司总部、分支均通过FW接入Internet。总部的FW_C和FW_D以负载分担方式工作,其业务接口都工作在三层,并与上下... 查看详情