HCIP-6.7BGP的路径选择

1、BGP路径属性

BGP是根据属性来选路的。

BGP路径属性可以被分为四大类:

  • 公认必遵 (Well-known mandatory)
    所有BGP路由器都可以识别,且必须存在于Update消息中。如果缺少这种属性,路由信息就会出错。Origin、AS_PATH、Next hop。

  • 公认任意 (Well-known discretionary)
    所有BGP路由器都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来决定是否添加到Update消息中。Local-Preference\ Atomic-Aggregate原子聚合

  • 可选过渡 (Optional transitive)
    BGP路由器可以选择是否在Update消息中携带这种属性。接收的路由器如果不识别这种属性,可以转发给邻居路由器,邻居路由器可能会识别并使用到这种属性。Aggregator\ Community

  • 可选非过渡 (Optional non-transitive)
    BGP路由器可以选择是否在Update消息中携带这种属性。在整个路由发布的路径上,如果部分路由器不能识别这种属性,可能会导致该属性无法发挥效用。因此接收的路由器如果不识别这种属性,将丢弃这种属性,不必再转发给邻居路由器。Originator-ID\ Cluster-List\ MED

常见的BGP属性:

BGP属性描述
Origin起源
AS_PATH经过的AS号
Next hop下一跳
MED多出口鉴别器[metric值]
Local-Preference本地优先级
Atomic-Aggregaten原子聚合
Aggregator聚合者
Community团体属性[标准的、扩展的]
Originator-ID起源ID 在RR里的
Cluster-List在RR里的
MP_Reach_NLRI多协议(ipv4\ipv6)可达的路由信息及下一跳信息。
MP_Unreach_NLRI多协议(ipv4\ipv6)撤销不可达的路由信息。
Extended_Communities扩展团体属性
BGP属性类别
Origin公认必遵 (Well-known mandatory)
AS_PATH公认必遵 (Well-known mandatory)
Next hop公认必遵 (Well-known mandatory)
Local-Preference公认任意 (Well-known discretionary)
Atomic-Aggregate公认任意 (Well-known discretionary)
Aggregator可选过渡 (Optional transitive)
Community可选过渡 (Optional transitive)
MED可选非过渡 (Optional non-transitive)
Originator-ID可选非过渡 (Optional non-transitive)
Cluster-List可选非过渡 (Optional non-transitive)

1.1、路由选择

Origin起源
通告、汇总产生的,他们代码是i;优先级i>?,i----IGP
重分布、引入产生的,代码是?,incomplete。

AS_PATH经过的AS号
AS_Path属性按矢量顺序记录了某条路由从本地到目的地址所要经过的所有AS编号。
BGP的跳数就是AS。还有防环作用,当收到的路由有本AS号,路由将会拒绝接收该路由。
用来选路的,2、用来防环的。

Local-Preference
当BGP的设备通过不同的IBGP对等体得到到AS外的目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由。
本地优先级越大越优先。
defaut local-preference 100 //缺省情况下,BGP本地优先级的值为100。

MED

  • 多出口分离[metric值] 到达同一AS号多条入口链路,越小链路越优先。
  • MED属性相当于IGP使用的度量值(Metrics),它用于判断流量进入AS时的最佳路由。
  • 缺省情况下,BGP仅比较来自同一AS的路由的MED属性值。
    default med 0 //配置缺省MED值。配置缺省MED值。
    bestroute med-none-as-maximum //设置当路由没有MED值时将其作为最大值处理。当路由属性中没有MED值时,BGP在选路时将使用缺省MED值。
    compare-different-as-med //允许BGP比较属于任意AS的EBGP对等体的路由的MED值。
    deterministic-med //在路由选路时优先比较AS_Path最左边的AS号相同的路由。
    bestroute med-confederation //比较联盟内路由的MED值。

1.1.1、BGP路由选择过程

1、如果此路由的下一跳不可达,忽略此路由。
是13条选路规则的前提

2、Preferred-Value值数值高的优先。
等于思科的weight 越大越优;
只在本地生效,不能跨设备。

[R1]dis bgp rou     
 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  1.1.1.1/32         2.2.2.2         0          100        0      100i
 * i                     3.3.3.3         0          100        0      100i

