BGPBESTPATHALGORITHM
BGPBESTPATHALGORITHM
Table of Contents
BGP Best Path Selection Algorithm..................................................................................................................1
Document ID: 13753................................................................................................................................1
Introduction..........................................................................................................................................................1
Prerequisites.........................................................................................................................................................1
Requirements..........................................................................................................................................1
Components Used...................................................................................................................................1
Conventions............................................................................................................................................1
Why Routers Ignore Paths...................................................................................................................................1
How the Best Path Algorithm Works..................................................................................................................2
Customize the Path Selection Process.................................................................................................................4
BGP Multipath.....................................................................................................................................................4
NetPro Discussion Forums − Featured Conversations........................................................................................5
Related Information.............................................................................................................................................6
i
BGP Best Path Selection Algorithm
Document ID: 13753
Introduction
Prerequisites
Requirements
Components Used
Conventions
Why Routers Ignore Paths
How the Best Path Algorithm Works
Customize the Path Selection Process
BGP Multipath
NetPro Discussion Forums − Featured Conversations
Related Information
Introduction
Border Gateway Protocol (BGP) routers typically receive multiple paths to the same destination. The BGP
best path algorithm decides which is the best path to install in the IP routing table and to use for traffic
forwarding.
Prerequisites
Requirements
There are no specific requirements for this document.
Components Used
This document is not restricted to specific software and hardware versions.
Conventions
Refer to Cisco Technical Tips Conventions for more information on document conventions.
• Paths that are marked as not synchronized in the show ip bgp longer−prefixes output
If BGP synchronization is enabled, there must be a match for the prefix in the IP routing table in order
for an internal BGP (iBGP) path to be considered a valid path. BGP synchronization is enabled by
default in Cisco IOS® Software. If the matching route is learned from an Open Shortest Path First
(OSPF) neighbor, its OSPF router ID must match the BGP router ID of the iBGP neighbor. Most
Note: Synchronization is disabled by default in Cisco IOS Software Release 12.2(8)T and later.
• Paths for which the NEXT_HOP is inaccessible
Be sure that there is an Interior Gateway Protocol (IGP) route to the NEXT_HOP that is associated
with the path.
• Paths from an external BGP (eBGP) neighbor if the local autonomous system (AS) appears in the
AS_PATH
Such paths are denied upon ingress into the router and are not even installed in the BGP Routing
Information Base (RIB). The same applies to any path that is denied by a routing policy that is
implemented via access, prefix, AS_PATH, or community lists, unless you have configured
soft−reconfiguration inbound for the neighbor.
• If you enabled bgp enforce−first−as and the UPDATE does not contain the AS of the neighbor as the
first AS number in the AS_SEQUENCE
In this case, the router sends a notification and closes the session.
• Paths that are marked as (received−only) in the show ip bgp longer−prefixes output
The policy has rejected these paths. However, the router has stored the paths because you have
configured soft−reconfiguration inbound for the neighbor that sends the path.
Note: A path without LOCAL_PREF is considered to have had the value set with the bgp default
local−preference command, or to have a value of 100 by default.
3. Prefer the path that was locally originated via a network or aggregate BGP subcommand or through
redistribution from an IGP.
Local paths that are sourced by the network or redistribute commands are preferred over local
aggregates that are sourced by the aggregate−address command.
4. Prefer the path with the shortest AS_PATH.
♦ This step is skipped if you have configured the bgp bestpath as−path ignore command.
♦ An AS_SET counts as 1, no matter how many ASs are in the set.
♦ The AS_CONFED_SEQUENCE and AS_CONFED_SET are not included in the AS_PATH
length.
5. Prefer the path with the lowest origin type.
Note: IGP is lower than Exterior Gateway Protocol (EGP), and EGP is lower than INCOMPLETE.
♦ This comparison only occurs if the first (the neighboring) AS is the same in the two paths.
Any confederation sub−ASs are ignored.
In other words, MEDs are compared only if the first AS in the AS_SEQUENCE is the same
for multiple paths. Any preceding AS_CONFED_SEQUENCE is ignored.
♦ If bgp always−compare−med is enabled, MEDs are compared for all paths.
You must disable this option over the entire AS. Otherwise, routing loops can occur.
♦ If bgp bestpath med−confed is enabled, MEDs are compared for all paths that consist only
of AS_CONFED_SEQUENCE.
If you have enabled bgp bestpath missing−as−worst, the paths are assigned a MED of
4,294,967,294.
♦ The bgp deterministic med command can also influence this step.
Refer to How BGP Routers Use the Multi−Exit Discriminator for Best Path Selection for a
demonstration.
7. Prefer eBGP over iBGP paths.
Note: Paths that contain AS_CONFED_SEQUENCE and AS_CONFED_SET are local to the
confederation. Therefore, these paths are treated as internal paths. There is no distinction between
Confederation External and Confederation Internal.
8. Prefer the path with the lowest IGP metric to the BGP next hop.
This step minimizes route−flap because a newer path does not displace an older one, even if the newer
path would be the preferred route based on the next decision criteria (Steps 11, 12, and 13).
Note: Cisco IOS Software Releases 12.0.11S, 12.0.11SC, 12.0.11S3, 12.1.3, 12.1.3AA,
12.1.3.T, and 12.1.3.E introduced this command.
♦ The router ID is the same for multiple paths because the routes were received from the same
The current best path can be lost when, for example, the neighbor that offers the path goes
down.
11. Prefer the route that comes from the BGP router with the lowest router ID.
The router ID is the highest IP address on the router, with preference given to loopback addresses.
Also, you can use the bgp router−id command to manually set the router ID.
Note: If a path contains route reflector (RR) attributes, the originator ID is substituted for the router
ID in the path selection process.
12. If the originator or router ID is the same for multiple paths, prefer the path with the minimum cluster
list length.
This is only present in BGP RR environments. It allows clients to peer with RRs or clients in other
clusters. In this scenario, the client must be aware of the RR−specific BGP attribute.
13. Prefer the path that comes from the lowest neighbor address.
This address is the IP address that is used in the BGP neighbor configuration. The address
corresponds to the remote peer that is used in the TCP connection with the local router.
• This step is skipped if you have issued the bgp bestpath cost−community ignore command.
• The cost community set clause is configured with a cost community ID number (0 to 255) and cost
number value (0 to 4,294,967,295). The cost number value determines the preference for the path.
The path with the lowest cost number value is preferred. Paths that are not specifically configured
with the cost number value are assigned a default cost number value of 2,147,483,647. This value is
the midpoint between 0 and 4,294,967,295. These paths are then evaluated accordingly by the best
path selection process. If two paths are configured with the same cost number value, the path selection
process prefers the path with the lowest community ID.
• Currently, only the IGP_COST point of insertion is implemented. This means that only Cost
Communities with the IGP_COST point of insertion are considered after Step 8 of the algorithm in
How the Best Path Algorithm Works.
BGP Multipath
BGP Multipath allows installation into the IP routing table of multiple BGP paths to the same destination.
These paths are installed in the table together with the best path for load sharing. BGP Multipath does not
affect bestpath selection. For example, a router still designates one of the paths as the best path, according to
the algorithm, and advertises this best path to its neighbors.
In order to be candidates for multipath, paths to the same destination need to have these characteristics equal
to the best−path characteristics:
• Weight
• Local preference
• AS−PATH length
• Origin
• MED
• One of these:
BGP inserts up to n most recently received paths from multipath candidates in the IP routing table. The
maximum value of n is currently 6. The default value, when multipath is disabled, is 1.
For unequal−cost load balancing, you can also use BGP Link Bandwidth.
Note: The equivalent next−hop−self is performed on the best path that is selected among eBGP multipaths
before it is forwarded to internal peers.
All contents are Copyright © 1992−2006 Cisco Systems, Inc. All rights reserved. Important Notices and Privacy Statement.