1.BGP路由优选规则
上述规则依序排列,BGP进行路由优选时,从第一条规则开始执行,如果根据第一条规则无法作出判断,例如路由的Preferred-Value属性值相同,则继续执行下一条规则,如果根据当前的规则,BGP能够决策出最优的路由,则不再继续往下执行。
本文选取了BGP路由优选规则中最为关键的12条,接下来将逐一讲解并验证上述规则。
在后续的内容中可能会提到诸如“第8条选路规则”之类的术语,则对应本页所罗列的第8条选路规则。
AIGP(Accumulated Interior Gateway Protocol,累加IGP度量值)用于传递并累加IGP metric值,该属性值并不常用,在BGP路由优选规则中并不涉及。
2.丢弃下一跳不可达的路由
(1)
默认配置下,R2、R3开启next-hop-local,R1会优选R2通告的BGP路由10.0.45.0/24,后续案例中请注意该点。
(2)
(3)
3.Preferred-Value
(1)修改Preferred-Value
(2)查看R1 BGP路由表
4.Local_Preference
(1)
在配置路由策略时,通常会按照顺序从上到下进行匹配。一旦找到匹配的策略,路由器就会根据此策略进行操作,并不再继续匹配后续的策略。
但是,如果最后一条策略没有明确指定是允许(permit)还是拒绝(deny),那么默认情况下路由器会执行拒绝操作(deny)。因此,为了确保最后一条策略能够生效并允许通过,通常会在最后添加一条明确的允许策略(permit),以确保路由器能够按照预期进行操作。
总结来说,添加最后一条明确的允许策略是为了防止意外情况发生,确保路由器在匹配完所有策略后能够正常执行操作。
(2)
5.local
(1)本地优先
本条规则我们验证了:
本地产生的BGP路由优于从对等体学习的BGP路由
手动聚合产生的BGP路由优于自动聚合产生的BGP路由
(2)手动聚合(1)
(3)手动聚合(2)
BGP路由表中“s”标志代表该路由条目被抑制。
(4)手动聚合(3)
(5)自动聚合(1)
(6)自动聚合(2)
(7)自动聚合(3)
(8)自动聚合(4)
本地Network优于本地import,此案例不再展示。
自动聚合产生的聚合路由并不会携带Atomic-aggregate属性。
6.AS_Path
(1)优选AS_Path最短(1)
(2)优选AS_Path最短(2)
7.Origin:优选Origin属性最优的路由。Origin属 性值按优先级从高到低的排列是: IGP、 EGP及Incomplete.
(1)Origin属性验证(1)
(2)Origin属性验证(2)
8.MED规则
(1)优选MED最小(1)
(2)优选MED最小(2)
9.优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)
(1)优选从EBGP对等体学来的路由(1)
additive -----在原来的AS_PATH属性值上加
overwrite ----覆盖原来的AS_PATH属性值
(2)优选从EBGP对等体学来的路由(2)
(3)优选从EBGP对等体学来的路由(3)
10.Next_Hop
(1)IGP Cost
(2)优选IGP Cost值最小(1)
(3)优选IGP Cost值最小(2)
(4)优选IGP Cost值最小(3)
11.BGP路由等价负载分担
(1)
默认情况下设备只会对AS_Path完全相同的路由进行负载分担,可以使用load-balancing as-path-ignore忽略AS_Path路径不一致。
在公网中到达同一目的地的路由形成负载分担时,系统会首先判断最优路由的类型。
若最优路由为IBGP路由则只是IBGP路由参与负载分担,若最优路由为EBGP路由则只是EBGP路由参与负载分担,即公网中到达同一目的地的IBGP和EBGP路由不能形成负载分担。