3、Local-Preference值最高的路由优先

4、聚合路由优先于非聚合路由 忽略

5、本地手动聚合路由的优先级高于本地自动聚合的路由 忽略

6、本地通过network命令引入的路由的优先级高于本地通过import-route命令引入的路由。忽略

7、AS路径的长度最短的路径优先

8、比较Origin属性,IGP优于EGP,EGP优于Incomplete i>e>?

9、选择MED较小的路由

10、EBGP路由优于IBGP路由

11、BGP优先选择到BGP下一跳的IGP度量最低的路径 比较metric值

当以上全部相同,则为等价路由,可以负载分担
注:AS_PATH必须一致
当负载分担时,以下3条原则无效
12,比较Cluster-List长度,短者优先,
13,比较Originator_ID(如果没有Originator_ID,则用Router ID比较),选择数值较小的路径
14,比较对等体的IP地址,选择IP地址数值最小的路径

1.1.2、BGP选路参数

Preferred-Value、Local-Preference、AS_PATH、Origin、MED、EBGP/IBGP、IGP cost、Cluster-List、Community

2、BGP的路由策略

通过attribute(属性)来干预BGP的选路。

华为13条选路原则

BGP通过metric来干预选路(由上到下来选,如果第一条原则选出了路径,后续的无效)

记住属性的口诀:PL LAO MEN(漂亮老男人)
1、PrefVal(Preferred Value 优选值最高的路由,私有属性,本地有效)默认为0

2、LocPrf(Local Preference 优选本地优先级最高的路由)默认为100

3、本地起源属性(Local-origin),手动聚合路由>自动聚合路由>IGP>BGP

4、AS_Path(优选短的路由)

5、Origin i>e>?

6、MED(优选MED值小的)

7、EBGP>IBGP

8、在AS内优先选择IGP开销最小的路由

9、是否支持负载均衡 (默认不做,前8条选路原则要完全一样,AS-PATH 号也要一样)

在这里插入图片描述

R4宣告的4.4.4.4发送给EBGPAS123的R2,R2在IBGP内发送给下一跳R1、R3。

[R1-bgp]dis ip ro pro bgp
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
        4.4.4.4/32  IBGP    255  0          RD   2.2.2.2         G0/0/0

RD D代表已经放入路由表,R代表中继。

2.1、Preferred-Value相当权重weight

华为设备私有的prevlue,仅仅在本地有意义,不能跨设备。不会更新给邻居(不能用于出方向)
Preferred-Value默认值为0,越大越优先
Preferred-Value

A、 针对该邻居完全的修改(绝对的) 不建议

[R4-bgp]peer 3.3.3.3 preferred-value 10
[R4-bgp]dis bgp rout
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  1.1.1.3/32        3.3.3.3        0          100        10     100i
原来选择从R2学到11.1,现在改为从R3上学到11.1,所有从R1过来路由都选择从R3过来。

B、明细修改,调用route-policy

[R4]acl 2000
[R4-acl-basic-2000]rule 30 permit source 24.0.0.2 0
[R4-acl-basic-2000]q
[R4]route-policy pre permit node 50
Info: New Sequence of this List.
[R4-route-policy]if-match acl 2000
[R4-route-policy]apply preferred-value 20
[R4-route-policy]q
[R4]bgp 2002.2.2.2方向的权重增加
[R4-bgp]peer 2.2.2.2 route-policy pre import
[R4-bgp]dis bgp rout
Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  1.1.1.1/32          2.2.2.2        0          100        20     100i
 * i                      3.3.3.3        0          100        10     100i
[R4-bgp]dis ip rout pro bgp    查看EBGP之间路由。
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
        1.1.1.1/32  IBGP    255  0          RD   2.2.2.2         G0/0/0

RD D代表已经放入路由表,R代表中继。
Pre路由优选级:Direct0>OSPF10>IS-IS15>Static60>RIP 100>OSPF ASE、OSPF NSSA150>IBGP、EBGP255。
[R4]tracert -a 4.4.4.4 1.1.1.1

2.2、local-preference本地优先级

