draft-ietf-grow-bgp-med-considerations-04.txt | draft-ietf-grow-bgp-med-considerations-05.txt | |||
---|---|---|---|---|
INTERNET-DRAFT Danny McPherson | INTERNET-DRAFT Danny McPherson | |||
Arbor Networks, Inc. | Arbor Networks, Inc. | |||
Vijay Gill | Vijay Gill | |||
AOL | AOL | |||
Category Informational | Category Informational | |||
Expires: December 2005 June 2005 | Expires: June 2006 December 2005 | |||
BGP MED Considerations | BGP MULTI_EXIT_DISC (MED) Considerations | |||
<draft-ietf-grow-bgp-med-considerations-04.txt> | <draft-ietf-grow-bgp-med-considerations-05.txt> | |||
Status of this Memo | Status of this Memo | |||
By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
applicable patent or other IPR claims of which he or she is aware have | applicable patent or other IPR claims of which he or she is aware have | |||
been or will be disclosed, and any of which he or she becomes aware | been or will be disclosed, and any of which he or she becomes aware | |||
will be disclosed, in accordance with Section 6 of BCP 79. | will be disclosed, in accordance with Section 6 of BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that other | Task Force (IETF), its areas, and its working groups. Note that other | |||
skipping to change at page 2, line 7 | skipping to change at page 2, line 7 | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
Copyright Notice | Copyright Notice | |||
Copyright (C) The Internet Society (2005). All Rights Reserved. | Copyright (C) The Internet Society (2005). All Rights Reserved. | |||
Abstract | Abstract | |||
The BGP MED attribute provides a mechanism for BGP speakers to convey | The BGP MULTI_EXIT_DISC (MED) attribute provides a mechanism for BGP | |||
to an adjacent AS the optimal entry point into the local AS. While | speakers to convey to an adjacent AS the optimal entry point into the | |||
BGP MEDs function correctly in many scenarios, there are a number of | local AS. While BGP MEDs function correctly in many scenarios, there | |||
issues which may arise when utilizing MEDs in dynamic or complex | are a number of issues which may arise when utilizing MEDs in dynamic | |||
topologies. | or complex topologies. | |||
This document discusses implementation and deployment considerations | This document discusses implementation and deployment considerations | |||
regarding BGP MEDs and provides information which implementors and | regarding BGP MEDs and provides information which implementors and | |||
network operators should be familiar with. | network operators should be familiar with. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
1.1. About the MULTI_EXIT_DISC (MED) Attribute . . . . . . . . . 4 | 2. Specification of Requirements. . . . . . . . . . . . . . . . . 4 | |||
1.2. MEDs and Potatos. . . . . . . . . . . . . . . . . . . . . . 5 | 2.1. About the MULTI_EXIT_DISC (MED) Attribute . . . . . . . . . 4 | |||
2. Implementation and Protocol Considerations . . . . . . . . . . 7 | 2.2. MEDs and Potatos. . . . . . . . . . . . . . . . . . . . . . 6 | |||
2.1. MULTI_EXIT_DISC is a Optional Non-Transitive | 3. Implementation and Protocol Considerations . . . . . . . . . . 7 | |||
3.1. MULTI_EXIT_DISC is a Optional Non-Transitive | ||||
Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
2.2. MED Values and Preferences. . . . . . . . . . . . . . . . . 7 | 3.2. MED Values and Preferences. . . . . . . . . . . . . . . . . 7 | |||
2.3. Comparing MEDs Between Different Autonomous | 3.3. Comparing MEDs Between Different Autonomous | |||
Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
2.4. MEDs, Route Reflection and AS Confederations | 3.4. MEDs, Route Reflection and AS Confederations | |||
for BGP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | for BGP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
2.5. Route Flap Damping and MED Churn. . . . . . . . . . . . . . 9 | 3.5. Route Flap Damping and MED Churn. . . . . . . . . . . . . . 9 | |||
2.6. Effects of MEDs on Update Packing Efficiency. . . . . . . . 10 | 3.6. Effects of MEDs on Update Packing Efficiency. . . . . . . . 10 | |||
2.7. Temporal Route Selection. . . . . . . . . . . . . . . . . . 10 | 3.7. Temporal Route Selection. . . . . . . . . . . . . . . . . . 11 | |||
3. Deployment Considerations. . . . . . . . . . . . . . . . . . . 11 | 4. Deployment Considerations. . . . . . . . . . . . . . . . . . . 11 | |||
3.1. Comparing MEDs Between Different Autonomous | 4.1. Comparing MEDs Between Different Autonomous | |||
Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
3.2. Effects of Aggregation on MEDs` . . . . . . . . . . . . . . 12 | 4.2. Effects of Aggregation on MEDs` . . . . . . . . . . . . . . 12 | |||
4. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 12 | 5. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 12 | |||
5. Security Considerations. . . . . . . . . . . . . . . . . . . . 12 | 6. Security Considerations. . . . . . . . . . . . . . . . . . . . 12 | |||
5.1. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 12 | 7. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
6.1. Normative References. . . . . . . . . . . . . . . . . . . . 14 | 8.1. Normative References. . . . . . . . . . . . . . . . . . . . 15 | |||
6.2. Informative References. . . . . . . . . . . . . . . . . . . 15 | 8.2. Informative References. . . . . . . . . . . . . . . . . . . 16 | |||
7. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 15 | 9. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 16 | |||
1. Introduction | 1. Introduction | |||
The BGP MED attribute provides a mechanism for BGP speakers to convey | The BGP MED attribute provides a mechanism for BGP speakers to convey | |||
to an adjacent AS the optimal entry point into the local AS. While | to an adjacent AS the optimal entry point into the local AS. While | |||
BGP MEDs function correctly in many scenarios, there are a number of | BGP MEDs function correctly in many scenarios, there are a number of | |||
issues which may arise when utilizing MEDs in dynamic or complex | issues which may arise when utilizing MEDs in dynamic or complex | |||
topologies. | topologies. | |||
While reading this document it's important to keep in mind that the | While reading this document it's important to keep in mind that the | |||
goal is to discuss both implementation and deployment considerations | goal is to discuss both implementation and deployment considerations | |||
regarding BGP MEDs and provide and guidance which both implementors | regarding BGP MEDs. In addition, the intention is to provide | |||
and network operators should be familiar with. In some instances | guidance that both implementors and network operators should be | |||
implementation advice varies from deployment advice. | familiar with. In some instances implementation advice varies from | |||
deployment advice. | ||||
1.1. About the MULTI_EXIT_DISC (MED) Attribute | 2. Specification of Requirements | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||||
document are to be interpreted as described in [RFC 2119]. | ||||
2.1. About the MULTI_EXIT_DISC (MED) Attribute | ||||
The BGP MULTI_EXIT_DISC (MED) attribute, formerly known as the | The BGP MULTI_EXIT_DISC (MED) attribute, formerly known as the | |||
INTER_AS_METRIC, is currently defined in section 5.1.4 of [BGP4], as | INTER_AS_METRIC, is currently defined in section 5.1.4 of [BGP4], as | |||
follows: | follows: | |||
The MULTI_EXIT_DISC is an optional non-transitive attribute which | The MULTI_EXIT_DISC is an optional non-transitive attribute which | |||
is intended to be used on external (inter-AS) links to discriminate | is intended to be used on external (inter-AS) links to discriminate | |||
among multiple exit or entry points to the same neighboring AS. | among multiple exit or entry points to the same neighboring AS. | |||
The value of the MULTI_EXIT_DISC attribute is a four octet unsigned | The value of the MULTI_EXIT_DISC attribute is a four octet unsigned | |||
number which is called a metric. All other factors being equal, the | number which is called a metric. All other factors being equal, the | |||
skipping to change at page 5, line 41 | skipping to change at page 6, line 4 | |||
implementation chooses to remove MULTI_EXIT_DISC, then the optional | implementation chooses to remove MULTI_EXIT_DISC, then the optional | |||
comparison on MULTI_EXIT_DISC if performed at all MUST be performed | comparison on MULTI_EXIT_DISC if performed at all MUST be performed | |||
only among EBGP learned routes. The best EBGP learned route may | only among EBGP learned routes. The best EBGP learned route may | |||
then be compared with IBGP learned routes after the removal of the | then be compared with IBGP learned routes after the removal of the | |||
MULTI_EXIT_DISC attribute. If MULTI_EXIT_DISC is removed from a | MULTI_EXIT_DISC attribute. If MULTI_EXIT_DISC is removed from a | |||
subset of EBGP learned routes and the selected "best" EBGP learned | subset of EBGP learned routes and the selected "best" EBGP learned | |||
route will not have MULTI_EXIT_DISC removed, then the | route will not have MULTI_EXIT_DISC removed, then the | |||
MULTI_EXIT_DISC must be used in the comparison with IBGP learned | MULTI_EXIT_DISC must be used in the comparison with IBGP learned | |||
routes. For IBGP learned routes the MULTI_EXIT_DISC MUST be used in | routes. For IBGP learned routes the MULTI_EXIT_DISC MUST be used in | |||
route comparisons which reach this step in the Decision Process. | route comparisons which reach this step in the Decision Process. | |||
Including the MULTI_EXIT_DISC of an EBGP learned route in the | Including the MULTI_EXIT_DISC of an EBGP learned route in the | |||
comparison with an IBGP learned route, then removing the | comparison with an IBGP learned route, then removing the | |||
MULTI_EXIT_DISC attribute and advertising the route has been proven | MULTI_EXIT_DISC attribute and advertising the route has been proven | |||
to cause route loops. | to cause route loops. | |||
1.2. MEDs and Potatos | 2.2. MEDs and Potatos | |||
In a situation where traffic flows between a pair of hosts, each | In a situation where traffic flows between a pair of hosts, each | |||
connected to different transit networks, which are themselves | connected to different transit networks, which are themselves | |||
interconnected at two or more locations, each transit network has the | interconnected at two or more locations, each transit network has the | |||
choice of either sending traffic to the closest peering to the | choice of either sending traffic to the closest peering to the | |||
adjacent transit network or passing traffic to the interconnection | adjacent transit network or passing traffic to the interconnection | |||
location which advertises the least cost path to the destination | location which advertises the least cost path to the destination | |||
host. | host. | |||
The former method is called "hot potato routing" (or closest-exit) | The former method is called "hot potato routing" (or closest-exit) | |||
skipping to change at page 7, line 5 | skipping to change at page 7, line 11 | |||
commercial networks exchange MEDs with customers but not bilateral | commercial networks exchange MEDs with customers but not bilateral | |||
peers. However, commercial use of MEDs varies widely, from | peers. However, commercial use of MEDs varies widely, from | |||
ubiquitous use of MEDs to no use of MEDs at all. | ubiquitous use of MEDs to no use of MEDs at all. | |||
In addition, many deployments of MEDs today are likely behaving | In addition, many deployments of MEDs today are likely behaving | |||
differently (e.g., resulting is sub-optimal routing) than the network | differently (e.g., resulting is sub-optimal routing) than the network | |||
operator intended, thereby resulting not in hot or cold potatos, but | operator intended, thereby resulting not in hot or cold potatos, but | |||
mashed potatos! More information on unintended behavior resulting | mashed potatos! More information on unintended behavior resulting | |||
from MEDs is provided throughout this document. | from MEDs is provided throughout this document. | |||
2. Implementation and Protocol Considerations | 3. Implementation and Protocol Considerations | |||
There are a number of implementation and protocol peculiarities | There are a number of implementation and protocol peculiarities | |||
relating to MEDs that have been discovered that may affect network | relating to MEDs that have been discovered that may affect network | |||
behavior. The following sections provide information on these | behavior. The following sections provide information on these | |||
issues. | issues. | |||
2.1. MULTI_EXIT_DISC is a Optional Non-Transitive Attribute | 3.1. MULTI_EXIT_DISC is a Optional Non-Transitive Attribute | |||
MULTI_EXIT_DISC is a non-transitive optional attribute whose | MULTI_EXIT_DISC is a non-transitive optional attribute whose | |||
advertisement to both IBGP and EBGP peers is discretionary. As a | advertisement to both IBGP and EBGP peers is discretionary. As a | |||
result, some implementations enable sending of MEDs to IBGP peers by | result, some implementations enable sending of MEDs to IBGP peers by | |||
default, while others do not. This behavior may result in sub- | default, while others do not. This behavior may result in sub- | |||
optimal route selection within an AS. In addition, some | optimal route selection within an AS. In addition, some | |||
implementations send MEDs to EBGP peers by default, while others do | implementations send MEDs to EBGP peers by default, while others do | |||
not. This behavior may result in sub-optimal inter-domain route | not. This behavior may result in sub-optimal inter-domain route | |||
selection. | selection. | |||
2.2. MED Values and Preferences | 3.2. MED Values and Preferences | |||
Some implementations consider an MED value of zero as less preferable | Some implementations consider an MED value of zero as less preferable | |||
than no MED value. This behavior resulted in path selection | than no MED value. This behavior resulted in path selection | |||
inconsistencies within an AS. The current draft version of the BGP | inconsistencies within an AS. The current draft version of the BGP | |||
specification [BGP4] removes ambiguities that existed in [RFC 1771] | specification [BGP4] removes ambiguities that existed in [RFC 1771] | |||
by stating that if route n has no MULTI_EXIT_DISC attribute, the | by stating that if route n has no MULTI_EXIT_DISC attribute, the | |||
lowest possible MULTI_EXIT_DISC value (i.e. 0) should be assigned to | lowest possible MULTI_EXIT_DISC value (i.e. 0) should be assigned to | |||
the attribute. | the attribute. | |||
It is apparent that different implementations and different versions | It is apparent that different implementations and different versions | |||
skipping to change at page 8, line 9 | skipping to change at page 8, line 17 | |||
(i.e., the MED value is used to tag routes as unfeasible), and would | (i.e., the MED value is used to tag routes as unfeasible), and would | |||
upon on receiving an update with an MED value of 2^32-1 rewrite the | upon on receiving an update with an MED value of 2^32-1 rewrite the | |||
value to 2^32-2. Subsequently, the new MED value would be propagated | value to 2^32-2. Subsequently, the new MED value would be propagated | |||
and could result in routing inconsistencies or unintended path | and could result in routing inconsistencies or unintended path | |||
selections. | selections. | |||
As a result of implementation inconsistencies and protocol revision | As a result of implementation inconsistencies and protocol revision | |||
variances, many network operators today explicitly reset (i.e., set | variances, many network operators today explicitly reset (i.e., set | |||
to zero or some other 'fixed' value) all MED values on ingress to | to zero or some other 'fixed' value) all MED values on ingress to | |||
conform to their internal routing policies (i.e., to include policy | conform to their internal routing policies (i.e., to include policy | |||
that requires that MED values of 0 and 2^32-1 NOT be used in | that requires that MED values of 0 and 2^32-1 not be used in | |||
configurations, whether the MEDs are directly computed or | configurations, whether the MEDs are directly computed or | |||
configured), so as to not have to rely on all their routers having | configured), so as to not have to rely on all their routers having | |||
the same missing-MED behavior. | the same missing-MED behavior. | |||
Because implementations don't normally provide a mechanism to disable | Because implementations don't normally provide a mechanism to disable | |||
MED comparisons in the decision algorithm, "not using MEDs" usually | MED comparisons in the decision algorithm, "not using MEDs" usually | |||
entails explicitly setting all MEDs to some fixed value upon ingress | entails explicitly setting all MEDs to some fixed value upon ingress | |||
to the routing domain. By assigning a fixed MED value consistently | to the routing domain. By assigning a fixed MED value consistently | |||
to all routes across the network, MEDs are a effectively a non-issue | to all routes across the network, MEDs are a effectively a non-issue | |||
in the decision algorithm. | in the decision algorithm. | |||
2.3. Comparing MEDs Between Different Autonomous Systems | 3.3. Comparing MEDs Between Different Autonomous Systems | |||
The MED was intended to be used on external (inter-AS) links to | The MED was intended to be used on external (inter-AS) links to | |||
discriminate among multiple exit or entry points to the same | discriminate among multiple exit or entry points to the same | |||
neighboring AS. However, a large number of MED applications now | neighboring AS. However, a large number of MED applications now | |||
employ MEDs for the purpose of determining route preference between | employ MEDs for the purpose of determining route preference between | |||
like routes received from different autonomous systems. | like routes received from different autonomous systems. | |||
A large number of implementations provide the capability to enable | A large number of implementations provide the capability to enable | |||
comparison of MEDs between routes received from different neighboring | comparison of MEDs between routes received from different neighboring | |||
autonomous systems. While this capability has demonstrated some | autonomous systems. While this capability has demonstrated some | |||
benefit (e.g., that described in [RFC 3345]), operators should be | benefit (e.g., that described in [RFC 3345]), operators should be | |||
wary of the potential side effects with enabling such a function. | wary of the potential side effects with enabling such a function. | |||
The deployment section below provides some examples as to why this | The deployment section below provides some examples as to why this | |||
may result in undesirable behavior. | may result in undesirable behavior. | |||
2.4. MEDs, Route Reflection and AS Confederations for BGP | 3.4. MEDs, Route Reflection and AS Confederations for BGP | |||
In particular configurations, the BGP scaling mechanisms defined in | In particular configurations, the BGP scaling mechanisms defined in | |||
"BGP Route Reflection - An Alternative to Full Mesh IBGP" [RFC 2796] | "BGP Route Reflection - An Alternative to Full Mesh IBGP" [RFC 2796] | |||
and "Autonomous System Confederations for BGP" [RFC 3065] will | and "Autonomous System Confederations for BGP" [RFC 3065] will | |||
introduce persistent BGP route oscillation [RFC 3345]. The problem | introduce persistent BGP route oscillation [RFC 3345]. The problem | |||
is inherent in the way BGP works: a conflict exists between | is inherent in the way BGP works: a conflict exists between | |||
information hiding/hierarchy and the non-hierarchical selection | information hiding/hierarchy and the non-hierarchical selection | |||
process imposed by lack of total ordering caused by the MED rules. | process imposed by lack of total ordering caused by the MED rules. | |||
Given current practices, we see the problem most frequently manifest | Given current practices, we see the problem most frequently manifest | |||
itself in the context of MED + route reflectors or confederations. | itself in the context of MED + route reflectors or confederations. | |||
One potential way to avoid this is by configuring inter-Member-AS or | One potential way to avoid this is by configuring inter-Member-AS or | |||
inter-cluster IGP metrics higher than intra-Member-AS IGP metrics | inter-cluster IGP metrics higher than intra-Member-AS IGP metrics | |||
and/or using other tie breaking policies to avoid BGP route selection | and/or using other tie breaking policies to avoid BGP route selection | |||
based on incomparable MEDs. Of course, IGP metric constraints may be | based on incomparable MEDs. Of course, IGP metric constraints may be | |||
unreasonably onerous for some applications. | unreasonably onerous for some applications. | |||
Comparing MEDs between differing adjacent autonomous systems | Not comparing MEDs between multiple paths for a prefix learned from | |||
discussed in section 2.3), or not utilizing MEDs at all, | different adjacent autonomous systems, as discussed in section 2.3), | |||
significantly decreases the probability of introducing potential | or not utilizing MEDs at all, significantly decreases the probability | |||
route oscillation conditions into the network. | of introducing potential route oscillation conditions into the | |||
network. | ||||
Although perhaps "legal" as far as current specifications are | Although perhaps "legal" as far as current specifications are | |||
concerned, modifying MED attributes received on any type of IBGP | concerned, modifying MED attributes received on any type of IBGP | |||
session (e.g., standard IBGP, AS confederations EIBGP, route | session (e.g., standard IBGP, AS confederations EIBGP, route | |||
reflection, etc..) is NOT recommended. | reflection, etc..) is not recommended. | |||
2.5. Route Flap Damping and MED Churn | 3.5. Route Flap Damping and MED Churn | |||
MEDs are often derived dynamically from IGP metrics or additive costs | MEDs are often derived dynamically from IGP metrics or additive costs | |||
associated with an IGP metric to a given BGP NEXT_HOP. This | associated with an IGP metric to a given BGP NEXT_HOP. This | |||
typically provides an efficient model for ensuring that the BGP MED | typically provides an efficient model for ensuring that the BGP MED | |||
advertised to peers used to represent the best path to a given | advertised to peers used to represent the best path to a given | |||
destination within the network is aligned with that of the IGP within | destination within the network is aligned with that of the IGP within | |||
a given AS. | a given AS. | |||
The consequence with dynamically derived IGP-based MEDs is that | The consequence with dynamically derived IGP-based MEDs is that | |||
instability within an AS, or even on a single given link within the | instability within an AS, or even on a single given link within the | |||
skipping to change at page 10, line 6 | skipping to change at page 10, line 17 | |||
dampening behavior because it many cause routes to be re- advertised | dampening behavior because it many cause routes to be re- advertised | |||
solely to reflect an internal topology change. | solely to reflect an internal topology change. | |||
Many implementations don't have a practical problem with IGP | Many implementations don't have a practical problem with IGP | |||
flapping, they either latch their IGP metric upon first advertisement | flapping, they either latch their IGP metric upon first advertisement | |||
or they employ some internal suppression mechanism. Some | or they employ some internal suppression mechanism. Some | |||
implementations regard BGP attribute changes as less significant than | implementations regard BGP attribute changes as less significant than | |||
route withdrawals and announcements to attempt to mitigate the impact | route withdrawals and announcements to attempt to mitigate the impact | |||
of this type of event. | of this type of event. | |||
2.6. Effects of MEDs on Update Packing Efficiency | 3.6. Effects of MEDs on Update Packing Efficiency | |||
Multiple unfeasible routes can be advertised in a single BGP Update | Multiple unfeasible routes can be advertised in a single BGP Update | |||
message. The BGP4 protocol also permits advertisement of multiple | message. The BGP4 protocol also permits advertisement of multiple | |||
prefixes with a common set of path attributes to be advertised in a | prefixes with a common set of path attributes to be advertised in a | |||
single update message, this is commonly referred to as "update | single update message, this is commonly referred to as "update | |||
packing". When possible, update packing is recommended as it | packing". When possible, update packing is recommended as it | |||
provides a mechanism for more efficient behavior in a number of | provides a mechanism for more efficient behavior in a number of | |||
areas, to include: | areas, to include: | |||
o Reduction in system overhead due to generation or receipt of | o Reduction in system overhead due to generation or receipt of | |||
skipping to change at page 10, line 35 | skipping to change at page 11, line 5 | |||
matching in the database as you don't have different | matching in the database as you don't have different | |||
representations | representations | |||
of the same data. | of the same data. | |||
Update packing requires that all feasible routes within a single | Update packing requires that all feasible routes within a single | |||
update message share a common attribute set, to include a common | update message share a common attribute set, to include a common | |||
MULTI_EXIT_DISC value. As such, potential wide-scale variance in MED | MULTI_EXIT_DISC value. As such, potential wide-scale variance in MED | |||
values introduces another variable and may resulted in a marked | values introduces another variable and may resulted in a marked | |||
decrease in update packing efficiency. | decrease in update packing efficiency. | |||
2.7. Temporal Route Selection | 3.7. Temporal Route Selection | |||
Some implementations have had bugs which lead to temporal behavior in | Some implementations have had bugs which lead to temporal behavior in | |||
MED-based best path selection. These usually involved methods used | MED-based best path selection. These usually involved methods used | |||
to store the oldest route along with ordering routes for MED in | to store the oldest route along with ordering routes for MED in | |||
earlier implementations that cause non-deterministic behavior on | earlier implementations that cause non-deterministic behavior on | |||
whether the oldest route would truly be selected or not. | whether the oldest route would truly be selected or not. | |||
The reasoning for this is that older paths are presumably more | The reasoning for this is that older paths are presumably more | |||
stable, and thus more preferable. However, temporal behavior in | stable, and thus more preferable. However, temporal behavior in | |||
route selection results in non-deterministic behavior, and as such, | route selection results in non-deterministic behavior, and as such, | |||
is often undesirable. | is often undesirable. | |||
3. Deployment Considerations | 4. Deployment Considerations | |||
It has been discussed that accepting MEDs from other autonomous | It has been discussed that accepting MEDs from other autonomous | |||
systems have the potential to cause traffic flow churns in the | systems have the potential to cause traffic flow churns in the | |||
network. Some implementations only ratchet down the MED and never | network. Some implementations only ratchet down the MED and never | |||
move it back up to prevent excessive churn. | move it back up to prevent excessive churn. | |||
However, if a session is reset, the MEDs being advertised have the | However, if a session is reset, the MEDs being advertised have the | |||
potential of changing. If an network is relying on received MEDs to | potential of changing. If an network is relying on received MEDs to | |||
route traffic properly, the traffic patterns have the potential for | route traffic properly, the traffic patterns have the potential for | |||
changing dramatically, potentially resulting in congestion on the | changing dramatically, potentially resulting in congestion on the | |||
network. Essentially, accepting and routing traffic based on MEDs | network. Essentially, accepting and routing traffic based on MEDs | |||
allows other people to traffic engineer your network. This may or may | allows other people to traffic engineer your network. This may or may | |||
not be acceptable to you. | not be acceptable to you. | |||
As previously discussed, many network operators choose to reset MED | As previously discussed, many network operators choose to reset MED | |||
values on ingress. In addition, many operators explicitly do not | values on ingress. In addition, many operators explicitly do not | |||
employ MED values of 0 or 2^32-1 in order to avoid inconsistencies | employ MED values of 0 or 2^32-1 in order to avoid inconsistencies | |||
with implementations and various revisions of the BGP specification. | with implementations and various revisions of the BGP specification. | |||
3.1. Comparing MEDs Between Different Autonomous Systems | 4.1. Comparing MEDs Between Different Autonomous Systems | |||
Although the MED was meant to only be used when comparing paths | Although the MED was meant to only be used when comparing paths | |||
received from different external peers in the same AS, many | received from different external peers in the same AS, many | |||
implementations provide the capability to compare MEDs between | implementations provide the capability to compare MEDs between | |||
different autonomous systems as well. AS operators often use | different autonomous systems as well. AS operators often use | |||
LOCAL_PREF to select the external preferences (primary, secondary | LOCAL_PREF to select the external preferences (primary, secondary | |||
upstreams, peers, customers, etc.), using MED instead of LOCAL_PREF | upstreams, peers, customers, etc.), using MED instead of LOCAL_PREF | |||
would possibility lead to an inconsistent distribution of best routes | would possibility lead to an inconsistent distribution of best routes | |||
as MED is compared only after the AS_PATH length. | as MED is compared only after the AS_PATH length. | |||
skipping to change at page 12, line 9 | skipping to change at page 12, line 21 | |||
This allows MEDs to reasonably reflect IGP topologies when | This allows MEDs to reasonably reflect IGP topologies when | |||
advertising routes to peers. While this is fine when comparing MEDs | advertising routes to peers. While this is fine when comparing MEDs | |||
between multiple paths learned from a single AS, it can result in | between multiple paths learned from a single AS, it can result in | |||
potentially "weighted" decisions when comparing MEDs between | potentially "weighted" decisions when comparing MEDs between | |||
different autonomous systems. This is most typically the case when | different autonomous systems. This is most typically the case when | |||
the autonomous systems use different mechanisms to derive IGP | the autonomous systems use different mechanisms to derive IGP | |||
metrics, BGP MEDs, or perhaps even use different IGP protocols with | metrics, BGP MEDs, or perhaps even use different IGP protocols with | |||
vastly contrasting metric spaces (e.g., OSPF v. traditional metric | vastly contrasting metric spaces (e.g., OSPF v. traditional metric | |||
space in IS-IS). | space in IS-IS). | |||
3.2. Effects of Aggregation on MEDs` | 4.2. Effects of Aggregation on MEDs` | |||
Another MED deployment consideration involves the impact that | Another MED deployment consideration involves the impact that | |||
aggregation of BGP routing information has on MEDs. Aggregates are | aggregation of BGP routing information has on MEDs. Aggregates are | |||
often generated from multiple locations in an AS in order to | often generated from multiple locations in an AS in order to | |||
accommodate stability, redundancy and other network design goals. | accommodate stability, redundancy and other network design goals. | |||
When MEDs are derived from IGP metrics associated with said | When MEDs are derived from IGP metrics associated with said | |||
aggregates the MED value advertised to peers can result in very | aggregates the MED value advertised to peers can result in very | |||
suboptimal routing. | suboptimal routing. | |||
4. IANA Considerations | 5. IANA Considerations | |||
This document introduces no new IANA considerations. | This document introduces no new IANA considerations. | |||
5. Security Considerations | 6. Security Considerations | |||
The MED was purposely designed to be a "weak" metric that would only | The MED was purposely designed to be a "weak" metric that would only | |||
be used late in the best-path decision process. The BGP working | be used late in the best-path decision process. The BGP working | |||
group was concerned that any metric specified by a remote operator | group was concerned that any metric specified by a remote operator | |||
would only affect routing in a local AS IF no other preference was | would only affect routing in a local AS IF no other preference was | |||
specified. A paramount goal of the design of the MED was to ensure | specified. A paramount goal of the design of the MED was to ensure | |||
that peers could not "shed" or "absorb" traffic for networks that | that peers could not "shed" or "absorb" traffic for networks that | |||
they advertise. As such, accepting MEDs from peers may in some sense | they advertise. As such, accepting MEDs from peers may in some sense | |||
increase a network's susceptibility to exploitation by peers. | increase a network's susceptibility to exploitation by peers. | |||
5.1. Acknowledgments | 7. Acknowledgments | |||
Thanks to John Scudder for applying his usual keen eye and | Thanks to John Scudder for applying his usual keen eye and | |||
constructive insight. Also, thanks to Curtis Villamizar, JR Mitchell | constructive insight. Also, thanks to Curtis Villamizar, JR Mitchell | |||
and Pekka Savola for their valuable feedback. | and Pekka Savola for their valuable feedback. | |||
6. References | 8. References | |||
6.1. Normative References | 8.1. Normative References | |||
[RFC 1519] Fuller, V., Li. T., Yu J., and K. Varadhan, "Classless | [RFC 1519] Fuller, V., Li. T., Yu J., and K. Varadhan, "Classless | |||
Inter-Domain Routing (CIDR): an Address Assignment and | Inter-Domain Routing (CIDR): an Address Assignment and | |||
Aggregation Strategy", RFC 1519, September 1993. | Aggregation Strategy", RFC 1519, September 1993. | |||
[RFC 1771] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4 | [RFC 1771] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4 | |||
(BGP-4)", RFC 1771, March 1995. | (BGP-4)", RFC 1771, March 1995. | |||
[RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate | ||||
Requirement Levels", RFC 2119, March 1997. | ||||
[RFC 2796] Bates, T., Chandra, R., Chen, E., "BGP Route Reflection | [RFC 2796] Bates, T., Chandra, R., Chen, E., "BGP Route Reflection | |||
- An Alternative to Full Mesh IBGP", RFC 2796, April | - An Alternative to Full Mesh IBGP", RFC 2796, April | |||
2000. | 2000. | |||
[RFC 3065] Traina, P., McPherson, D., Scudder, J.. "Autonomous System | [RFC 3065] Traina, P., McPherson, D., Scudder, J.. "Autonomous System | |||
Confederations for BGP", RFC 3065, February 2001. | Confederations for BGP", RFC 3065, February 2001. | |||
[BGP4] Rekhter, Y., T. Li., and Hares. S, Editors, "A Border | [BGP4] Rekhter, Y., T. Li., and Hares. S, Editors, "A Border | |||
Gateway Protocol 4 (BGP-4)", BGP Draft, Work in Progress. | Gateway Protocol 4 (BGP-4)", BGP Draft, Work in Progress. | |||
6.2. Informative References | 8.2. Informative References | |||
[RFC 2439] Villamizar, C. and Chandra, R., "BGP Route Flap Damping", | [RFC 2439] Villamizar, C. and Chandra, R., "BGP Route Flap Damping", | |||
RFC 2439, November 1998. | RFC 2439, November 1998. | |||
[RFC 3345] McPherson, D., Gill, V., Walton, D., and Retana, A, "BGP | [RFC 3345] McPherson, D., Gill, V., Walton, D., and Retana, A, "BGP | |||
Persistent Route Oscillation Condition", RFC 3345, | Persistent Route Oscillation Condition", RFC 3345, | |||
August 2002. | August 2002. | |||
7. Authors' Addresses | 9. Authors' Addresses | |||
Danny McPherson | Danny McPherson | |||
Arbor Networks | Arbor Networks | |||
Email: danny@arbor.net | Email: danny@arbor.net | |||
Vijay Gill | Vijay Gill | |||
AOL | AOL | |||
Email: VijayGill9@aol.com | Email: VijayGill9@aol.com | |||
Intellectual Property Statement | Intellectual Property Statement | |||
End of changes. 34 change blocks. | ||||
59 lines changed or deleted | 71 lines changed or added | |||
This html diff was produced by rfcdiff 1.28, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |