-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrfc8203bis.xml
295 lines (273 loc) · 16.1 KB
/
rfc8203bis.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
<?xml version="1.0"?>
<!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"?>
<rfc category="std"
docName="draft-ietf-idr-rfc8203bis-04"
updates="4486"
obsoletes="8203"
ipr="trust200902">
<front>
<title abbrev="BGP Shutdown Communication">
Extended BGP Administrative Shutdown Communication
</title>
<author fullname="Job Snijders" initials="J." surname="Snijders">
<organization abbrev="NTT">NTT Communications</organization>
<address>
<postal>
<street>Theodorus Majofskistraat 100</street>
<code>1065 SZ</code>
<city>Amsterdam</city>
<country>The Netherlands</country>
</postal>
<email>[email protected]</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>[email protected]</email>
</address>
</author>
<author fullname="John Scudder" initials="J.S." surname="Scudder">
<organization abbrev="Juniper">Juniper Networks</organization>
<address>
<postal>
<street>1194 N. Mathilda Ave</street>
<city>Sunnyvale</city>
<region>CA</region>
<code>94089</code>
<country>United States of America</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<author fullname="Alexander Azimov" initials="A." surname="Azimov">
<organization abbrev="Yandex">Yandex</organization>
<address>
<email>[email protected]</email>
</address>
</author>
<date />
<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 freeform message to describe why a BGP session was shutdown or reset.
This document updates RFC 4486 and obsoletes RFC 8203 by defining an Extended BGP Administrative Shutdown Communication to improve communication using multibyte character 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 can be troublesome for an operator to correlate a <xref target="RFC4271">BGP-4</xref> session teardown in the network with a notice that was transmitted via offline methods such email or telephone calls.
This document updates <xref target="RFC4486" /> by specifying a mechanism to transmit a short freeform <xref target="RFC3629">UTF-8</xref> message as part of a <xref target="RFC4271">Cease NOTIFICATION message</xref> to inform the peer why the BGP session is being shutdown or reset.
</t>
</section>
<section anchor="message" title="Shutdown Communication">
<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" />, it MAY include an 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:
<figure anchor="encoding" align="center"><artwork><![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 Error Subcode value MUST be one of the following
values: 2 ("Administrative Shutdown") or 4
("Administrative Reset").
</t>
<t></t>
<t hangText="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.
</t>
<t></t>
<t hangText="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.
</t>
</list>
</t>
<t>
Mechanisms concerning the reporting of information contained in
the Shutdown Communication are implementation specific but
SHOULD include methods such as <xref target="RFC5424">Syslog</xref>.
</t>
</section>
<section anchor="ops" title="Operational Considerations">
<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>
</section>
<section anchor="error" title="Error Handling">
<t>
If a Shutdown Communication with an invalid Length value, or 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.
</t>
<!--
<t>
A NOTIFICATION message is permitted to carry any bytes in the data field, not just a Shutdown Communication.
A length value that indicates that the Shutdown Communication ends before the end of the NOTIFICATION message is not an error.
It indicates that either the data field is not a Shutdown Communication or another field follows the Shutdown Communication.
A length value that indicates that the Shutdown Communication ends after the end of the NOTIFICATION message is not an error.
It indicates that the data field is not a Shutdown Communication.
If an unknown, but otherwise valid UTF-8 sequence is received, then that sequence should be displayed in a way to make it clear that it is unknown.
If an invalid UTF-8 sequence is received, then it indicated that the data field is not a Shutdown Communication.
If it is determined that the data field does not contain a Shutdown Communication, then the NOTIFICATION message should be treated as if the Shutdown Communication did not exist, but that the data field is other data.
</t>
-->
</section>
<section anchor="iana" title="IANA Considerations">
<t>
Per this document, IANA is requested to reference this document at subcode "Administrative Shutdown", and at subcode "Administrative Reset" in the "Cease NOTIFICATION message subcodes" registry under the "Border Gateway Protocol (BGP) Parameters" group in addition to <xref target="RFC4486" /> and <xref target="RFC8203" />.
</t>
</section>
<section anchor="security" title="Security Considerations">
<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 Technical Report #36</xref> to learn about these issues.
UTF-8 "Shortest Form" encoding is REQUIRED to guard against the technical issues outlined in <xref target="UTR36" />.
</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.
To limit the ability to mount such an attack, the BGP Shutdown Communication is limited to 255 octets in length.
</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 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" /> and <xref target="RFC4272" />.
</t>
<t>
Users of this mechanism should consider applying data minimization practices as outlined in <xref target="RFC6973">Section 6.1 of</xref> because a received Shutdown Communication may be used at the receiver's discretion.
</t>
</section>
<section title="Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION">
<t>
This section records the status of known implementations of the
protocol defined by this specification at the time of posting of
this Internet-Draft, and is based on a proposal described in
RFC7942. The description of implementations in this
section is intended to assist the IETF in its decision processes in
progressing drafts to RFCs. Please note that the listing of any
individual implementation here does not imply endorsement by the
IETF. Furthermore, no effort has been spent to verify the
information presented here that was supplied by IETF contributors.
This is not intended as, and must not be construed to be, a catalog
of available implementations or their features. Readers are advised
to note that other implementations may exist.
</t>
<t>
As of today these vendors have produced an implementation of the
Shutdown Communication:
<list style="symbols">
<t>Juniper Junos</t>
<t>OpenBSD OpenBGPD</t>
<t>NIC.CZ BIRD</t>
<t>...</t>
</list>
</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"?>
<?rfc include="reference.RFC.8203"?>
</references>
<references title="Informative References">
<?rfc include="reference.RFC.4272"?>
<?rfc include="reference.RFC.5424"?>
<?rfc include="reference.RFC.6973"?>
<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>
<author initials="M." surname="Suignard" fullname="Michel Suignard"><organization/></author>
<date year="2010" month="August" day="4"/>
</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>
<section title="Changes to RFC 8203">
<t>
Feedback from operators based in regions which predominantly use multibyte character sets, showed that messages similar in meaning to what can be send in other languages in using single-byte encoding, failed to fit within the Length constraints as specified by <xref target="RFC8203"/>.
For example, the phrase: 'Planned work to add switch to stack. Completion time - 30 minutes' has length 65 bytes.
Its translation in Russian 'Плановые работы по добавлению коммутаторав стек.Время завершения - 30минут' (See PDF for non-ASCII character string) has length 139 bytes.
</t>
</section>
</back>
</rfc>