默认100,越大越优 仅仅用于IBGP(不在EBGP之间传递)
通常用于数据包如何离开本AS。

[R4]dis bgp rout
 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  1.1.1.1/32         2.2.2.2         0          100        0      100i
 * i                     3.3.3.3         0          100        0      100i

A、 绝对的修改(绝对的) 不建议

[R3]bgp 200
[R3-bgp]default local-preference 200  //R3之后发给IBGP对等体的路由的LP属性都将被改为200 

B、明细修改,调用route-policy

[R2]acl 2000
[R2-acl-basic-2000]rule 10 permit source 1.1.1.1 0
[R2]route-policy local permit node 10 
Info: New Sequence of this List.
[R2-route-policy]if-match acl 2000
[R2-route-policy]apply local-preference 300
[R2-route-policy]route-policy local permit node 20  //允许其他
[R2-route-policy]q

local-preference本地优先级

<R4>dis bgp ro
 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  1.1.1.1/32         2.2.2.2         0          300        0      100i
 * i                     3.3.3.3         0          100        0      100i

2.3、AS_PATH经过的AS号 不常用

  • BGP路由每经过一个AS,就会将这个AS号加入自已的AS-Path中。AS_Path属性顺序的记录了某条BGP路由所经过的AS信息。
  • BGP会优选AS_Path长度最短的那条路由。越短越优先。
  • AS_Path还可以用来防止AS之间的路由环路。当路由器从EBGP邻居收到BGP路由时,如果该路由的AS_Path中包含了自己的AS编号,则该路由将会被直接丢弃。

如果路由聚合时,通过aggregate命令手动聚合路由,带AS-SET的汇总,还原本来的AS号码。{200 100}。
AS_PATH修改

R5上查看BGP路由表:

<R4>dis bgp routing-table 
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  10.10.10.10/32     2.2.2.2         0          100        0      100i
 * i                     3.3.3.3         0          100        0      100i

从上面BGP路由表中可以看到,10.10.10.10/32这条路由是从R2的到达R4。

使用Route-Policy对R2接收的10.10.10.10/32的路由信息中的AS_Path属性进行修改。增加一个AS123。
在R2对AS_Path修改配置:

ip ip-prefix AS permit 10.10.10.10 32
route-policy as_path permit node 10
if-match ip-prefix AS
apply as-path 123 additive 
route-policy as_path permit node 20

bgp 200
peer 12.0.0.1 route-policy as_path import     //从R1过来的入方向使用策略路由as-path
<R4>dis bgp routing-table 
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  10.10.10.10/32     3.3.3.3         0          100        0      100i
 * i                     2.2.2.2         0          100        0      123 100i

结果可以看出AS_Path属性中增加了AS123,R2的AS_Path属性为123 100i。R3上的属性还是原来的100i,根据BGP优选AS_Path长度最短的那条路由。R4的BGP路由表优选R3这条路由。走R2的路由变为无效路由。

2.4、Origin起源属性修改

起源码的优先级:I(通告、汇总产生的)>E(不再使用)>?(import重公布)。
I — 代表该路由信息起源于IGP协议(还有静态,直连),通过network发布出来的路由信息.
E — 代表该路由信息起源于EGP协议,现在不用了。
?—import 重发布导入的路由起源码都是?

一台BGP路由器存在多条去往同一目标网络的BGP路由时,根据前面所学的
首先比较Preferred Valu(权重);
再比较Local Preference(本地优先级);
再比较本源属性(手动聚合路由>自动聚合路由>IGP>BGP);
再比较AS_PATH属性(所经过的AS);

都还是一样,这时需要比较,起源码属性。依次优选Origin类型为IGP、EGP、Incomplete的路由。

1、R1对自身的10.10.10.10/32路由做origin的修改。

[R1]route-policy Ori permit node 10
Info: New Sequence of this List.
[R1-route-policy]apply origin ?
  egp         Remote EGP
  igp         Local IGP
  incomplete  Unknown heritage
[R1-route-policy]apply origin incomplete 
[R1-route-policy]q
[R1]bgp 100
[R1-bgp]network 10.10.10.10 32 route-policy Ori 

在这里插入图片描述

2、R1对发送给R2BGP邻居的10.10.10.10/32路由做属性的修改。

[R1]ip ip-prefix ori permit 10.10.10.10 32
[R1]route-policy gin permit node 10
Info: New Sequence of this List.
[R1-route-policy]if-match ip-prefix ori 
[R1-route-policy]apply origin incomplete 
[R1-route-policy]q
[R1]route-policy gin permit node 20
Info: New Sequence of this List.
[R1-route-policy]q
[R1]bgp 100
[R1-bgp]peer 12.0.0.2 route-policy gin export 
<R4>dis bgp routing-table
 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  1.1.1.1/32         2.2.2.2         0          100        0      100i
 * i                     3.3.3.3         0          100        0      100i
 *>i  10.10.10.10/32     3.3.3.3         0          100        0      100i
 * i                     2.2.2.2         0          100        0      100?

从上面可以看到从2.2.2.2过来的路由,Origin起源属性由AS100import重分布产生。
起源码的优先级:I(通告、汇总产生的)>?(import重公布),所以BGP优选3.3.3.3这条路由。origin属性对于选择路由有作用。

2.5、MED多出口鉴别器

前提条件:去往同一目标网络的多条路由来自同一个邻居AS时,BGP才会比较这些MED值。MED只会影响相邻两个AS,收到MED属性的AS不会把此属性再继续传递给别的AS。

MED值小越优先,常被称为Cost。MED的作用是控制邻居AS的流量从哪个入口进入到AS中 。

它是一个4字节的整数,取值范围为0~4294967295。

<R4>dis bgp routing-table 
 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  10.10.10.10/32     2.2.2.2         0          100        0      100i
 * i                     3.3.3.3         0          100        0      100i

R4接收来自同一邻居AS200内的R2、R3发送的10.10.10.10/3路由,R1经过R2到达R4,通过修改MED属性,使得路由10.10.10.10/3通过R1经过R3到达R4。
MED多出口鉴别器

R1上作修改

acl 2000
ru 5 permit source 10.10.10.10 0

route-policy Med permit node 10
if-match acl 2000
apply cost 15
route-policy Med permit node 30   //有ACL就要加上允许其它

route-policy Med10 permit n 20
if-match acl 2000
apply cost 10
route-policy Med10 permit n 30

bgp 100
peer 12.0.0.2 route-policy Med export
peer 13.0.0.3 route-policy Med10 export
<R4>dis bgp rou
 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  10.10.10.10/32     3.3.3.3         10          100        0      100i
 * i                     2.2.2.2         15         100        0      100i

3、BGP非策略性选路原则

3.1、EBGP对等体路由优于IBGP对等体

选路原则:EBGP优于IBGP
原因:eBGP对等体到达外部比穿越整个AS再到达外部要更加优先。
EBGP优于IBGP

10.10.10.10、1.1.1.1这两条路由,R4是从R5上学习到优选路由,R4发送数据会从R5到R1,不会选择IBGP内的R2和R3。

[R4]bgp 100
[R5-bgp]peer 14.0.0.1 as-number 100

[R1]bgp 100
[R1-bgp]peer 14.0.0.4 as-number 200
[R4-bgp]di bgp rout
 Total Number of Routes: 6
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   1.1.1.1/32         14.0.0.1        0                     0      100i
 * i                     2.2.2.2         0          100        0      100i
 * i                     3.3.3.3         0          100        0      100i
 *>   10.10.10.10/32     14.0.0.1        0                     0      100i
 * i                     2.2.2.2         0          100        0      100i
 * i                     3.3.3.3         0          100        0      100i

从上面可以看出R4是从R1上学习到两条路由,而不是从R2和R3上学习到。

3.2、IGP cost Metric

到下一跳的更新源(R4到2.2.2.和3.3.3.3)的IGP的metric值小的被优选。
这里IGP内运行的是OSPF。

[R4-bgp]di bgp rou
 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  1.1.1.1/32         2.2.2.2         0          100        0      100i
 * i                     3.3.3.3         0          100        0      100i
 *>i  10.10.10.10/32     2.2.2.2         0          100        0      100i
 * i                     3.3.3.3         0          100        0      100i

从上面看出,数据流是由R4–>R2–>R1。

