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

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也可以)实现负载分担。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • 实验3.15 BGP路由的引入 =========================================...
    maskim_71e2阅读 2,214评论 0 0
  • BGP外部网关协议 前述: AS:自制系统:具有相同“路由策略”的一组路由器RFC对AS的定义:一组被统一管理的路...
    zhane_hao阅读 1,459评论 0 0
  • BGP的路径属性描述了BGP路由的路径信息,是每个Update数据包的一部分; 一、BGP路径属性可分成4大类: ...
    虽然逆风依然不羁阅读 1,714评论 0 0
  • 实验3.16 BGP缺省路由 #可以将RIP、OSPF、IS-IS等IGP协议的动态路由,以及直连路由或静态路由引...
    maskim_71e2阅读 1,054评论 1 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,515评论 16 22