Brief Summary:
There is sometimes confusion between the two Border Gateway Protocol (BGP) configuration commands bgp deterministic-med and bgp always-compare-med. This document explains the differences in how the bgp deterministic-med and bgp always-compare-med commands
can affect Multi Exit Discriminator (MED)-based path selection and how
each command changes the behavior of BGP when choosing a best route.
There are two BGP configuration commands that can influence the MED-based path selection, the bgp deterministic-med and the bgp always-compare-med commands.
Enabling the bgp deterministic-med command
ensures the comparison of the MED variable when choosing routes
advertised by different peers in the same autonomous system. Enabling
the bgp always-compare-med command ensures the comparison of the MED for paths from neighbors in different autonomous systems. The bgp always-compare-med command
is useful when multiple service providers or enterprises agree on a
uniform policy for setting MED. Thus, for network X, if Internet Service
Provider A (ISP A) sets the MED to 10, and ISP B sets the MED to 20,
both ISPs agree that ISP A has the better performing path to X.
Note: The bgp deterministic-med and bgp always-compare-med commands are not enabled by default. Also, the two commands are separate; enabling one does not automatically enable the other.
Command Examples
The examples in this section demonstrate how the bgp deterministic-med and bgp always-compare-med commands can influence MED-based path selection.
Note: Cisco Systems recommends enabling the bgp deterministic-med command
in all new network rollouts. For existing networks, the command must
either be deployed on all routers at the same time, or incrementally,
with care to avoid possible internal BGP (iBGP) routing loops.
For example, consider the following routes for network 10.0.0.0/8:
entry1: AS(PATH) 500, med 150, external, rid 192.1.1.1 entry2: AS(PATH) 100, med 200, external, rid 2.2.2.2 entry3: AS(PATH) 500, med 100, internal, rid 192.1.1.2
The order in which the BGP routes were received is entry3, entry2, and
entry1. (Entry3 is the oldest entry in the BGP table, and entry1 is the
newest one.)
Note: When
BGP receives multiple routes to a particular destination, it lists them
in the reverse order that they were received, from the newest to the
oldest. BGP then compares the routes in pairs, starting with the newest
entry and moving toward the oldest entry (starting at top of the list
and moving down). For example, entry1 and entry2 are compared. The
better of these two is then compared to entry3, and so on.
Scenario 1: Both Commands Disabled
Entry1 and entry2 are compared first. Entry2 is chosen as the better of
these two because it has a lower router ID. The MED is not checked
because the paths are from a different neighbor autonomous system. Next,
entry2 is compared to entry3. Entry2 is chosen as the best path because
it is external.
Scenario 2: bgp deterministic-med Disabled, bgp always-compare-med Enabled
Entry1 is compared to entry2. These entries are from different neighbor autonomous systems, but since the bgp always-compare-med command
is enabled, MED is used in the comparison. Of these two entries, entry1
is better because it has a lower MED. Next, entry1 is compared to
entry3. The MED is checked again because the entries are now from the
same autonomous system. Entry3 is chosen as the best path.
Scenario 3: bgp deterministic-med Enabled, bgp always-compare-med Disabled
When the bgp deterministic-med command
is enabled, routes from the same autonomous system are grouped
together, and the best entries of each group are compared. The BGP table
looks like this:
entry1: AS(PATH) 100, med 200, external, rid 1.1.1.1 entry2: AS(PATH) 500, med 100, internal, rid 192.1.1.4 entry3: AS(PATH) 500, med 150, external, rid 192.1.10.1
There is a group for AS 100 and a group for AS 500. The best entries for
each group are compared. Entry1 is the best of its group because it is
the only route from AS 100. Entry2 is the best for AS 500 because it has
the lowest MED. Next, entry1 is compared to entry2. Since the two
entries are not from the same neighbor autonomous system, the MED is not
considered in the comparison. The external BGP route wins over the
internal BGP route, making entry1 the best route.
Scenario 4: Both Commands Enabled
The comparisons in this example are the same as in Example 3, except for
the last comparison between entry2 and entry1. The MED is taken into
account for the last comparison because the bgp always-compare-med command is enabled. Entry2 is selected as the best path.
Thanks!!!!
Good One..
ReplyDeleteWell Explained.
ReplyDelete