RFC 6608
Subcodes for BGP Finite State Machine Error
RFC 6608: Subcodes for BGP Finite State Machine Error β¨
okay bestie, let's start with the ID card πͺͺπ
Document: RFC 6608 π Title: Subcodes for BGP Finite State Machine Error π¦ Series: Internet Engineering Task Force (IETF), Request for Comments πΈ Category: Standards Track (so this one is officially a standard, not just vibes) π Date: May 2012 π ISSN: 2070-1721 π Updates: RFC 4271 (this one changes how RFC 4271 works, so it's a big deal) π₯ Obsoletes: nothing listed in the header π Authors: J. Dong (Jie Dong, Huawei Technologies), M. Chen (Mach Chen, Huawei Technologies), and A. Suryanarayana (Anantharamu Suryanarayana, Cisco Systems) π«Ά
Abstract
okay so this doc defines a few subcodes for the BGP Finite State Machine (FSM) Error. the whole point is to give network operators more info so they can figure out BGP FSM issues and connect the dots between network events. it's lowkey a huge upgrade for debugging πβ¨ this document updates RFC 4271, which is the main BGP spec, so yes it's a whole main character moment π
Status of This Memo
this is an Internet Standards Track document π
this doc is a product of the Internet Engineering Task Force (IETF). it represents the consensus of the IETF community, and it got public review and was approved for publication by the Internet Engineering Steering Group (IESG). for more on Internet Standards, check Section 2 of RFC 5741.
for the current status of this doc, any errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc6608 π¦
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. π
this document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as in effect on the date this document was published. please read these carefully, bestie, because they describe your rights and restrictions for this doc. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License π
Table of Contents π
1. Introduction ....................................................2
2. Requirements Language ...........................................2
3. Definition of Finite State Machine Error Subcodes ...............2
4. Usage of FSM Error Subcodes .....................................2
5. Security Considerations .........................................3
6. IANA Considerations .............................................3
7. Contributors ....................................................4
8. Acknowledgements ................................................4
9. References ......................................................4
9.1. Normative References .......................................4
9.2. Informative References .....................................4
1. Introduction β¨
okay so this doc defines several subcodes for the BGP [RFC4271] Finite State Machine (FSM) Error. these give more info to help network operators diagnose BGP FSM issues and correlate network events. it's also helpful for developers in lab situations π§ͺ and it updates [RFC4271] by requiring that BGP implementations insert appropriate FSM Error subcodes in NOTIFICATION messages for BGP FSM errors. that's the big ask, periodt π
2. Requirements Language π
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 [RFC2119]. these are the official vibe checks for how strict each rule is π«Ά
3. Definition of Finite State Machine Error Subcodes π
this doc 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
4. Usage of FSM Error Subcodes π₯
okay this is the actual rule section, so pay attention bestie π
if a BGP speaker gets an unexpected message (like a KEEPALIVE/ UPDATE/ROUTE-REFRESH message) on a session in OpenSent state, it MUST send a NOTIFICATION message to the neighbor with the Error Code Finite State Machine Error and the Error Subcode "Receive Unexpected Message in OpenSent State". the Data field is a 1-octet, unsigned integer that tells you the type of the unexpected message π
if a BGP speaker gets an unexpected message (like an 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 gets an unexpected message (like an OPEN message) on a session in Established State, it MUST send a NOTIFICATION message to the neighbor 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 π
5. Security Considerations π
ngl this section is serious, so read it carefully π
specifying, implementing, and deploying the proposed BGP FSM Error subcodes could make BGP implementation fingerprinting easier and probably more accurate. operators using BGP need to treat this as an operational security consideration when they make their BGP deployment decisions π
[BFMR2010] discusses a number of BGP security issues and potential solutions that might be relevant to both BGP implementers and BGP operators π‘οΈ
6. IANA Considerations πΈ
IANA has created the registry "BGP Finite State Machine Error Subcodes", within the "BGP Error Subcodes" registry. its Registration Procedure is "Standards Action" as defined in [RFC5226], and early allocation of such subcodes is allowed in accordance with [RFC4020] π§
the registry is populated with these 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
7. Contributors π«Ά
the following people contributed to this document:
Xiaoming Gu EMail: guxiaoming@huawei.com
Chong Wang EMail: chongwang@huawei.com
8. Acknowledgements π
the authors want to thank John Scudder, Jeffrey Haas, Susan Hares, Keyur Patel, Enke Chen, Ruediger Volk, and Ran Atkinson for their valuable suggestions and comments on this doc. iconic team π
9. References π
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4020] Kompella, K. and A. Zinin, "Early IANA Allocation of
Standards Track Code Points", BCP 100, RFC 4020, February
2005.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, January
2006.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
9.2. Informative References
[BFMR2010] Butler, K., Farley, T., Mcdaniel, P., and J. Rexford, "A
Survey of BGP Security Issues and Solutions", January
2010.
Authors' Addresses π‘
Jie Dong
Huawei Technologies
Huawei Building, No.156 Beiqing Rd
Beijing 100095
China
EMail: jie.dong@huawei.com
Mach Chen
Huawei Technologies
Huawei Building, No.156 Beiqing Rd
Beijing 100095
China
EMail: mach.chen@huawei.com
Anantharamu Suryanarayana
Cisco Systems
USA
EMail: asuryana@cisco.com
π¦ where this page comes from
- ietf: rfc6608 2012-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms