RFC 9003
Extended BGP Administrative Shutdown Communication
RFC 9003: Extended BGP Administrative Shutdown Communication π
Okay bestie, let's do the vibe check first π This is RFC 9003, called Extended BGP Administrative Shutdown Communication. It's from the Internet Engineering Task Force (IETF) and was written by J. Snijders (NTT), J. Heitz (Cisco), J. Scudder (Juniper), and A. Azimov (Yandex). It's a Standards Track doc, ISSN 2070-1721, dated January 2021. It obsoletes RFC 8203 and updates RFC 4486. Main character energy π¦
Abstract β¨
So this doc levels up the BGP Cease NOTIFICATION "Administrative Shutdown" and "Administrative Reset" subcodes π Operators can now send a short free-form message explaining why a BGP session was shut down or reset. It updates RFC 4486 and obsoletes RFC 8203 by defining an Extended BGP Administrative Shutdown Communication of up to 255 octets, which gives multibyte character sets a real seat at the table π
Status of This Memo π
This is an Internet Standards Track document.
It's a product of the Internet Engineering Task Force (IETF), so it represents the consensus of the IETF community. It went through public review and got approved for publication by the Internet Engineering Steering Group (IESG). For more on Internet Standards, check Section 2 of RFC 7841 π§
Info about the current status of this document, any errata, and how to send feedback is at https://www.rfc-editor.org/info/rfc9003 π
Copyright Notice Β©οΈ
Copyright (c) 2021 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 (https://trustee.ietf.org/license-info) as they stand on the publication date. Please read these carefully, because they describe your rights and restrictions for 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 they come without warranty, as described in the Simplified BSD License βοΈ
Table of Contents ποΈ
1. Introduction
1.1. Requirements Language
2. Shutdown Communication
3. Operational Considerations
4. Error Handling
5. IANA Considerations
6. Security Considerations
7. References
7.1. Normative References
7.2. Informative References
Appendix A. Changes to RFC 8203
Acknowledgements
Authors' Addresses
1. Introduction πΈ
It can be a real pain for an operator to match up a BGP-4 [RFC4271] session teardown in the network with a heads-up that got sent through offline stuff, like email or phone calls π This document updates [RFC4486] by specifying a way to send a short free-form UTF-8 [RFC3629] message as part of a Cease NOTIFICATION message [RFC4271], so the peer knows why the BGP session is being shut down or reset. This document obsoletes [RFC8203]. The specific differences and the reasoning behind them are covered in detail in Appendix A.
1.1. Requirements Language π
Quick rules of the game π The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
2. Shutdown Communication π¦
Okay so, if a BGP speaker decides to end its session with a BGP neighbor, and it sends a NOTIFICATION message with the Error Code "Cease" and Error Subcode "Administrative Shutdown" or "Administrative Reset" [RFC4486], it MAY include a UTF-8-encoded string. The contents of that string are up to the operator π«Ά
The Cease NOTIFICATION message with a Shutdown Communication is encoded like this:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Error Code 6 | Subcode | Length | ... \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ /
\ \
/ ... Shutdown Communication ... /
\ \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1
Here's the breakdown of the fields π
- Subcode: The Error Subcode value MUST be one of the following values: 2 ("Administrative Shutdown") or 4 ("Administrative Reset").
- Length: This 8-bit field represents the length of the Shutdown Communication field in octets. When the length value is zero, no Shutdown Communication field follows.
- Shutdown Communication: To support international characters, the Shutdown Communication field MUST be encoded using UTF-8. A receiving BGP speaker MUST NOT interpret invalid UTF-8 sequences. Note that when the Shutdown Communication contains multibyte characters, the number of characters will be less than the length value. This field is not NUL terminated. UTF-8 "Shortest Form" encoding is REQUIRED to guard against the technical issues outlined in [UTR36].
Mechanisms for reporting the information in the Shutdown Communication are implementation specific, but they SHOULD include methods such as syslog [RFC5424] π§Ύ
3. Operational Considerations π
Operators are encouraged to use the Shutdown Communication to tell their peers why the BGP session is shutting down, and to include out-of-band reference materials. An example of a useful Shutdown Communication would be:
[TICKET-1-1438367390] software upgrade; back in 2 hours
[TICKET-1-1438367390] is a ticket reference that means something to both the sender and the receiver. It's followed by a brief human-readable message about why the BGP session is shutting down, and then a note about how long the maintenance will take. The receiver can now search their email archive for the string TICKET-1-1438367390 to find more details π
If a Shutdown Communication longer than 128 octets is sent to a BGP speaker that implements [RFC8203], then that speaker will treat it as an error, and the consequence of that error should be a log message.
If a Shutdown Communication of any length is sent to a BGP speaker that implements neither [RFC8203] nor this specification, then that speaker will treat it as an error, and the consequence of that error should be a log message.
In any case, a receiver of a NOTIFICATION message is unable to acknowledge the receipt and correct understanding of any Shutdown Communication π
Operators should not rely on Shutdown Communications as their sole form of communication with their peers for important events. Don't be that operator π
If it is known that the peer BGP speaker supports this specification, then a Shutdown Communication that is not longer than 255 octets MAY be sent. Otherwise, a Shutdown Communication MAY be sent, but it SHOULD NOT be longer than 128 octets.
4. Error Handling π¨
If a Shutdown Communication with an invalid UTF-8 sequence is received, a message indicating this event SHOULD be logged for the attention of the operator. An erroneous or malformed Shutdown Communication itself MAY be logged in a hexdump format π§
Appendix A. Changes to RFC 8203 π
okay so the big change here is that the maximum permitted length went from 128 to 255 π
why? operators in regions where multibyte character sets are the norm kept running into a wall π§± messages that mean the same thing as what people send in other languages, using single-byte encoding, just didn't fit under the [RFC8203] length limits. the example they gave is the phrase "Planned work to add switch to stack. Completion time - 30 minutes", which is 65 bytes in English. its Russian translation? 139 bytes π that's more than double, and it's giving "the limit was not built for the whole world."
and here's the part you need to know, bestie π if a Shutdown Communication message longer than 128 octets gets sent to a BGP speaker that implements [RFC8203], that speaker will still flag it for an operator π© but it will otherwise process the NOTIFICATION message as normal. so it doesn't break the session, it just gets surfaced to a human. no drama, just a heads-up π¦
Acknowledgements π«Ά
the authors want to give a big shoutout to Tom Scholl, David Freedman, Jared Mauch, Jeff Haas, Peter Hessler, Bruno Decraene, John Heasley, Peter van Dijk, Arjen Zonneveld, James Bensley, Susan Hares, Saku Ytti, Lou Berger, Alvaro Retana, and Adam Roach π literally the whole squad, obsessed.
they also want to thank Enke Chen and Vincent Gillet for their work on [RFC4486] and for granting the related BCP 78 rights to the IETF Trust πΈ very responsible of them, iconic.
and last but not least, Misha Grishin (MSK-IX) gets a whole flower π· for raising awareness that the length specification of [RFC8203] wasn't enough once multibyte character sets entered the chat. that's the kind of feedback that actually changes things β¨
Authors' Addresses π¦
Here are the four authors, so you know exactly who to bother π
Job Snijders
NTT Ltd.
Theodorus Majofskistraat 100
1065 SZ Amsterdam
Netherlands
Email: job@ntt.net
Jakob Heitz
Cisco
170 West Tasman Drive
San Jose, CA 95134
United States of America
Email: jheitz@cisco.com
John Scudder
Juniper Networks
1133 Innovation Way
Sunnyvale, CA 94089
United States of America
Email: jgs@juniper.net
Alexander Azimov
Yandex
Ulitsa Lva Tolstogo 16
Moscow
119021
Russian Federation
Email: a.e.azimov@gmail.com
π¦ where this page comes from
- ietf: rfc9003 2021-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms