6608
PROPOSED STANDARD

Subcodes for BGP Finite State Machine Error

Authors: J. Dong, M. Chen, A. Suryanarayana
Date: May 2012
Area: rtg
Working Group: idr
Stream: IETF
Updates: RFC 4271

Abstract

This document defines several subcodes for the BGP Finite State Machine (FSM) Error that could provide more information to help network operators in diagnosing BGP FSM issues and correlating network events. This document updates RFC 4271. [STANDARDS-TRACK]

RFC 6608: Subcodes for BGP Finite State Machine Error [RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Info page]

PROPOSED STANDARD
Internet Engineering Task Force (IETF)                           J. Dong
Request for Comments: 6608                                       M. Chen
Updates: <a href="./rfc4271">4271</a>                                        Huawei Technologies
Category: Standards Track                               A. Suryanarayana
ISSN: 2070-1721                                            Cisco Systems
                                                                May 2012


              <span class="h1">Subcodes for BGP Finite State Machine Error</span>

Abstract

   This document defines several subcodes for the BGP Finite State
   Machine (FSM) Error that could provide more information to help
   network operators in diagnosing BGP FSM issues and correlating
   network events.  This document updates <a href="./rfc4271">RFC 4271</a>.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by
   the Internet Engineering Steering Group (IESG).  Further
   information on Internet Standards is available in <a href="./rfc5741#section-2">Section 2 of
   RFC 5741</a>.

   Information about the current status of this document, any
   errata, and how to provide feedback on it may be obtained at
   <a href="https://www.rfc-editor.org/info/rfc6608">http://www.rfc-editor.org/info/rfc6608</a>.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.





<span class="grey">Dong, et al.                 Standards Track                    [Page 1]</span>

<span id="page-2" ></span>
<span class="grey"><a href="./rfc6608">RFC 6608</a>                  BGP FSM Error Subcode                 May 2012</span>


Table of Contents

   <a href="#section-1">1</a>. Introduction ....................................................<a href="#page-2">2</a>
   <a href="#section-2">2</a>. Requirements Language ...........................................<a href="#page-2">2</a>
   <a href="#section-3">3</a>. Definition of Finite State Machine Error Subcodes ...............<a href="#page-2">2</a>
   <a href="#section-4">4</a>. Usage of FSM Error Subcodes .....................................<a href="#page-2">2</a>
   <a href="#section-5">5</a>. Security Considerations .........................................<a href="#page-3">3</a>
   <a href="#section-6">6</a>. IANA Considerations .............................................<a href="#page-3">3</a>
   <a href="#section-7">7</a>. Contributors ....................................................<a href="#page-4">4</a>
   <a href="#section-8">8</a>. Acknowledgements ................................................<a href="#page-4">4</a>
   <a href="#section-9">9</a>. References ......................................................<a href="#page-4">4</a>
      <a href="#section-9.1">9.1</a>. Normative References .......................................<a href="#page-4">4</a>
      <a href="#section-9.2">9.2</a>. Informative References .....................................<a href="#page-4">4</a>

<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>.  Introduction</span>

   This document defines several subcodes for the BGP [<a href="./rfc4271" title=""A Border Gateway Protocol 4 (BGP-4)"">RFC4271</a>] Finite
   State Machine (FSM) Error that could provide more information to help
   network operators in diagnosing BGP FSM issues and correlating
   network events.  This information is also helpful to developers in
   lab situations.  This document updates [<a href="./rfc4271" title=""A Border Gateway Protocol 4 (BGP-4)"">RFC4271</a>] by requiring that
   BGP implementations insert appropriate FSM Error subcodes in
   NOTIFICATION messages for BGP FSM errors.

<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>.  Requirements Language</span>

   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 <a href="./rfc2119">RFC 2119</a> [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].

<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>.  Definition of Finite State Machine Error Subcodes</span>

   This document defines the following subcodes for the BGP Finite State
   Machine Error:

   0 - Unspecified Error

   1 - Receive Unexpected Message in OpenSent State

   2 - Receive Unexpected Message in OpenConfirm State

   3 - Receive Unexpected Message in Established State

<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>.  Usage of FSM Error Subcodes</span>

   If a BGP speaker receives an unexpected message (e.g., KEEPALIVE/
   UPDATE/ROUTE-REFRESH message) on a session in OpenSent state, it MUST
   send to the neighbor a NOTIFICATION message with the Error Code



<span class="grey">Dong, et al.                 Standards Track                    [Page 2]</span>

