<?xml version="1.0"?> version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc comments="yes"?>
<?rfc compact="yes"?>
<?rfc inline="yes"?>
<?rfc sortrefs="yes"?>
<?rfc subcompact="yes"?>
<?rfc symrefs="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc tocompact="yes"?>
<?rfc strict="yes"?> "rfc2629-xhtml.ent">

<rfc category="std" xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-idr-rfc8203bis-08"
number="9003" updates="4486" obsoletes="8203"
    ipr="trust200902"> 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 Communications</organization> Ltd.</organization>
      <address>
        <postal>
          <street>Theodorus Majofskistraat 100</street>
          <code>1065 SZ</code>
          <city>Amsterdam</city>
                    <country>The Netherlands</country>
          <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>1194 N. Mathilda Ave</street>
          <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
      <t>This document enhances the BGP Cease NOTIFICATION message "Administrative
      Shutdown" and "Administrative Reset" subcodes for operators to transmit a
      short freeform free-form message to describe why a BGP session was shutdown 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> sets.</t>
    </abstract>

    <note title="Requirements Language">
        <t>
            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 <xref target="RFC2119"/> <xref target="RFC8174"/> when,
            and only when, they appear in all capitals, as shown here.
        </t>
    </note>
  </front>
  <middle>
    <section anchor="intro" title="Introduction">
            <t>
                It numbered="true" toc="default">
      <name>Introduction</name>
      <t>It can be troublesome for an operator to correlate a <xref target="RFC4271">BGP-4</xref> target="RFC4271"
      format="default">BGP-4</xref> session teardown in the network with a notice that
      was transmitted via offline methods methods, such as email or telephone calls. This document
      updates <xref target="RFC4486" /> format="default"/> by specifying a mechanism to
      transmit a short freeform free-form <xref target="RFC3629">UTF-8</xref> target="RFC3629" format="default">UTF-8</xref>
      message as part of a <xref target="RFC4271">Cease target="RFC4271" format="default">Cease NOTIFICATION
      message</xref> to inform the peer why the BGP session is being shutdown shut down or reset.
      This document obsoletes <xref target="RFC8203"/>; target="RFC8203" format="default"/>; the specific
      differences and rationale are discussed in detail in <xref target="changes_to_8203"/>. 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" title="Shutdown Communication">
            <t>
                If 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 MAY <bcp14>MAY</bcp14> include a UTF-8 encoded UTF-8-encoded string. The contents
      of the string are at the operator's discretion.
            </t>
<t>
The discretion.</t>
      <t>The Cease NOTIFICATION message with a Shutdown Communication is encoded as
