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 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445
|
<pre>Internet Engineering Task Force (IETF) K. Patel
Request for Comments: 7313 E. Chen
Updates: <a href="./rfc2918">2918</a> Cisco Systems
Category: Standards Track B. Venkatachalapathy
ISSN: 2070-1721 July 2014
<span class="h1">Enhanced Route Refresh Capability for BGP-4</span>
Abstract
In this document, we enhance the existing BGP route refresh
mechanisms to provide for the demarcation of the beginning and the
ending of a route refresh. The enhancement can be used to facilitate
correction of BGP Routing Information Base (RIB) inconsistencies in a
non-disruptive manner. This document updates <a href="./rfc2918">RFC 2918</a>.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="http://www.rfc-editor.org/info/rfc7313">http://www.rfc-editor.org/info/rfc7313</a>.
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to 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 are provided without warranty as
described in the Simplified BSD License.
<span class="grey">Patel, et al. Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc7313">RFC 7313</a> Enhanced Route Refresh Capability for BGP-4 July 2014</span>
Table of Contents
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-2">2</a>. Requirements Language . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-3">3</a>. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-3.1">3.1</a>. Enhanced Route Refresh Capability . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-3.2">3.2</a>. Subtypes for ROUTE-REFRESH Message . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-4">4</a>. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-5">5</a>. Error Handling . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-6">6</a>. IANA Considerations . . . . . . . . . . . . . . . . . . . . . <a href="#page-6">6</a>
<a href="#section-7">7</a>. Security Considerations . . . . . . . . . . . . . . . . . . . <a href="#page-7">7</a>
<a href="#section-8">8</a>. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . <a href="#page-7">7</a>
<a href="#section-9">9</a>. Normative References . . . . . . . . . . . . . . . . . . . . <a href="#page-7">7</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
It is sometimes necessary to perform routing consistency validations
such as checking for possible missing route withdrawals between BGP
speakers [<a href="./rfc4271" title=""A Border Gateway Protocol 4 (BGP-4)"">RFC4271</a>]. Currently, such validations typically involve
offline, manual operations that can be tedious and time-consuming.
In this document, we enhance the existing BGP route refresh
mechanisms [<a href="./rfc2918" title=""Route Refresh Capability for BGP-4"">RFC2918</a>] to provide for the demarcation of the beginning
and the ending of a route refresh (which refers to the complete
re-advertisement of the Adj-RIB-Out to a peer, subject to routing
policies). The enhancement can be used to facilitate online, non-
disruptive consistency validation of BGP routing updates.
This document updates [<a href="./rfc2918" title=""Route Refresh Capability for BGP-4"">RFC2918</a>] by redefining a field in the ROUTE-
REFRESH message that was previously designated as Reserved.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Requirements Language</span>
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>] only when
they appear in all upper case. They may also appear in lower or
mixed case as English words, without any normative meaning.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Protocol Extensions</span>
The BGP protocol extensions introduced in this document include the
definition of a new BGP capability, named "Enhanced Route Refresh
Capability", and the specification of the message subtypes for the
ROUTE-REFRESH message.
<span class="grey">Patel, et al. Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc7313">RFC 7313</a> Enhanced Route Refresh Capability for BGP-4 July 2014</span>
<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. Enhanced Route Refresh Capability</span>
The "Enhanced Route Refresh Capability" is a new BGP capability
[<a href="./rfc5492" title=""Capabilities Advertisement with BGP-4"">RFC5492</a>]. IANA has assigned a Capability Code of 70 for this
capability. The Capability Length field of this capability is zero.
By advertising this capability to a peer, a BGP speaker conveys to
the peer that the speaker supports the message subtypes for the
ROUTE-REFRESH message and the related procedures described in this
document.
<span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>. Subtypes for ROUTE-REFRESH Message</span>
The "Reserved" field of the ROUTE-REFRESH message specified in
[<a href="./rfc2918" title=""Route Refresh Capability for BGP-4"">RFC2918</a>] is redefined as the "Message Subtype" with the following
values:
0 - Normal route refresh request [<a href="./rfc2918" title=""Route Refresh Capability for BGP-4"">RFC2918</a>]
with/without Outbound Route Filtering (ORF) [<a href="./rfc5291" title=""Outbound Route Filtering Capability for BGP-4"">RFC5291</a>]
1 - Demarcation of the beginning of a route refresh
(BoRR) operation
2 - Demarcation of the ending of a route refresh
(EoRR) operation
255 - Reserved
The remaining values of the message subtypes are reserved for future
use; see <a href="#section-6">Section 6</a> ("IANA Considerations"). The use of the new
message subtypes is described in <a href="#section-4">Section 4</a> ("Operation").
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Operation</span>
A BGP speaker that supports the message subtypes for the ROUTE-
REFRESH message and the related procedures SHOULD advertise the
"Enhanced Route Refresh Capability".
The following procedures are applicable only if a BGP speaker has
received the "Enhanced Route Refresh Capability" from a peer.
Before the speaker starts a route refresh that is either initiated
locally, or in response to a "normal route refresh request" from the
peer, the speaker MUST send a BoRR message. After the speaker
completes the re-advertisement of the entire Adj-RIB-Out to the peer,
it MUST send an EoRR message.
Conceptually, the "entire Adj-RIB-Out" for a peer in this section
refers to all the route entries in the "Adj-RIB-Out" for the peer at
the start of the route refresh operation. These route entries
comprise both the reachability as well as unreachability information.
<span class="grey">Patel, et al. Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc7313">RFC 7313</a> Enhanced Route Refresh Capability for BGP-4 July 2014</span>
When a route entry in the "Adj-RIB-Out" changes, only the modified
route entry needs to be advertised.
In processing a ROUTE-REFRESH message from a peer, the BGP speaker
MUST examine the "message subtype" field of the message and take the
appropriate actions. The message processing rules for ROUTE-REFRESH
message with subtype of 0 are described in [<a href="./rfc2918" title=""Route Refresh Capability for BGP-4"">RFC2918</a>] and [<a href="./rfc5291" title=""Outbound Route Filtering Capability for BGP-4"">RFC5291</a>].
A BGP speaker can receive a BoRR message from a peer at any time,
either as a result of a peer responding to a ROUTE-REFRESH message,
or as a result of a peer unilaterally initiating a route refresh.
When a BGP speaker receives a BoRR message from a peer, it MUST mark
all the routes with the given Address Family Identifier and
Subsequent Address Family Identifier, <AFI, SAFI> [<a href="./rfc2918" title=""Route Refresh Capability for BGP-4"">RFC2918</a>], from
that peer as stale. As it receives routes from its peer's subsequent
Adj-RIB-Out re-advertisement, these replace any corresponding stale
routes. When a BGP speaker receives an EoRR message from a peer, it
MUST immediately remove any routes from the peer that are still
marked as stale for that <AFI, SAFI>. Such purged routes MAY be
logged for future analysis. A BGP speaker MAY ignore any EoRR
message received without a prior receipt of an associated BoRR
message. Such messages MAY be logged for future analysis.
An implementation MAY impose a locally configurable upper bound on
how long it would retain any stale routes. Once the upper bound is
reached, the implementation MAY remove any routes from the peer that
are still marked as stale for that <AFI, SAFI> without waiting for an
EoRR message.
The following procedures are specified in order to simplify the
interaction with the BGP Graceful Restart [<a href="./rfc4724" title=""Graceful Restart Mechanism for BGP"">RFC4724</a>]. In particular,
these procedures ensure that End-of-RIB (EoR) defined in Graceful
Restart and EoRR as defined in this specification are kept separate,
thereby avoiding any premature cleanup of stale routes. For a BGP
speaker that supports the BGP Graceful Restart, it MUST NOT send a
BoRR for an <AFI, SAFI> to a neighbor before it sends the EoR for the
<AFI, SAFI> to the neighbor. A BGP speaker that has received the
Graceful Restart Capability from its neighbor MUST ignore any BoRRs
for an <AFI, SAFI> from the neighbor before the speaker receives the
EoR for the given <AFI, SAFI> from the neighbor. The BGP speaker
SHOULD log an error of the condition for further analysis.
<span class="grey">Patel, et al. Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc7313">RFC 7313</a> Enhanced Route Refresh Capability for BGP-4 July 2014</span>
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Error Handling</span>
This document defines a new NOTIFICATION error code:
Error Code Name
7 ROUTE-REFRESH Message Error
The following error subcode is defined as well:
Subcode Name
1 Invalid Message Length
The error handling specified in this section is applicable only when
a BGP speaker has received the "Enhanced Route Refresh Capability"
from a peer.
If the length, excluding the fixed-size message header, of the
received ROUTE-REFRESH message with Message Subtype 1 and 2 is not 4,
then the BGP speaker MUST send a NOTIFICATION message with the Error
Code of "ROUTE-REFRESH Message Error" and the subcode of "Invalid
Message Length". The Data field of the NOTIFICATION message MUST
contain the complete ROUTE-REFRESH message.
When the BGP speaker receives a ROUTE-REFRESH message with a "Message
Subtype" field other than 0, 1, or 2, it MUST ignore the received
ROUTE-REFRESH message. It SHOULD log an error for further analysis.
<span class="grey">Patel, et al. Standards Track [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc7313">RFC 7313</a> Enhanced Route Refresh Capability for BGP-4 July 2014</span>
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. IANA Considerations</span>
This document defines the Enhanced Route Refresh Capability for BGP.
In the "Capability Codes" registry, IANA has assigned it value 70,
referencing this document.
This document also defines two new subcodes for the Route Refresh
message. They have been registered with the IANA in a new registry
as follows:
Under "Border Gateway Protocol (BGP) Parameters":
Registry: "BGP Route Refresh Subcodes"
Reference: [<a href="./rfc7313">RFC7313</a>]
Registration Procedure(s): Values 0-127 Standards Action,
values 128-254 First Come First Served
Value Code Reference
0 Route-Refresh [<a href="./rfc2918" title=""Route Refresh Capability for BGP-4"">RFC2918</a>], [<a href="./rfc5291" title=""Outbound Route Filtering Capability for BGP-4"">RFC5291</a>]
1 BoRR [<a href="./rfc7313">RFC7313</a>]
2 EoRR [<a href="./rfc7313">RFC7313</a>]
3-254 Unassigned
255 Reserved [<a href="./rfc7313">RFC7313</a>]
In addition, this document defines a NOTIFICATION error code and an
error subcode related to the ROUTE-REFRESH message. IANA has changed
the name of the "BGP Error Codes" to "BGP Error (Notification) Codes"
and added this document as a reference. IANA has allocated a new
error code from that registry with the name "ROUTE-REFRESH Message
Error", referencing this document.
IANA has created a new registry for the error subcodes as follows:
Under "Border Gateway Protocol (BGP) Parameters",
under "BGP Error Subcodes":
Registry: "BGP ROUTE-REFRESH Message Error subcodes"
Reference: [<a href="./rfc7313">RFC7313</a>]
Registration Procedure(s): Values 0-127 Standards Action,
values 128-255 First Come First Served
Value Name Reference
0 Reserved [<a href="./rfc7313">RFC7313</a>]
1 Invalid Message Length [<a href="./rfc7313">RFC7313</a>]
2-255 Unassigned
<span class="grey">Patel, et al. Standards Track [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc7313">RFC 7313</a> Enhanced Route Refresh Capability for BGP-4 July 2014</span>
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. Security Considerations</span>
Security considerations are given in [<a href="./rfc4272" title=""BGP Security Vulnerabilities Analysis"">RFC4272</a>] , but they do not
cover Route-Refresh and many other BGP extensions. This document
does not significantly change the underlying security issues
regarding Route-Refresh, although improved error handling may aid
operational security.
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. Acknowledgements</span>
The authors would like to thank Pedro Marques, Pradosh Mohapatra,
Robert Raszuk, Pranav Mehta, Shyam Sethuram, Bruno Decraene, Martin
Djernaes, Jeff Haas, Ilya Varlashkin, Rob Shakir, Paul Jakma, Jie
Dong, Qing Zeng, Albert Tian, Jakob Heitz, and Chris Hall for their
review and comments. The authors would like to thank John Scudder
for the review and contribution to this document.
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. Normative References</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
[<a id="ref-RFC2918">RFC2918</a>] Chen, E., "Route Refresh Capability for BGP-4", <a href="./rfc2918">RFC 2918</a>,
September 2000.
[<a id="ref-RFC4271">RFC4271</a>] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", <a href="./rfc4271">RFC 4271</a>, January 2006.
[<a id="ref-RFC4272">RFC4272</a>] Murphy, S., "BGP Security Vulnerabilities Analysis", <a href="./rfc4272">RFC</a>
<a href="./rfc4272">4272</a>, January 2006.
[<a id="ref-RFC4724">RFC4724</a>] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y.
Rekhter, "Graceful Restart Mechanism for BGP", <a href="./rfc4724">RFC 4724</a>,
January 2007.
[<a id="ref-RFC5291">RFC5291</a>] Chen, E. and Y. Rekhter, "Outbound Route Filtering
Capability for BGP-4", <a href="./rfc5291">RFC 5291</a>, August 2008.
[<a id="ref-RFC5492">RFC5492</a>] Scudder, J. and R. Chandra, "Capabilities Advertisement
with BGP-4", <a href="./rfc5492">RFC 5492</a>, February 2009.
<span class="grey">Patel, et al. Standards Track [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc7313">RFC 7313</a> Enhanced Route Refresh Capability for BGP-4 July 2014</span>
Authors' Addresses
Keyur Patel
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95134
USA
EMail: keyupate@cisco.com
Enke Chen
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95134
USA
EMail: enkechen@cisco.com
Balaji Venkatachalapathy
EMail: balaji_pv@hotmail.com
Patel, et al. Standards Track [Page 8]
</pre>
|