<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-idr-rfc8203bis-08" 
number="9003" updates="4486" obsoletes="8203" ipr="trust200902" submissionType="IETF" 
category="std" consensus="true" xml:lang="en" sortRefs="true" symRefs="true" 
tocInclude="true" tocDepth="3" version="3">

  <!-- xml2rfc v2v3 conversion 3.5.0 -->
  <front>
    <title abbrev="BGP Shutdown Communication">
            Extended BGP Administrative Shutdown Communication
    </title>
    <seriesInfo name="RFC" value="9003"/>
    <author fullname="Job Snijders" initials="J." surname="Snijders">
      <organization abbrev="NTT">NTT Ltd.</organization>
      <address>
        <postal>
          <street>Theodorus Majofskistraat 100</street>
          <code>1065 SZ</code>
          <city>Amsterdam</city>
          <country>Netherlands</country>
        </postal>
        <email>job@ntt.net</email>
      </address>
    </author>
    <author fullname="Jakob Heitz" initials="J." surname="Heitz">
      <organization>Cisco</organization>
      <address>
        <postal>
          <street>170 West Tasman Drive</street>
          <city>San Jose</city>
          <region>CA</region>
          <code>95134</code>
          <country>United States of America</country>
        </postal>
        <email>jheitz@cisco.com</email>
      </address>
    </author>
    <author fullname="John Scudder" initials="J." surname="Scudder">
      <organization abbrev="Juniper">Juniper Networks</organization>
      <address>
        <postal>
          <street>1133 Innovation Way</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94089</code>
          <country>United States of America</country>
        </postal>
        <email>jgs@juniper.net</email>
      </address>
    </author>
    <author fullname="Alexander Azimov" initials="A." surname="Azimov">
      <organization abbrev="Yandex">Yandex</organization>
      <address>
	<postal>
	<street>Ulitsa Lva Tolstogo 16</street>
	<city>Moscow</city>
	<code>119021</code>
	<country>Russian Federation</country>
	</postal>
        <email>a.e.azimov@gmail.com</email>
      </address>
    </author>
    <date month="January" year="2021"/>
    <area>Routing</area>
    <workgroup>IDR</workgroup>
    <keyword>BGP</keyword>
    <keyword>cease</keyword>
    <keyword>shutdown</keyword>
    <abstract>
      <t>This document enhances the BGP Cease NOTIFICATION message "Administrative 
      Shutdown" and "Administrative Reset" subcodes for operators to transmit a 
      short free-form message to describe why a BGP session was shut down or reset. 
      This document updates RFC 4486 and obsoletes RFC 8203 by defining an Extended 
      BGP Administrative Shutdown Communication of up to 255 octets to improve 
      communication using multibyte character sets.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>It can be troublesome for an operator to correlate a <xref target="RFC4271"
      format="default">BGP-4</xref> session teardown in the network with a notice that 
      was transmitted via offline methods, such as email or telephone calls. This document 
      updates <xref target="RFC4486" format="default"/> by specifying a mechanism to 
      transmit a short free-form <xref target="RFC3629" format="default">UTF-8</xref> 
      message as part of a <xref target="RFC4271" format="default">Cease NOTIFICATION 
      message</xref> to inform the peer why the BGP session is being shut down or reset.
      This document obsoletes <xref target="RFC8203" format="default"/>; the specific 
      differences and rationale are discussed in detail in <xref target="changes_to_8203"
      format="default"/>.</t>
      <section anchor="req-lang" numbered="true" toc="default">
      <name>Requirements Language</name>
        <t>
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
    NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
    </section>
    </section>
    <section anchor="message" numbered="true" toc="default">
      <name>Shutdown Communication</name>
      <t>If a BGP speaker decides to terminate 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" <xref target="RFC4486" 
      format="default"/>, it <bcp14>MAY</bcp14> include a UTF-8-encoded string. The contents 
      of the string are at the operator's discretion.</t>
      <t>The Cease NOTIFICATION message with a Shutdown Communication is encoded as below:</t>
      <figure anchor="encoding">
