draft-ietf-grow-bgp-med-considerations-02.txt | draft-ietf-grow-bgp-med-considerations-03.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: January 2005 July 2004 | Expires: September 2005 March 2005 | |||
BGP MED Considerations | BGP MED Considerations | |||
<draft-ietf-grow-bgp-med-considerations-02.txt> | <draft-ietf-grow-bgp-med-considerations-03.txt> | |||
Status of this Document | Status of this Memo | |||
This document is an Internet-Draft and is in full conformance with | Status of this Memo | |||
all provisions of Section 10 of RFC2026. | ||||
This document is an Internet-Draft and is subject to all provisions | ||||
of Section 3 of RFC 3667. By submitting this Internet-Draft, each | ||||
author represents that any 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 become aware will be disclosed, in accordance with | ||||
RFC 3668. | ||||
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 | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as | |||
Drafts. | Internet-Drafts. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
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. | |||
The key words "MUST"", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | This Internet-Draft will expire on August 28, 2005. | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||||
document are to be interpreted as described in RFC 2119 [RFC 2119]. | ||||
This document is a product of an individual. Comments are solicited | ||||
and should be addressed to the author(s). | ||||
Copyright Notice | Copyright Notice | |||
Copyright (C) The Internet Society (2004). 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 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. | |||
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 | 1.1. About the MULTI_EXIT_DISC (MED) Attribute . . . . . . . . . 4 | |||
1.2. MEDs and Potatoes . . . . . . . . . . . . . . . . . . . . . 5 | 1.2. MEDs and Potatos. . . . . . . . . . . . . . . . . . . . . . 5 | |||
2. Implementation and Protocol Considerations . . . . . . . . . . 6 | 2. Implementation and Protocol Considerations . . . . . . . . . . 6 | |||
2.1. MULTI_EXIT_DISC is a Optional Non-Transitive | 2.1. MULTI_EXIT_DISC is a Optional Non-Transitive | |||
Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
2.2. MED Values and Preferences. . . . . . . . . . . . . . . . . 7 | 2.2. MED Values and Preferences. . . . . . . . . . . . . . . . . 7 | |||
2.3. Comparing MEDs Between Different Autonomous | 2.3. Comparing MEDs Between Different Autonomous | |||
Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
2.4. MEDs, Route Reflection and AS Confederations | 2.4. MEDs, Route Reflection and AS Confederations | |||
for BGP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | for BGP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
2.5. Route Flap Damping and MED Churn. . . . . . . . . . . . . . 9 | 2.5. Route Flap Damping and MED Churn. . . . . . . . . . . . . . 9 | |||
2.6. Effects of MEDs on Update Packing Efficiency. . . . . . . . 9 | 2.6. Effects of MEDs on Update Packing Efficiency. . . . . . . . 9 | |||
2.7. Temporal Route Selection. . . . . . . . . . . . . . . . . . 10 | 2.7. Temporal Route Selection. . . . . . . . . . . . . . . . . . 10 | |||
3. Deployment Considerations. . . . . . . . . . . . . . . . . . . 10 | 3. Deployment Considerations. . . . . . . . . . . . . . . . . . . 10 | |||
3.1. Comparing MEDs Between Different Autonomous | 3.1. Comparing MEDs Between Different Autonomous | |||
Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
3.2. Effects of Aggregation on MEDs` . . . . . . . . . . . . . . 11 | 3.2. Effects of Aggregation on MEDs` . . . . . . . . . . . . . . 11 | |||
4. Security Considerations. . . . . . . . . . . . . . . . . . . . 12 | 4. Security Considerations. . . . . . . . . . . . . . . . . . . . 12 | |||
4.1. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 12 | 4.1. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 12 | |||
5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
6. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 13 | 5.1. Normative References. . . . . . . . . . . . . . . . . . . . 14 | |||
7. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 13 | 5.2. Informative References. . . . . . . . . . . . . . . . . . . 15 | |||
6. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 15 | ||||
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. | |||
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. | |||
1.1. About the MULTI_EXIT_DISC (MED) Attribute | 1.1. About the MULTI_EXIT_DISC (MED) Attribute | |||
The BGP MUTLI_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: | |||
MULTI_EXIT_DISC is an optional non-transitive attribute which is | The MULTI_EXIT_DISC is an optional non-transitive attribute which | |||
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 MULTI_EXIT_DISC attribute is a four octet unsigned number which | The value of the MULTI_EXIT_DISC attribute is a four octet unsigned | |||
is called a metric. All other factors being equal, the exit point | number which is called a metric. All other factors being equal, the | |||
with lower metric SHOULD be preferred. If received over EBGP, the | exit point with lower metric SHOULD be preferred. If received over | |||
MULTI_EXIT_DISC attribute MAY be propagated over IBGP to other BGP | EBGP, the MULTI_EXIT_DISC attribute MAY be propagated over IBGP to | |||
speakers within the same AS. An MED attribute received from a | other BGP speakers within the same AS (see also 9.1.2.2). The | |||
neighboring AS MUST NOT be propagated to other neighboring | MULTI_EXIT_DISC attribute received from a neighboring AS MUST NOT | |||
autonomous systems. | be propagated to other neighboring ASs. | |||
A BGP speaker MUST IMPLEMENT a mechanism based on local | A BGP speaker MUST implement a mechanism based on local | |||
configuration which allows the MULTI_EXIT_DISC attribute to be | configuration which allows the MULTI_EXIT_DISC attribute to be | |||
removed from a route. This MAY be done prior to determining the | removed from a route. If a BGP speaker is configured to remove the | |||
degree of preference of the route and performing route selection | MULTI_EXIT_DISC attribute from a route, then this removal MUST be | |||
(decision process phases 1 and 2). | done prior to determining the degree of preference of the route and | |||
performing route selection (Decision Process phases 1 and 2). | ||||
An implementation MAY also (based on local configuration) alter the | An implementation MAY also (based on local configuration) alter the | |||
value of the MULTI_EXIT_DISC attribute received over EBGP. This | value of the MULTI_EXIT_DISC attribute received over EBGP. If a | |||
MAY be done prior to determining the degree of preference of the | BGP speaker is configured to alter the value of the MULTI_EXIT_DISC | |||
route and performing route selection (decision process phases 1 and | attribute received over EBGP, then altering the value MUST be done | |||
2). | prior to determining the degree of preference of the route and | |||
performing route selection (Decision Process phases 1 and 2). See | ||||
Section 9.1.2.2 of BGP4] for necessary restrictions on this. | ||||
Section 9.1.2.2 (c) of [BGP4] defines the following route selection | Section 9.1.2.2 (c) of [BGP4] defines the following route selection | |||
criteria regarding MEDs: | criteria regarding MEDs: | |||
Remove from consideration routes with less-preferred | c) Remove from consideration routes with less-preferred | |||
MULTI_EXIT_DISC attributes. MULTI_EXIT_DISC is only comparable | MULTI_EXIT_DISC attributes. MULTI_EXIT_DISC is only comparable | |||
between routes learned from the same neighboring AS (the | between routes learned from the same neighboring AS (the neighbor- | |||
neighboring AS is determined from the AS_PATH attribute). Routes | ing AS is determined from the AS_PATH attribute). Routes which do | |||
which do not have the MULTI_EXIT_DISC attribute are considered to | not have the MULTI_EXIT_DISC attribute are considered to have the | |||
have the lowest possible MULTI_EXIT_DISC value. | lowest possible MULTI_EXIT_DISC value. | |||
This is also described in the following procedure: | This is also described in the following procedure: | |||
for m = all routes still under consideration | for m = all routes still under consideration | |||
for n = all routes still under consideration | for n = all routes still under consideration | |||
if (neighborAS(m) == neighborAS(n)) and (MED(n) < MED(m)) | if (neighborAS(m) == neighborAS(n)) and (MED(n) < MED(m)) | |||
remove route m from consideration | remove route m from consideration | |||
In the pseudo-code above, MED(n) is a function which returns the | In the pseudo-code above, MED(n) is a function which returns the | |||
value of route n's MULTI_EXIT_DISC attribute. If route n has no | value of route n's MULTI_EXIT_DISC attribute. If route n has no | |||
MULTI_EXIT_DISC attribute, the function returns the lowest possible | MULTI_EXIT_DISC attribute, the function returns the lowest possi- | |||
MULTI_EXIT_DISC value, i.e. 0. | ble MULTI_EXIT_DISC value, i.e. 0. | |||
If a MULTI_EXIT_DISC attribute is removed before re- advertising a | If a MULTI_EXIT_DISC attribute is removed before re- advertising a | |||
route into IBGP, then comparison based on the received EBGP | route into IBGP, then comparison based on the received EBGP | |||
MULTI_EXIT_DISC attribute MAY still be performed. If an | MULTI_EXIT_DISC attribute MAY still be performed. If an | |||
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. | |||
Routes that have different MULTI_EXIT_DISC attribute SHALL NOT be | 1.2. MEDs and Potatos | |||
aggregated. | ||||
1.2. MEDs and Potatoes | ||||
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 6, line 38 | skipping to change at page 6, line 38 | |||
In some cases a provider may use hot potato routing for some | In some cases a provider may use hot potato routing for some | |||
destinations for a given peer AS and cold potato routing for others. | destinations for a given peer AS and cold potato routing for others. | |||
An example of this is the different treatment of commercial and | An example of this is the different treatment of commercial and | |||
research traffic in the NSFNET in the mid 1990s. Today many | research traffic in the NSFNET in the mid 1990s. Today many | |||
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 potatoes, but | operator intended, thereby resulting not in hot or cold potatos, but | |||
mashed potatoes! 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 | 2. 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 | 2.1. MULTI_EXIT_DISC is a Optional Non-Transitive Attribute | |||
skipping to change at page 8, line 40 | skipping to change at page 8, line 40 | |||
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 (which | Comparing MEDs between differing adjacent autonomous systems (which | |||
will be discussed in later sections), or not utilizing MEDs at all, | is discussed in other sections), or not utilizing MEDs at all, | |||
significantly decreases the probability of introducing potential | significantly decreases the probability of introducing potential | |||
route oscillation conditions into the network. | 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 | 2.5. Route Flap Damping and MED Churn | |||
skipping to change at page 9, line 36 | skipping to change at page 9, line 36 | |||
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 | 2.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. In addition, one or more feasible routes can be advertised | message. The BGP4 protocol also permits advertisement of multiple | |||
in a single Update message so long as all prefixes share a common | prefixes with a common set of path attributes to be advertised in a | |||
attribute set. | single update message, this is commonly referred to as "update | |||
packing". When possible, update packing is recommended as it | ||||
The BGP4 protocol permits advertisement of multiple prefixes with a | provides a mechanism for more efficient behavior in a number of | |||
common set of path attributes to be advertised in a single update | areas, to include: | |||
message, this is commonly referred to as "update packing". When | ||||
possible, update packing is recommended as it provides a mechanism | ||||
for more efficient behavior in a number of 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 | |||
fewer Update messages. | fewer Update messages. | |||
o Reduction in network overhead as a result of fewer packets and | o Reduction in network overhead as a result of fewer packets and | |||
lower bandwidth consumption. | lower bandwidth consumption. | |||
o Allows processing of path attributes and searches for matching | o Allows processing of path attributes and searches for matching | |||
sets in your AS_PATH database (if you have one) less frequently. | sets in your AS_PATH database (if you have one) less frequently. | |||
Consistent ordering of the path attributes allows for ease of | Consistent ordering of the path attributes allows for ease of | |||
skipping to change at page 10, line 36 | skipping to change at page 10, line 33 | |||
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 | 3. Deployment Considerations | |||
Empirical data [MFN/Ixia Monitoring Project] has shown that accepting | It has been discussed that accepting MEDs from other autonomous | |||
MEDs from other autonomous systems have the potential to cause | systems have the potential to cause traffic flow churns in the | |||
traffic flow churns in the network. Some implementations only | network. Some implementations only ratchet down the MED and never | |||
ratchet down the MED and never move it back up to prevent excessive | move it back up to prevent excessive churn. | |||
churn. | ||||
However, if that 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 | 3.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. | different autonomous systems as well. AS operators often use | |||
LOCAL_PREF to select the external preferences (primary, secondary | ||||
upstreams, peers, customers, etc.), using MED instead of LOCAL_PREF | ||||
would possibility lead to an inconsistent distribution of best routes | ||||
as MED is compared only after the AS_PATH length. | ||||
Though this may seem a fine idea for some configurations, care must | Though this may seem a fine idea for some configurations, care must | |||
be taken when comparing MEDs between different autonomous systems. | be taken when comparing MEDs between different autonomous systems. | |||
BGP speakers often derive MED values by obtaining the IGP metric | BGP speakers often derive MED values by obtaining the IGP metric | |||
associated with reaching a given BGP NEXT_HOP within the local AS. | associated with reaching a given BGP NEXT_HOP within the local AS. | |||
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 | |||
skipping to change at page 12, line 19 | skipping to change at page 12, line 19 | |||
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. | |||
4.1. Acknowledgments | 4.1. 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 and JR | constructive insight. Also, thanks to Curtis Villamizar, JR Mitchell | |||
Mitchell. | and Pekka Savola for their valuable feedback. | |||
Others to be supplied. | ||||
5. References | 5. References | |||
5.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 2439] Villamizar, C. and Chandra, R., "BGP Route Flap Damping", | ||||
RFC 2439, November 1998. | ||||
[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. | |||
[RFC 3345] McPherson, D., Gill, V., Walton, D., and Retana, A, "BGP | ||||
Persistent Route Oscillation Condition", RFC 3345, | ||||
August 2002. | ||||
[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. | |||
[MFN/Ixia Monitoring Project] Vijay to Provide Pointer. | 5.2. Informative References | |||
[RFC 2439] Villamizar, C. and Chandra, R., "BGP Route Flap Damping", | ||||
RFC 2439, November 1998. | ||||
[RFC 3345] McPherson, D., Gill, V., Walton, D., and Retana, A, "BGP | ||||
Persistent Route Oscillation Condition", RFC 3345, | ||||
August 2002. | ||||
6. Authors' Addresses | 6. 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 | |||
7. Full Copyright Statement | Intellectual Property Statement | |||
Copyright (C) The Internet Society (2004). All Rights Reserved. | The IETF takes no position regarding the validity or scope of any | |||
Intellectual Property Rights or other rights that might be claimed to | ||||
pertain to the implementation or use of the technology described in | ||||
this document or the extent to which any license under such rights | ||||
might or might not be available; nor does it represent that it has | ||||
made any independent effort to identify any such rights. Information | ||||
on the procedures with respect to rights in RFC documents can be | ||||
found in BCP 78 and BCP 79. | ||||
This document and translations of it may be copied and furnished to | Copies of IPR disclosures made to the IETF Secretariat and any | |||
others, and derivative works that comment on or otherwise explain it | assurances of licenses to be made available, or the result of an | |||
or assist in its implementation may be prepared, copied, published | attempt made to obtain a general license or permission for the use of | |||
and distributed, in whole or in part, without restriction of any | such proprietary rights by implementers or users of this | |||
kind, provided that the above copyright notice and this paragraph are | specification can be obtained from the IETF on-line IPR repository at | |||
included on all such copies and derivative works. However, this | http://www.ietf.org/ipr. | |||
document itself may not be modified in any way, such as by removing | ||||
the copyright notice or references to the Internet Society or other | ||||
Internet organizations, except as needed for the purpose of | ||||
developing Internet standards in which case the procedures for | ||||
copyrights defined in the Internet Standards process must be | ||||
followed, or as required to translate it into languages other than | ||||
English. | ||||
The limited permissions granted above are perpetual and will not be | The IETF invites any interested party to bring to its attention any | |||
revoked by the Internet Society or its successors or assigns. | copyrights, patents or patent applications, or other proprietary | |||
rights that may cover technology that may be required to implement | ||||
this standard. Please address the information to the IETF at | ||||
ietf-ipr@ietf.org. | ||||
This document and the information contained herein is provided on an | Disclaimer of Validity | |||
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | ||||
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | This document and the information contained herein are provided on an | |||
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | |||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | |||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | ||||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
Copyright Statement | ||||
Copyright (C) The Internet Society (2005). This document is subject | ||||
to the rights, licenses and restrictions contained in BCP 78, and | ||||
except as set forth therein, the authors retain all their rights. | ||||
Acknowledgment | ||||
Funding for the RFC Editor function is currently provided by the | ||||
Internet Society. | ||||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |