idr B. Dickson
Internet-Draft Afilias Canada, Inc
Expires: February 22, 2009 August 21, 2008
A New BGP Standards Action Community, LAST_RESORT
draft-dickson-idr-last-resort-05
Status of this Memo
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 becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on February 22, 2009.
Copyright Notice
Copyright (C) The IETF Trust (2008).
Abstract
This Internet Draft describes a new Standards Action BGP community,
LAST_RESORT.
This community provides a simple and easily deployable solution to a
certain class of BGP "wedgies".
Initial deployment is expected to be achieved by voluntary use in the
network operator community-at-large.
Dickson Expires February 22, 2009 [Page 1]
Internet-Draft BGP Community: LAST_RESORT August 2008
Long-term adoption via software enforcement of the community, will
improve global behavior, and simplify router configurations.
The Standards Action range of communities (previously limited to the
"well-known" communities) ensures that the expectation of (eventual)
router support is reasonable.
Author's Note
This Internet Draft is intended to result in this draft or a related
draft(s) being placed on the Standards Track for idr.
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 [5].
Intended Status: Proposed Standard.
1. Background
Even when all the best current practises are observed, operational
problems may be experienced when running a BGP network.
One particularly thorny problem is BGP "wedgies" [1].
While not often articulated, the common problem is the use of local
policy settings within (and in particular, at) AS boundaries, which
often override the original intent of "backup" BGP announcements.
It is somewhat ironic that such local policies are often achieved by
use of BGP Communities, and that the lack of a common community, is
one source of the problem.
1.1. The Local Policy Problem
The BGP "wedgie" problem occurs when a number of mechanisms in path
selection interact across multiple routers, where the resulting state
is stable, but is not deterministic, but rather is the result of a
race.
Generally speaking, the "wedgie" problem is induced by the
application of non-default values to prefixes, by way of local policy
setting, such as modification of AS-path, setting of Multi-Exit
Discriminators (MEDs), local preference setting, or similar
mechanisms.
One particular class of "wedgies" is the result of the lack of an
Dickson Expires February 22, 2009 [Page 2]
Internet-Draft BGP Community: LAST_RESORT August 2008
explicit global mechanism for expressing de-preferring announcements
via "back-up" providers. In essence, the applied local policies that
interfere with such "back-up" announcements could be described as
"not well informed".
2. Proposed Change: A New BGP Standards Action Community
To solve this particular class of problem, a new BGP Stardards Action
Community, LAST_RESORT, is proposed. This is a standard, not an
extended, community. This is a new value to be assigned by IANA. In
particular, if this instant Draft is adopted as a WG Draft, an RFC
4020 Early Assignment is requested.
3. Changes to BGP Behavior
A BGP speaker receiving a prefix from an EBGP neighbor with
LAST_RESORT MUST assign the lowest-possible preference value of
LOCAL_PREFERENCE. This LOCAL_PREFERENCE MUST be assigned AFTER the
application of local policy mechanisms, and MUST NOT be able to be
over-ridden without first removing the LAST_RESORT community from the
prefix. A BGP speaker receiving a prefix from an IBGP neighbor with
LAST_RESORT MUST ignore the LAST_RESORT community.
The distinction between EBGP and IBGP ensures backwards
compatibility, particularly when a heterogeneous set of routers in an
AS doing IBGP exists.
The restriction preventing overriding LAST_RESORT ensures that local
policy mechanisms do not interfere with LAST_RESORT. This also
facilitates ease in deployment, as most router configurations would
not require modification.
Note Well, that this order of evaluation, with local policy before
LAST_RESORT, means that the only way to apply local policy to routes
with LAST_RESORT, is to strip LAST_RESORT on ingress, then apply
local policy, then set LAST_RESORT again on egress.
This restriction is by design, so that AS-wide policy remains
consistent even in a heterogenous environment of routers that may or
may not understand LAST_RESORT.
4. LAST_RESORT - Basic Method
The main reason for establishing the LAST_RESORT Community is to
permit the global implementation of "backup only" announcements,
Dickson Expires February 22, 2009 [Page 3]
Internet-Draft BGP Community: LAST_RESORT August 2008
whose purpose and intent are clear and unambiguous. It is not to
facilitate change of policies, or to circumvent local policies.
Rather, it is to make possible the implementation of policies where
those have been negotiated by two or more parties.
Currently, there are several documented scenarios in the "Wedgies"
RFC [1] where the mutually desired policy is either unable to be
implemented, or does not deterministically reach the desired state.
Application of the LAST_RESORT Community on announcements sent to a
backup provider, permits these problem classes to be resolved.
The same prefix is announced to both the primary and backup provider.
When announced to the primary provider, the LAST_RESORT Community is
NOT set. When announced to the backup provider, the LAST_RESORT
Community IS set.
The propagation of the LAST_RESORT instance will be limited by the
availability of paths, and inhibited by the existence of paths which
do not have LAST_RESORT applied to them.
In Figure 1 (of Appendix A), the LAST_RESORT instance will be seen by
the backup provider, and be passed with LAST_RESORT to the backup
provider's transit provider. The latter will prefer any other
instance without LAST_RESORT, even if it has policy for applying a
LOCAL_PREFERENCE to the received prefix instances. Should the other
instance be withdrawn, the LAST_RESORT will be selected and
subsequently propagated.
5. Security Considerations
No additional security considerations beyond those already present in
BGP are introduced.
6. IANA Considerations
IANA will need to assign a new code point from BGP Standards Action
Communities for LAST_RESORT.
7. Acknowledgements
The author wishes to acknowledge the helpful guidance of Joe Abley
and Tony Li. The author also wishes to acknowledge the assistance
and suggestions of Joel M. Halpern in simplifying the original
"Backup-only" concept to that of a BGP community, and of Olivier
Dickson Expires February 22, 2009 [Page 4]
Internet-Draft BGP Community: LAST_RESORT August 2008
Bonaventure in clarifying the LOCAL_PREFERENCE mechanisms.
8. References
8.1. Normative References
[1] Griffin, T. and G. Huston, "BGP Wedgies", RFC 4264,
November 2005.
[2] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway Protocol 4
(BGP-4)", RFC 4271, January 2006.
[3] Chandrasekeran, R., Traina, P., and T. Li, "BGP Communities
Attribute", RFC 1997, August 1996.
[4] Kompella, K. and A. Zinin, "Early IANA Allocation of Standards
Track Code Points", BCP 100, RFC 4020, February 2005.
8.2. Informative References
[5] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
Appendix A. BGP Wedgie Examples
The following examples from RFC 4264 [1] show the effects of the
proposed changes, in resolving "wedgie" issues.
+----+ +----+
|AS 3|----------------|AS 4|
+----+ peer peer +----+
|provider |provider
| |
|customer |
+----+ |
|AS 2| |
+----+ |
|provider |
| |
|customer |customer
+-------+ +----------+
backup| |primary
+----+
|AS 1|
+----+
Dickson Expires February 22, 2009 [Page 5]
Internet-Draft BGP Community: LAST_RESORT August 2008
Figure 1
In Figure 1 above, the announcement via the backup link is sent with
LAST_RESORT.
o AS 4 sends AS_PATH "4 1" to AS 3.
o AS 2 receives the LAST_RESORT path from AS 1, and sends AS_PATH "2
1" to AS 3, also with LAST_RESORT.
o AS 3 and AS 4 exchange their respective "best" paths.
o AS 3 prefers the path "4 1" over "2 1" because "2 1" is
LAST_RESORT.
o AS 3 sends a withdrawal of the LAST_RESORT path to AS 4.
o AS 3 sends its "best", AS_PATH "3 4 1" to AS 2.
This state will be reached regardless of sequence of disconnects and
reconnects.
+----+ +----+
|AS 3|----------------|AS 4|
+----+ peer peer +----+
|provider |provider
| |
|customer |customer
+----+ +----+
|AS 2| |AS 5|
+----+ +----+
|provider |provider
| |
|customer |customer
+-------+ +----------+
backup| |primary for 192.9.200.0/25
primary| |backup for 192.9.200.128/25
+----+
|AS 1|
+----+
Figure 2
In Figure 2 above, the announcements via the backup links will work
the same as in Example 1.
Dickson Expires February 22, 2009 [Page 6]
Internet-Draft BGP Community: LAST_RESORT August 2008
+----+ +----+
|AS 3|----------------|AS 4|
+----+ peer peer +----+
||provider |providerS
|+-----------+ |
|customer |customer |
+----+ +----+ |
|AS 2|-------|AS 5| |
+----+ peer +----+ |
|provider |provider |
| | |
|customer +-+customer |customer
+-------+ |+----------+
backup| ||primary
+----+
|AS 1|
+----+
Figure 3
In Figure 3 above, the announcements via both backup links will
result in:
o AS 2 selecting its best path via "3 4 1" (the only path it hears
from AS 3)
o AS 2 hearing one of two paths from AS 5:
* "5 3 4 1"
* LAST_RESORT with path "5 1"
o AS 2 hearing a LAST_RESORT directly from AS 1
Any announcement that AS 3 hears from AS 2 will always be marked
LAST_RESORT. (The same will be true of AS 5.) Thus, any combination
of break/restore on any links in any order, will always result in the
desired state being reached.
Author's Address
Brian Dickson
Afilias Canada, Inc
4141 Yonge St,
Suite 204
North York, ON M2P 2A8
Canada
Email: brian.peter.dickson@gmail.com
URI: www.afilias.info
Dickson Expires February 22, 2009 [Page 7]
Internet-Draft BGP Community: LAST_RESORT August 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
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.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET 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.
Intellectual Property
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.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
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.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Dickson Expires February 22, 2009 [Page 8]