目录

5.1.1 选路规则:



5.1.1 选路规则:

首先,路由的下一跳必须可达,然后BGP按照下面顺序选路:



<1>prefer-value (越大越好)

P

<2>local-pref (越大越好)

L

<3>本地始发

L

<4>as-path (越短越好)

A

<5>origin(i>e>?)

O

<6>med (越小越好)

M

<7>ebgp>ibgp

N

<8>igp cost for next-hop (越小越好)

I

<9>是否支持负载均衡(maximum load-balance)


<10>cluster-list (越短越好)

 

<11>originator-id (越小越好)


<12>router-id(越小越好)


<13>next-hop ip address#neighbor‘s ip address (越小越好)




以上13条规则的内容及顺序务必牢记;

另外在解释每条规则的时候,要准备场景.

BGP的选路规则,举例说明每条规则的具体使用

1,如果此路由的下一跳不可达,忽略此路由

  • 下一跳地址必须可达

2,Preferred-Value值数值高的优先

  • 协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效,相当于思科的weight权重

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

  • 如果路由没有本地优先级,BGP选路时将该路由按缺省的本地优先级100来处理。通过执行default local-preference命令可以修改BGP路由的缺省本地优先级。

4,聚合路由优先于非聚合路由

  • 聚合路由优先级高于非聚合路由

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

  • 通过aggregate命令生成的手动聚合路由的优先级高于通过summary automatic命令生成的自动聚合路由。

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

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

  • AS_Path的长度不包括AS_CONFED_SEQUENCE和AS_CONFED_SET。
  • AS_SET的长度为1,无论AS_SET中包括多少AS号。
  •  执行bestroute as-path-ignore命令后,BGP选路时,忽略AS_Path的比较

8,比较Origin属性,IGP优于EGP,EGP优于Incomplete

9,选择MED较小的路由

  • BGP只比较来自同一个AS(不包括联盟的子AS)的路由的MED值。即,只有两条路由的AS_SEQUENCE(不包括AS_CONFED_SEQUENCE)属性的第一个AS号相同时,BGP才会比较二者的MED值。
  • 如果路由没有MED属性,BGP选路时将该路由的MED值按缺省值0来处理;执行bestroute med-none-as-maximum命令后,BGP选路时将该路由的MED值按最大值4294967295来处理。
  • 执行compare-different-as-med命令后,BGP将强制比较来自不同自治系统中的邻居的路由的MED值。除非能够确认不同的自治系统采用了同样的IGP和路由选择方式,否则不要使用compare-different-as-med命令(可能产生环路)。
  • 执行bestroute med-confederation命令后,只有当AS_Path中不包含外部AS号(不属于联盟的子AS),且AS_CONFED_SEQUENCE的第一个AS号相同时,才能比较MED值的大小。
  • 执行deterministic-med命令后,将消除路由接收顺序对选路结果的影响。

10,EBGP路由优于IBGP路由

11,BGP优先选择到BGP下一跳的IGP度量最低的路径

  • 当以上全部相同,则为等价路由,可以负载分担
  • 注:AS_PATH必须一致
  • 当负载分担时,以下3条原则无效

12,比较Cluster-List长度,短者优先

13,比较Originator_ID(如果没有Originator_ID,则用Router ID比较),选择数值较小的路径

14,比较对等体的IP地址,选择IP地址数值最小的路径