<artwork name="Cease NOTIFICATION Message with a Shutdown Communication" type="" align="left" alt=""><![CDATA[
 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 ...                /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <dl newline="false" spacing="normal">
        <dt>Subcode:</dt>
        <dd>The Error Subcode value <bcp14>MUST</bcp14> be one of the following
            values: 2 ("Administrative Shutdown") or 4 ("Administrative Reset").</dd>
        <dt>Length:</dt>
        <dd>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.</dd>
        <dt>Shutdown Communication:</dt>
        <dd>To support international characters, the Shutdown
            Communication field <bcp14>MUST</bcp14> be encoded using UTF-8. A
            receiving BGP speaker <bcp14>MUST NOT</bcp14> 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 <bcp14>REQUIRED</bcp14> 
	    to guard against the technical issues outlined in <xref target="UTR36" 
	    format="default"/>.</dd>
      </dl>
      <t>
                Mechanisms concerning the reporting of information contained in
                the Shutdown Communication are implementation specific but
                <bcp14>SHOULD</bcp14> include methods such as <xref target="RFC5424" format="default">syslog</xref>.
      </t>
    </section>
    <section anchor="ops" numbered="true" toc="default">
      <name>Operational Considerations</name>
      <t>
                Operators are encouraged to use the Shutdown Communication to
                inform their peers of the reason for the shutdown of the BGP
                session and include out-of-band reference materials.  An
                example of a useful Shutdown Communication would be:
      </t>
      <t>"[TICKET-1-1438367390] software upgrade; back in 2 hours"</t>
      <t>"[TICKET-1-1438367390]" is a ticket reference with significance to both 
      the sender and receiver, followed by a brief human-readable message regarding 
      the reason for the BGP session shutdown followed by an indication about the length 
      of the maintenance. The receiver can now use the string 'TICKET-1-1438367390' to 
      search in their email archive to find more details.</t>
      <t>
   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, the consequence of which should be a log message.
      </t>
      <t>
   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, the consequence of which should be a log message.
      </t>
      <t>
   In any case, a receiver of a NOTIFICATION message is unable to
   acknowledge the receipt and correct understanding of any
   Shutdown Communication.
      </t>
      <t>
   Operators should not rely on Shutdown Communications as their
   sole form of communication with their peers for important events.
      </t>
      <t>
   If it is known that the peer BGP speaker supports this specification,
   then a Shutdown Communication that is not longer than 255 octets <bcp14>MAY</bcp14> be sent.
   Otherwise, a Shutdown Communication <bcp14>MAY</bcp14> be sent, but it <bcp14>SHOULD NOT</bcp14> be
   longer than 128 octets.
      </t>
    </section>
    <section anchor="error" numbered="true" toc="default">
      <name>Error Handling</name>
      <t>
			   If a Shutdown Communication with an invalid UTF-8
			   sequence is received, a message indicating this event
			   <bcp14>SHOULD</bcp14> be logged for the attention of the operator.  An
			   erroneous or malformed Shutdown Communication itself <bcp14>MAY</bcp14>
			   be logged in a hexdump format.
      </t>
    </section>
    <section anchor="iana" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA has referenced this document at subcodes "Administrative Shutdown" 
      and "Administrative Reset" in the "BGP Cease NOTIFICATION message subcodes" 
      registry under the "Border Gateway Protocol (BGP) Parameters" group in addition to 
      <xref target="RFC4486" format="default"/>.</t>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
                This document uses UTF-8 encoding for the Shutdown Communication.
                There are a number of security issues with Unicode.
                Implementers and operators are advised to review <xref target="UTR36" format="default">Unicode Technical Report #36</xref> to learn about these issues.
                UTF-8 "Shortest Form" encoding is <bcp14>REQUIRED</bcp14> to guard against the technical issues outlined in <xref target="UTR36" format="default"/>.
      </t>
      <t>
                As BGP Shutdown Communications are likely to appear in syslog output, there is a risk that carefully constructed Shutdown Communication might be formatted by receiving systems in a way to make them appear as additional syslog messages.
                The 255-octet length limit on the BGP Shutdown
                Communication may help limit the ability to mount such
                an attack.
      </t>
      <t>
                Users of this mechanism should be aware that unless a transport that provides integrity is used for the BGP session in question, a Shutdown Communication message could be forged.
                Unless a transport that provides confidentiality is used, a Shutdown Communication message could be snooped by an attacker.
                These issues are common to any BGP message, but they may be of greater interest in the context of this proposal since the information carried in the message is generally expected to be used for human-to-human communication.
                Refer to the related considerations in <xref target="RFC4271" format="default"/> and <xref target="RFC4272" format="default"/>.
      </t>
      <t>Users of this mechanism should consider applying data minimization practices 
      as outlined in <xref target="RFC6973" sectionFormat="of" section="6.1"></xref>
      because a received Shutdown Communication may be used at the receiver's discretion.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3629.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4486.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4272.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5424.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6973.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8203.xml"/>

        <reference anchor="UTR36" target="http://unicode.org/reports/tr36/">
          <front>
            <title>Unicode Security Considerations</title>
            <author initials="M." surname="Davis" fullname="Mark Davis" role="editor">
              <organization/>
            </author>
            <author initials="M." surname="Suignard" fullname="Michel Suignard" role="editor">
              <organization/>
            </author>
            <date year="2010" month="August"/>
          </front>
          <seriesInfo name="Unicode Technical Report" value="#36"/>
        </reference>
      </references>
    </references>
    <section anchor="changes_to_8203" numbered="true" toc="default">
      <name>Changes to RFC 8203</name>
      <t>The maximum permitted length was changed from 128 to 255.</t>
      <t>Feedback from operators based in regions that predominantly use multibyte character 
      sets showed that messages similar in meaning to what can be sent in other languages 
      using single-byte encoding failed to fit within the length constraints as specified by 
      <xref target="RFC8203" format="default"/>. For example, the phrase "Planned work to add 
      switch to stack.  Completion time - 30 minutes" has a length of 65 bytes. Its translation in 
      Russian has a length of 139 bytes.</t>
      <t>If a Shutdown Communication message longer than 128 octets is sent to a BGP speaker 
      that implements <xref target="RFC8203" format="default"/>, then that speaker will bring 
      it to the attention of an operator but will otherwise process the NOTIFICATION message 
      as normal.</t>
    </section>
    <section anchor="acknowledgements" numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>The authors would like to gratefully acknowledge <contact fullname="Tom Scholl"/>, 
      <contact fullname="David Freedman"/>, <contact fullname="Jared Mauch"/>, <contact 
      fullname="Jeff Haas"/>, <contact fullname="Peter Hessler"/>, <contact fullname="Bruno 
      Decraene"/>, <contact fullname="John Heasley"/>, <contact fullname="Peter van Dijk"/>, 
      <contact fullname="Arjen Zonneveld"/>, <contact fullname="James Bensley"/>, <contact 
      fullname="Susan Hares"/>, <contact fullname="Saku Ytti"/>, <contact fullname="Lou Berger"/>, 
      <contact fullname="Alvaro Retana"/>, and <contact fullname="Adam Roach"/>.</t>
      <t>The authors would like to thank <contact fullname="Enke Chen"/> and <contact fullname="Vincent
      Gillet"/> for their work on <xref target="RFC4486" format="default"/> and granting the related BCP 
      78 rights to the IETF Trust.</t>
      <t>The authors would like to acknowledge <contact fullname="Misha Grishin"/> (MSK-IX) for raising
      awareness that the length specification of <xref target="RFC8203" format="default"/> was insufficient 
      in context of multibyte character sets.</t>
    </section>
  </back>
</rfc>