below: below:</t>
      <figure anchor="encoding" align="center"><artwork><![CDATA[ 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>
</t>
            <t>
                <list style="hanging">
                    <t hangText="Subcode:">
                        the
]]></artwork>
      </figure>
      <dl newline="false" spacing="normal">
        <dt>Subcode:</dt>
        <dd>The Error Subcode value MUST <bcp14>MUST</bcp14> be one of the following
            values: 2 ("Administrative Shutdown") or 4 ("Administrative Reset").
                    </t>
                    <t></t>
                    <t hangText="Length:">
                        this 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.
                    </t>
                    <t></t>
                    <t hangText="Shutdown Communication:">
                        to follows.</dd>
        <dt>Shutdown Communication:</dt>
        <dd>To support international characters, the Shutdown
            Communication field MUST <bcp14>MUST</bcp14> be encoded using UTF-8. A
            receiving BGP speaker MUST NOT <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 REQUIRED <bcp14>REQUIRED</bcp14>
	    to guard against the technical issues outlined in <xref target="UTR36" />.
                    </t>
                </list>
            </t>
	    format="default"/>.</dd>
      </dl>
      <t>
                Mechanisms concerning the reporting of information contained in
                the Shutdown Communication are implementation specific but
                SHOULD
                <bcp14>SHOULD</bcp14> include methods such as <xref target="RFC5424">Syslog</xref>. target="RFC5424" format="default">syslog</xref>.
      </t>
    </section>
    <section anchor="ops" title="Operational Considerations"> 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]"
      <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> 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 peer 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 MAY <bcp14>MAY</bcp14> be sent.
   Otherwise, a Shutdown Communication MAY <bcp14>MAY</bcp14> be sent, but it SHOULD NOT <bcp14>SHOULD NOT</bcp14> be
   longer than 128 octets.
      </t>
    </section>
    <section anchor="error" title="Error Handling"> 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
			   SHOULD
			   <bcp14>SHOULD</bcp14> be logged for the attention of the operator.  An
			   erroneous or malformed Shutdown Communication itself MAY <bcp14>MAY</bcp14>
			   be logged in a hexdump format.
      </t>
    </section>
    <section anchor="iana" title="IANA Considerations">
            <t>
                IANA is requested to reference numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA has referenced this document at subcode subcodes "Administrative Shutdown", Shutdown"
      and at subcode "Administrative Reset" in the "BGP Cease NOTIFICATION message subcodes"
      registry under the "Border Gateway Protocol (BGP) Parameters" group in addition to
      <xref target="RFC4486" />.
            </t> format="default"/>.</t>
    </section>
    <section anchor="security" title="Security Considerations"> 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">Unicode target="UTR36" format="default">Unicode Technical Report #36</xref> to learn about these issues.
                UTF-8 "Shortest Form" encoding is REQUIRED <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 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 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
      <t>Users of this mechanism should consider applying data minimization practices
      as outlined in <xref target="RFC6973">Section 6.1 of</xref> target="RFC6973" sectionFormat="of" section="6.1"></xref>
      because a received Shutdown Communication may be used at the receiver's discretion.
            </t> discretion.</t>
    </section>
  </middle>
  <back>

        <references title="Normative References">
            <?rfc include="reference.RFC.2119"?>
            <?rfc include="reference.RFC.8174"?>
            <?rfc include="reference.RFC.3629"?>
            <?rfc include="reference.RFC.4271"?>
            <?rfc include="reference.RFC.4486"?>
    <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 title="Informative References">
            <?rfc include="reference.RFC.4272"?>
            <?rfc include="reference.RFC.5424"?>
            <?rfc include="reference.RFC.6973"?>
            <?rfc include="reference.RFC.8203"?>
      <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"><organization/></author> Davis" role="editor">
              <organization/>
            </author>
            <author initials="M." surname="Suignard" fullname="Michel Suignard"><organization/></author> Suignard" role="editor">
              <organization/>
            </author>
            <date year="2010" month="August" day="4"/> month="August"/>
          </front>
          <seriesInfo name="Unicode Technical Report" value="#36"/>
        </reference>
      </references>

        <section anchor="acknowledgements" title="Acknowledgements">
            <t>
                The authors would like to gratefully acknowledge 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.
            </t>
            <t>
                The authors would like to thank Enke Chen and Vincent Gillet for their work on <xref target="RFC4486"/> and granting the related BCP 78 rights to the IETF Trust.
            </t>
            <t>
                The authors would like to acknowledge Misha Grishin (MSK-IX) for raising awareness that <xref target="RFC8203"/>'s length specification was insufficient in context of multibyte character sets.
            </t>
        </section>
    </references>
    <section anchor="changes_to_8203" title="Changes numbered="true" toc="default">
      <name>Changes to RFC 8203">
			<t>
			The 8203</name>
      <t>The maximum permitted length was changed from 128 to 255.
            </t>
            <t>
				Feedback 255.</t>
      <t>Feedback from operators based in regions which that predominantly use multibyte character sets,
      sets showed that messages similar in meaning to what can be send sent in other languages in
      using single-byte encoding, encoding failed to fit within the Length length constraints as specified by
      <xref target="RFC8203"/>. target="RFC8203" format="default"/>. For example, the phrase: 'Planned phrase "Planned work to add
      switch to stack.  Completion time - 30 minutes' minutes" has a length of 65 bytes. Its translation in
      Russian has a length of 139 bytes.
            </t>
            <t>
			If bytes.</t>
      <t>If a Shutdown Communication message longer than 128 octets is sent to a BGP speaker
      that implements <xref target="RFC8203"/>, target="RFC8203" format="default"/>, then that speaker will bring
      it to the attention of an operator, operator but will otherwise process the NOTIFICATION message
      as normal.
			</t> 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>