Skip to main content

BGP选路原则

路由器对BGP路由的处理过程

BGP路由来源包括从其他协议引入和从邻居学习两个部分。为了缩小路由表规模,可以先进行路由聚合。之后路由器进行路由选择、路由发送和路由下发IP路由表等过程。

q4WY9UeAsWbDF1SJ-drawing-1-1709131405.png
BGP 路由器对路由的处理过程

1

BGPUNRIGPBGPImportNetwork

2

BGP使

3

BGP使

4

BGP

5

BGP使

6

BGPBGPBGPIP

选路规则

BGP在选择路由时严格按照先后顺序比较路由的属性,如果通过前面的属性就可以选出最优路由,BGP将不再进行后面的比较;如果BGP通过所有属性仍没有选出最优路由,则先收到的路由优选。下图按照顺序列出了这些属性的助记简写、选择规则和补充说 明。从下图可以看出,仅仅前两项协议首选值和本地优先级是数值高者优选,其他大部分是数值小者或长度短者优选。另外,下图的第一列还可以归纳成如下字符串:“PPAAA OMTCC RA”,记住此字符串有助于记忆整个选路规则。

5dl0PyreVpXnC1en-drawing-1-1709133012.png
BGP选路属性表

P

PrefVal

0

P

Local_Pref

100

default local-preferenceBGP

A

此处取字 "ASNIL"首字面。

A>S>N>I>L

  • Aaggregate
  • Ssummary automatic
  • Nnetwork
  • Iimport-route
  • L

-

A

AIGP Accumulate d Interior Gateway Protocol

AIGPAIGP

-

A

AS_Path

bestroute as-path-ignoreBGPAS_Path

O

Origin

IGP>EGP>Incomplete

-

M

MEDMulti Exit Discriminator

0

bestroute med-none-as-maximumBGPMED4294967295

MED使MED

T

Peer Type

EBGP>IBGP

-

C

IGP Cost

bestroute igp-metric-ignoreBGPIGP Cost

C

Cluster_List

BGPCluster-ListOriginator-IDbestroute routerid-prior-clusterlistBGPOriginator-IDCluster-List

R

Router ID

Originator_IDOriginator_IDRouter IDOriginator_ID

A

Peer Address

-

配置负载分担时的路由选择

配置BGP负载分担后,满足如下所有条件的多条BGP路由会成为等价路由,进行负载分担:

  • 首选值(PrefVal)相同。
  • 本地优先级(Local_Pref)相同。
  • 都是聚合路由,或者都不是聚合路由。
  • AIGP值相同。
  • AS_Path属性完全相同。
  • Origin类型(IGP、EGP、Incomplete)相同。
  • MED(Multi_Exit Discriminator)值相同。
  • 都是EBGP路由或都是IBGP路由。配置maximum load-balancing eibgp命令后,BGP在选择最优VPN路由时忽略该条比较。
  • AS内部IGP的Metric相同。配置maximum load-balancing eibgp命令后,BGP在选择最优VPN路由时忽略该条比较。

此外,需要特别指出的是,携带标签的BGP路由与不携带标签的BGP路由即使满足上述条件,也不能形成负载分担。

私网路由选路规则

在VRP的实现中,私网BGP路由选路规则与公网BGP路由选路规则相同。唯一的不同是,相对于公网BGP路由,私网BGP路由需要根据VPN-Target进行路由交叉。更多关于 路由交叉的内容,请参见《VRP 特性描述-IP路由-BGP》中的“BGP私网路由选择”章节。

理解 BGP 路由表

在详细学习BGP路由属性对BGP选路的影响之前,用户需要了解如何查询这些路由属性。

BGP路由属性查询命令

PrefVal

display bgp routing-table [ network ]

Local_Pref

display bgp routing-table [ network ]

display bgp routing-table network

AIGP

display bgp routing-table network

AS_Path

display bgp routing-table [ network ]

Origin

display bgp routing-table [ network ]

MED

display bgp routing-table [ network ]

display bgp routing-table network

IGP Cost

  • display bgp routing-table network 
  • display ip routing-table ip-address [ mask | mask-length ] [ verbose ] ip-addressBGPIP

Cluster_List

display bgp routing-table network

Originator ID

display bgp routing-table network

Router ID

display bgp routing-table network

display bgp routing-table network