RFC 8203

BGP Administrative Shutdown Communication

πŸ“… published July 2017, from ietf

RFC 8203: BGP Administrative Shutdown Communication πŸ’–

okay bestie, this is RFC 8203 and it's a Standards Track doc from July 2017 πŸ¦‹ It's written by Job Snijders (NTT), Jakob Heitz (Cisco), and John Scudder (Juniper) ✨ It updates RFC 4486 πŸŽ€ and that's the main plot point of the title block.

Abstract

okay so this doc glow-ups the BGP Cease NOTIFICATION message's "Administrative Shutdown" and "Administrative Reset" subcodes πŸ’… Operators can now send a short freeform message explaining why a BGP session got shut down or reset 🫢 It also updates RFC 4486 🌸

Status of This Memo

this is an Internet Standards Track document πŸ”₯

it's a product of the Internet Engineering Task Force (IETF) πŸ‘‘ It represents the consensus of the IETF community, 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 7841 🌈

for the current status, errata, and how to send feedback, go to:

http://www.rfc-editor.org/info/rfc8203

Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. πŸŽ€

this doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stand on the publication date πŸ“œ Read these carefully, bestie, because they explain your rights and restrictions πŸ’œ Code Components pulled out of this doc 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
  1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   2
2.  Shutdown Communication  . . . . . . . . . . . . . . . . . . .   2
3.  Operational Considerations  . . . . . . . . . . . . . . . . .   3
4.  Error Handling  . . . . . . . . . . . . . . . . . . . . . . .   4
5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
6.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
  7.1.  Normative References  . . . . . . . . . . . . . . . . . .   5
  7.2.  Informative References  . . . . . . . . . . . . . . . . .   5
Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   6
Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1. Introduction πŸ¦‹

it can be a whole mess for an operator to match a BGP-4 [RFC4271] session teardown in the network with a heads-up that came through offline channels like email or phone calls πŸ™ˆ This doc updates [RFC4486] by adding a way to send a short freeform UTF-8 [RFC3629] message inside a Cease NOTIFICATION message [RFC4271], so the peer knows why the BGP session is being shut down or reset ✨

1.1. Requirements Language

the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this doc are to be read as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they show up in all capitals, just like 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 an UTF-8 encoded string πŸŽ€ What goes in the string is up to the operator 🫢

the Cease NOTIFICATION message with a Shutdown Communication is laid out 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

the fields, bestie 🧚

  • Subcode: the Error Subcode value MUST be one of the following values: 2 ("Administrative Shutdown") or 4 ("Administrative Reset").
  • Length: this 8-bit field is the length of the Shutdown Communication field in octets. The length value MUST range from 0 to 128 inclusive. 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. When the Shutdown Communication has multibyte characters, the number of characters will be less than the length value 🌈 This field is not NUL terminated.

how the reporting of info in the Shutdown Communication works is implementation specific, but it 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 ✨ Here's a useful example:

[TICKET-1-1438367390] software upgrade; back in 2 hours

so [TICKET-1-1438367390] is a ticket reference that means something to both the sender and the receiver πŸ¦‹ Then comes a short human-readable reason for the shutdown, then how long the maintenance will take ⭐ The receiver can search their email archive for TICKET-1-1438367390 and find all the details, which is iconic 😭

4. Error Handling πŸ™ˆ

if a Shutdown Communication shows up with an invalid Length value or an invalid UTF-8 sequence, a message about this event SHOULD be logged for the operator's attention πŸ’€ An erroneous or malformed Shutdown Communication itself MAY be logged in a hexdump format πŸ”₯

5. IANA Considerations πŸ‘‘

IANA references this doc (in addition to [RFC4486]) for the subcodes "Administrative Shutdown" (2) and "Administrative Reset" (4) in the "Cease NOTIFICATION message subcodes" registry under the "Border Gateway Protocol (BGP) Parameters" group πŸŽ€

6. Security Considerations πŸ”₯

bestie, this one is serious πŸ’€ This doc uses UTF-8 encoding for the Shutdown Communication, and Unicode comes with a bunch of security issues. Implementers and operators are advised to read Unicode Technical Report #36 [UTR36] to learn about them πŸ“œ UTF-8 "Shortest Form" encoding is REQUIRED to guard against the technical issues outlined in [UTR36] πŸ›‘οΈ

also, Shutdown Communications will probably show up in syslog output, so someone could craft one that the receiving system formats to look like extra syslog messages 😭 To make that attack harder, the BGP Shutdown Communication is capped at 128 octets in length πŸ’…

if the BGP session doesn't use a transport that provides integrity, a Shutdown Communication could be forged πŸ™ˆ And unless a transport that provides confidentiality is used, a Shutdown Communication could be snooped by an attacker πŸ’€ These issues are common to any BGP message, but they matter more here because the info is usually meant for human-to-human communication 🫢 Check the related considerations in [RFC4271] and [RFC4272] 🌸

users of this mechanism should think about data minimization practices as outlined in Section 6.1 of [RFC6973], because a received Shutdown Communication may be used at the receiver's discretion 🧚

7. References πŸ’œ

7.1. Normative References

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119,
           DOI 10.17487/RFC2119, March 1997,
           <http://www.rfc-editor.org/info/rfc2119>.

[RFC3629]  Yergeau, F., "UTF-8, a transformation format of ISO
           10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November
           2003, <http://www.rfc-editor.org/info/rfc3629>.

[RFC4271]  Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
           Border Gateway Protocol 4 (BGP-4)", RFC 4271,
           DOI 10.17487/RFC4271, January 2006,
           <http://www.rfc-editor.org/info/rfc4271>.

[RFC4486]  Chen, E. and V. Gillet, "Subcodes for BGP Cease
           Notification Message", RFC 4486, DOI 10.17487/RFC4486,
           April 2006, <http://www.rfc-editor.org/info/rfc4486>.

[RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
           2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
           May 2017, <http://www.rfc-editor.org/info/rfc8174>.

7.2. Informative References

[RFC4272]  Murphy, S., "BGP Security Vulnerabilities Analysis",
           RFC 4272, DOI 10.17487/RFC4272, January 2006,
           <http://www.rfc-editor.org/info/rfc4272>.

[RFC5424]  Gerhards, R., "The Syslog Protocol", RFC 5424,
           DOI 10.17487/RFC5424, March 2009,
           <http://www.rfc-editor.org/info/rfc5424>.

[RFC6973]  Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
           Morris, J., Hansen, M., and R. Smith, "Privacy
           Considerations for Internet Protocols", RFC 6973,
           DOI 10.17487/RFC6973, July 2013,
           <http://www.rfc-editor.org/info/rfc6973>.

[UTR36]    Davis, M., Ed. and M. Suignard, Ed., "Unicode Security
           Considerations", Unicode Technical Report #36, August
           2010, <http://unicode.org/reports/tr36/>.

Acknowledgements 🫢

the authors want to give a huge thank you 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 🌈

the authors also thank Enke Chen and Vincent Gillet for their work on [RFC4486] and for granting the related rights to the IETF Trust per BCP 78 πŸ’–

Authors' Addresses πŸ¦‹

Job Snijders
NTT Communications
Theodorus Majofskistraat 100
Amsterdam  1065 SZ
The 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
1194 N. Mathilda Ave
Sunnyvale, CA  94089
United States of America

Email: jgs@juniper.net
πŸ“¦ where this page comes from