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]