目录
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地址数值最小的路径