[R4]dis ip rout pro ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
        2.2.2.2/32  OSPF    10   1           D   24.0.0.2        G0/0/0
        3.3.3.3/32  OSPF    10   1           D   34.0.0.3        G0/0/1

在a 0区域内到R2和R3的开销值都是1。

通过调整OSPF链路中的开销值来改变路由,使得数据流从R4–>R3–>R1。

[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ospf cost 10

再次查看BGP路由表,就会发现R4到R1的路由方向改变。

[R4]dis bgp rou
 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>i  1.1.1.1/32         3.3.3.3         0          100        0      100i
 * i                     2.2.2.2         0          100        0      100i
 *>i  10.10.10.10/32     3.3.3.3         0          100        0      100i
 * i                     2.2.2.2         0          100        0      100i

3.3、Load-balance负载均衡

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

根据类型负载分担:

  • 最优路由为iBGP路由,则只是iBGP路由形成负载分担;
  • 若最优路由为eBGP路由,则只是eBGP路由形成负载分担;
  • iBGP路由和eBGP路由不能形成负载分担;
  • BGP只对AS_PATH属性完全相同的路由进行负载分担;

形成负载分担时可以不比较路由的AS_ PATH属性,通过命令load-balancing as path-ignore来实现,但是该方式可能会引起路由环路,需谨慎使用。
在这里插入图片描述

R1通过12.0.0.2和13.0.0.3这两条线路形成EBGP负载分担。R8宣告8.8.8.8/32的路由R4学习到,由R2和R3通告进AS100,R1到AS200有2条eBGP路由,通过R2和R3都可以到达。目前只有一条路由进入R的路由表。

<R1>dis bgp ro
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   8.8.8.8/32         12.0.0.2                              0      200 800i
 *                       13.0.0.3                              0      200 800i

在R1配置负载分担命令:

[R1]bgp 100
[R1-bgp]maximum load-balancing eBGP 2

查看BGP路由表没有变化,此时查看IP路由表会发现。

[R1]dis ip ro
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        1.1.1.1/32  Direct  0    0           D   127.0.0.1       LoopBack0
        8.8.8.8/32  EBGP    255  0           D   12.0.0.2        G0/0/1
                    EBGP    255  0           D   13.0.0.3        G0/0/2

3.4、华为更老的BGP不生效

建立邻居的时间不一样,优选建立时间短的。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HCIP-Datacom-Core技术下载主要是指下载与HCIP-Datacom-Core相关的技术资料、文档和软件。HCIP-Datacom-Core是华为认证的专门针对数据通信核心技术领域的一种专业认证项目。 如果需要下载HCIP-Datacom-Core技术相关的内容,可以按照以下步骤进行: 1. 访问华为官方网站。华为官方网站是获取HCIP-Datacom-Core技术下载的主要渠道,可以通过搜索引擎或直接输入华为官方网站的网址进行访问。 2. 寻找HCIP-Datacom-Core相关技术下载页面。在华为官方网站首页,可以通过导航栏或搜索功能寻找与HCIP-Datacom-Core相关的页面或模块。 3. 浏览下载内容。一旦找到了HCIP-Datacom-Core相关的下载页面,可以浏览其中的内容列表,查看有哪些技术资料、文档和软件可供下载。 4. 选择需要的下载项。根据个人需求,选择需要下载的HCIP-Datacom-Core技术内容,并点击相应的下载链接或按钮。 5. 下载并安装。点击下载链接或按钮后,会开始下载所需的文件。下载完成后,按照文件的安装指引进行安装,将其运行在相应的设备或软件上。 需要注意的是,由于HCIP-Datacom-Core技术是华为的认证项目,相关技术资料和软件可能需要登录或注册华为账号才能下载。此外,由于华为对技术资料和软件的分发可能有相关限制,因此在下载前应当仔细阅读相关页面的说明和要求。 总之,通过访问华为官方网站,找到HCIP-Datacom-Core相关的下载页面,选择需要的技术资料和软件,并按照指引进行下载和安装,即可获取HCIP-Datacom-Core技术的下载内容。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0与1之旅

创作不易请给予一点帮助和鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值