<span id="page-3" ></span>
<span class="grey"><a href="./rfc6608">RFC 6608</a>                  BGP FSM Error Subcode                 May 2012</span>


   Finite State Machine Error and the Error Subcode "Receive Unexpected
   Message in OpenSent State".  The Data field is a 1-octet, unsigned
   integer that indicates the type of the unexpected message.

   If a BGP speaker receives an unexpected message (e.g., OPEN/UPDATE/
   ROUTE-REFRESH message) on a session in OpenConfirm state, it MUST
   send a NOTIFICATION message with the Error Code Finite State Machine
   Error and the Error Subcode "Receive Unexpected Message in
   OpenConfirm State" to the neighbor.  The Data field is a 1-octet,
   unsigned integer that indicates the type of the unexpected message.

   If a BGP speaker receives an unexpected message (e.g., OPEN message)
   on a session in Established State, it MUST send to the neighbor a
   NOTIFICATION message with the Error Code Finite State Machine Error
   and the Error Subcode "Receive Unexpected Message in Established
   State".  The Data field is a 1-octet, unsigned integer that indicates
   the type of the unexpected message.

<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>.  Security Considerations</span>

   Specification, implementation, and deployment of the proposed BGP FSM
   Error subcodes could make BGP implementation fingerprinting easier
   and probably more accurate.  Operators using BGP need to consider
   this as an operational security consideration of their BGP deployment
   decisions.

   [<a id="ref-BFMR2010">BFMR2010</a>] discusses a number of BGP security issues and potential
   solutions that might be relevant both to BGP implementers and BGP
   operators.

<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>.  IANA Considerations</span>

   IANA has created the registry "BGP Finite State Machine Error
   Subcodes", within the "BGP Error Subcodes" registry, with a
   Registration Procedure of "Standards Action" as defined in [<a href="./rfc5226" title="">RFC5226</a>]
   (early allocation of such subcodes is allowed, in accordance with
   [<a href="./rfc4020" title=""Early IANA Allocation of Standards Track Code Points"">RFC4020</a>]).

   The registry has been populated with the following values:

   Value      Name
     0        Unspecified Error
     1        Receive Unexpected Message in OpenSent State
     2        Receive Unexpected Message in OpenConfirm State
     3        Receive Unexpected Message in Established State






<span class="grey">Dong, et al.                 Standards Track                    [Page 3]</span>

<span id="page-4" ></span>
<span class="grey"><a href="./rfc6608">RFC 6608</a>                  BGP FSM Error Subcode                 May 2012</span>


<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>.  Contributors</span>

   The following individuals contributed to this document:

   Xiaoming Gu
   EMail: [email protected]

   Chong Wang
   EMail: [email protected]

<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>.  Acknowledgements</span>

   The authors would like to thank John Scudder, Jeffrey Haas, Susan
   Hares, Keyur Patel, Enke Chen, Ruediger Volk, and Ran Atkinson for
   their valuable suggestions and comments to this document.

<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>.  References</span>

<span class="h3"><a class="selflink" id="section-9.1" href="#section-9.1">9.1</a>.  Normative References</span>

   [<a id="ref-RFC2119">RFC2119</a>]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.

   [<a id="ref-RFC4020">RFC4020</a>]  Kompella, K. and A. Zinin, "Early IANA Allocation of
              Standards Track Code Points", <a href="https://www.rfc-editor.org/bcp/bcp100">BCP 100</a>, <a href="./rfc4020">RFC 4020</a>, February
              2005.

   [<a id="ref-RFC4271">RFC4271</a>]  Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
              Border Gateway Protocol 4 (BGP-4)", <a href="./rfc4271">RFC 4271</a>, January
              2006.

   [<a id="ref-RFC5226">RFC5226</a>]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", <a href="https://www.rfc-editor.org/bcp/bcp26">BCP 26</a>, <a href="./rfc5226">RFC 5226</a>,
              May 2008.

<span class="h3"><a class="selflink" id="section-9.2" href="#section-9.2">9.2</a>.  Informative References</span>

   [<a id="ref-BFMR2010">BFMR2010</a>] Butler, K., Farley, T., Mcdaniel, P., and J. Rexford, "A
              Survey of BGP Security Issues and Solutions", January
              2010.











<span class="grey">Dong, et al.                 Standards Track                    [Page 4]</span>

<span id="page-5" ></span>
<span class="grey"><a href="./rfc6608">RFC 6608</a>                  BGP FSM Error Subcode                 May 2012</span>


Authors' Addresses

   Jie Dong
   Huawei Technologies
   Huawei Building, No.156 Beiqing Rd
   Beijing 100095
   China

   EMail: [email protected]


   Mach Chen
   Huawei Technologies
   Huawei Building, No.156 Beiqing Rd
   Beijing 100095
   China

   EMail: [email protected]


   Anantharamu Suryanarayana
   Cisco Systems
   USA

   EMail: [email protected]


























Dong, et al.                 Standards Track                    [Page 5]

Additional Resources