summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7964.txt
blob: 49e6464b67b03d3675b1d385f39160b54e11cff1 (plain) (blame)
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
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
Internet Engineering Task Force (IETF)                         D. Walton
Request for Comments: 7964                              Cumulus Networks
Category: Standards Track                                      A. Retana
ISSN: 2070-1721                                                  E. Chen
                                                     Cisco Systems, Inc.
                                                              J. Scudder
                                                        Juniper Networks
                                                          September 2016


             Solutions for BGP Persistent Route Oscillation

Abstract

   Routing information reduction by BGP Route Reflection or
   Confederation can result in persistent internal BGP route
   oscillations with certain routing setups and network topologies.
   This document specifies two sets of additional paths that can be used
   to eliminate these route oscillations in a network.

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 Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7964.

Copyright Notice

   Copyright (c) 2016 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) 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.



Walton, et al.               Standards Track                    [Page 1]
^L
RFC 7964                BGP Oscillation Solutions         September 2016


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   3.  Advertise All the Available Paths . . . . . . . . . . . . . .   3
   4.  Advertise the Group Best Paths  . . . . . . . . . . . . . . .   3
   5.  Route Reflection and Confederation  . . . . . . . . . . . . .   4
     5.1.  Route Reflection  . . . . . . . . . . . . . . . . . . . .   5
     5.2.  Confederation . . . . . . . . . . . . . . . . . . . . . .   5
   6.  Deployment Considerations . . . . . . . . . . . . . . . . . .   6
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Appendix A.  Why the Group Best Paths Are Adequate  . . . . . . .   8
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   As documented in [RFC3345], routing information reduction by BGP
   Route Reflection [RFC4456] or BGP Confederation [RFC5065] can result
   in persistent Internal BGP (IBGP) route oscillations with certain
   routing setups and network topologies.  Except for a couple of
   artificially engineered network topologies, the MULTI_EXIT_DISC (MED)
   attribute [RFC4271] has played a pivotal role in virtually all known
   persistent IBGP route oscillations.  For the sake of brevity, we use
   the term "MED-induced route oscillation" hereafter to refer to a
   persistent IBGP route oscillation in which the MED plays a role.

   In order to eliminate MED-induced route oscillations and to achieve
   consistent routing in a network, a route reflector or a confederation
   Autonomous System Border Router (ASBR) needs to advertise more than
   just the best path for an address prefix.  Our goal is to identify
   the necessary set of paths for an address prefix that needs to be
   advertised by a route reflector or a confederation ASBR to prevent
   the condition.

   In this document, we describe two sets of paths for an address prefix
   that can be advertised by a BGP route reflector or confederation ASBR
   to eliminate MED-induced route oscillations in a network.  The first
   set involves all the available paths, and would achieve the same
   routing consistency as the full IBGP mesh.  The second set, which is
   a subset of the first one, involves the neighbor-AS-based Group Best
   Paths, and would be sufficient to eliminate MED-induced route
   oscillations (subject to certain commonly adopted topological
   constraints).




Walton, et al.               Standards Track                    [Page 2]
^L
RFC 7964                BGP Oscillation Solutions         September 2016


   These paths can be advertised using the mechanism described in
   ADD-PATH [RFC7911] for advertising multiple paths.  No other
   assumptions in functionality beyond the base BGP specification
   [RFC4271] are made.

2.  Requirements Language

   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 [RFC2119].

3.  Advertise All the Available Paths

   Observe that in a network that maintains a full IBGP mesh, all the
   BGP speakers have consistent and equivalent routing information.
   Such a network is thus free of MED-induced route oscillations and
   other routing inconsistencies such as forwarding loops.

   Therefore, one approach is to allow a route reflector or a
   confederation ASBR to advertise all the available paths for an
   address prefix.  Clearly this approach would yield the same amount of
   routing information and achieve the same routing consistency as the
   full IBGP mesh in a network.  In this document, "Available Paths"
   refers to the advertisement of all the available paths.

   This approach can be implemented using the mechanism described in
   ADD-PATH [RFC7911] for advertising multiple paths for certain
   prefixes.

   For the sake of scalability, the advertisement of multiple paths
   should be limited to those prefixes that are affected by MED-induced
   route oscillation in a network carrying a large number of alternate
   paths.  A detailed description of how these oscillations can occur
   can be found in [RFC3345]; the description of how a node would
   locally detect such conditions is outside the scope of this document.

4.  Advertise the Group Best Paths

   The term "neighbor-AS" for a route refers to the neighboring
   autonomous system (AS) from which the route was received.  The
   calculation of the neighbor-AS is specified in Section 9.1.2.2 of
   [RFC4271], and Section 5.3 of [RFC5065].  By definition, the MED is
   comparable only among routes with the same neighbor-AS.  Thus, the
   route selection procedures specified in [RFC4271] would conceptually
   involve two steps: first, organize the paths for an address prefix
   into groups according to their respective neighbor-ASes, and





Walton, et al.               Standards Track                    [Page 3]
^L
RFC 7964                BGP Oscillation Solutions         September 2016


   calculate the most preferred one (termed "Group Best Path") for each
   of the groups; then, calculate the overall best path among all the
   Group Best Paths.

   As a practice that is generally recommended (in [RFC4456] and
   [RFC5065]) and widely adopted, a route reflection cluster or a
   confederation sub-AS should be designed such that BGP routes from
   within the cluster (or confederation sub-AS) are preferred over
   routes from other clusters (or confederation sub-AS) when the
   decision is based on the IGP cost to the BGP NEXT_HOP.  This is
   typically done by setting IGP metrics for links within a cluster (or
   confederation sub-AS) to be much smaller than the IGP metrics for the
   links between the clusters (or confederation sub-AS).  This practice
   helps achieve consistent routing within a route reflection cluster or
   a confederation sub-AS.

   When the aforementioned practice for devising a route reflection
   cluster or confederation sub-AS is followed in a network, we claim
   that the advertisement of all the Group Best Paths by a route
   reflector or a confederation ASBR is sufficient to eliminate
   MED-induced route oscillations in the network.  This claim is
   validated in Appendix A.

   Note that a Group Best Path for an address prefix can be identified
   by the combination of the address prefix and the neighbor-AS.  Thus,
   this approach can be implemented using the mechanism described in
   ADD-PATH [RFC7911] for advertising multiple paths, and in this case,
   the neighbor-AS of a path may be used as the path identifier of the
   path.

   It should be noted that the approach of advertising the Group Best
   Paths requires certain topological constraints to be satisfied in
   order to eliminate MED-induced route oscillation.  Specific
   topological considerations are described in [RFC3345].

5.  Route Reflection and Confederation

   To allow a route reflector or a confederation ASBR to advertise
   either the Available Paths or Group Best Paths using the mechanism
   described in ADD-PATH [RFC7911], the following revisions are proposed
   for BGP Route Reflection and BGP Confederation.










Walton, et al.               Standards Track                    [Page 4]
^L
RFC 7964                BGP Oscillation Solutions         September 2016


5.1.  Route Reflection

   For a particular <Address Family Identifier (AFI), Subsequent Address
   Family (SAFI)>, a route reflector MUST include the <AFI, SAFI> with
   the "Send/Receive" field set to 2 (send multiple paths) or
   3 (send/receive multiple paths) in the ADD-PATH Capability [RFC7911]
   advertised to an IBGP peer.  When the ADD-PATH Capability is also
   received from the IBGP peer with the "Send/Receive" field set to 1
   (receive multiple paths) or 3 (send/receive multiple paths) for the
   same <AFI, SAFI>, then the following procedures apply:

   If the peer is a route reflection client, the route reflector MUST
   advertise to the peer the Group Best Paths (or the Available Paths)
   received from its non-client IBGP peers.  The route reflector MAY
   also advertise to the peer the Group Best Paths (or the Available
   Paths) received from its clients.

   If the peer is a non-client, the route reflector MUST advertise to
   the peer the Group Best Paths (or the Available Paths) received from
   its clients.

5.2.  Confederation

   For a particular <AFI, SAFI>, a confederation ASBR MUST include the
   <AFI, SAFI> with the "Send/Receive" field set to 2 (send multiple
   paths) or 3 (send/receive multiple paths) in the ADD-PATH Capability
   [RFC7911] advertised to an IBGP peer, and to a confederation external
   peer.  When the ADD-PATH Capability is also received from the IBGP
   peer or the confederation-external peer with the "Send/Receive" field
   set to 1 (receive multiple paths) or 3 (send/receive multiple paths)
   for the same <AFI, SAFI>, then the following procedures apply:

   If the peer is internal, the confederation ASBR MUST advertise to the
   peer the Group Best Paths (or the Available Paths) received from its
   confederation-external peers.

   If the peer is confederation-external, the confederation ASBR MUST
   advertise to the peer the Group Best Paths (or the Available Paths)
   received from its IBGP peers.












Walton, et al.               Standards Track                    [Page 5]
^L
RFC 7964                BGP Oscillation Solutions         September 2016


6.  Deployment Considerations

   Some route oscillations, once detected, can be eliminated by simple
   configuration workarounds.  As carrying additional paths impacts the
   memory usage and routing convergence in a network, it is recommended
   that the impact be evaluated and the approach of using a
   configuration workaround be considered in deciding whether to deploy
   the proposed mechanism in a network.  In addition, the advertisement
   of multiple paths should be limited to those prefixes that are
   affected by MED-induced route oscillation.

   While the route reflectors or confederation ASBRs in a network need
   to advertise the Group Best Paths or Available Paths, the vast
   majority of the BGP speakers in the network only need to receive the
   Group Best Paths or Available Paths, which would involve only minor
   software changes.

   It should be emphasized that, in order to eliminate MED-induced route
   oscillations in a network using the approach of advertising the Group
   Best Paths, the recommended practice for devising a route reflection
   cluster or confederation sub-AS with respect to the IGP metrics
   ([RFC4456] [RFC5065]) should be followed.

   It is expected that the approach of advertising the Group Best Paths
   would be adequate to achieve consistent routing for the vast majority
   of the networks.  For a network that has a large number of alternate
   paths, the approach should be a good choice as the number of paths
   advertised by a reflector or a confederation ASBR is bounded by the
   number of the neighbor-ASes for a particular address prefix.  The
   additional states for an address prefix would also be per neighbor-AS
   rather than per path.  The number of neighbor-ASes for a particular
   address prefix is typically small because of the limited number of
   upstream providers for a customer and the nature of advertising only
   customer routes at the inter-exchange points.

   The approach of advertising the Group Best Paths, however, may still
   be inadequate for certain networks to avoid other routing
   inconsistencies such as forwarding loops.  The required topological
   constraints could also be operationally challenging.  In these cases
   the approach of advertising the Available Paths may be used, but
   should be limited to those prefixes that are affected by MED-induced
   route oscillation in a network carrying a large number of alternate
   paths.

7.  Security Considerations

   This extension to BGP does not change the underlying security issues
   inherent in the existing BGP [RFC4271].



Walton, et al.               Standards Track                    [Page 6]
^L
RFC 7964                BGP Oscillation Solutions         September 2016


8.  References

8.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>.

   [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>.

   [RFC4456]  Bates, T., Chen, E., and R. Chandra, "BGP Route
              Reflection: An Alternative to Full Mesh Internal BGP
              (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006,
              <http://www.rfc-editor.org/info/rfc4456>.

   [RFC5065]  Traina, P., McPherson, D., and J. Scudder, "Autonomous
              System Confederations for BGP", RFC 5065,
              DOI 10.17487/RFC5065, August 2007,
              <http://www.rfc-editor.org/info/rfc5065>.

   [RFC7911]  Walton, D., Retana, A., Chen, E., and J. Scudder,
              "Advertisement of Multiple Paths in BGP", RFC 7911,
              DOI 10.17487/RFC7911, July 2016,
              <http://www.rfc-editor.org/info/rfc7911>.

8.2.  Informative References

   [RFC3345]  McPherson, D., Gill, V., Walton, D., and A. Retana,
              "Border Gateway Protocol (BGP) Persistent Route
              Oscillation Condition", RFC 3345, DOI 10.17487/RFC3345,
              August 2002, <http://www.rfc-editor.org/info/rfc3345>.
















Walton, et al.               Standards Track                    [Page 7]
^L
RFC 7964                BGP Oscillation Solutions         September 2016


Appendix A.  Why the Group Best Paths Are Adequate

   It is assumed that the following common practice is followed.  A
   route reflection cluster or a confederation sub-AS should be designed
   such that the IGP metrics for links within a cluster (or
   confederation sub-AS) are much smaller than the IGP metrics for the
   links between the clusters (or confederation sub-AS).  This practice
   helps achieve consistent routing within a route reflection cluster or
   a confederation sub-AS.

   Observe that in a network that maintains full IBGP mesh only, the
   paths that survive the (Local_Pref, AS-PATH Length, Origin, and MED)
   comparisons [RFC4271] would contribute to route selection in the
   network.

   Consider a route reflection cluster that sources one or more paths
   that would survive the (Local_Pref, AS-PATH Length, Origin, and MED)
   comparisons among all the paths in the network.  One of these
   surviving paths would be selected as the Group Best Path by the route
   reflector in the cluster.  Due to the constraint on the IGP metrics
   as described previously, this path would remain as the Group Best
   Path and would be advertised to all other clusters even after a path
   is received from another cluster.

   On the other hand, when no path in a route reflection cluster would
   survive the (Local_Pref, AS-PATH Length, Origin, and MED) comparisons
   among all the paths in the network, the Group Best Path (when it
   exists) for a route reflector would be from another cluster.
   Clearly, the advertisement of the Group Best Path by the route
   reflector to the clients only depends on the paths received from
   other clusters.

   Therefore, there is no MED-induced route oscillation in the network
   as the advertisement of a Group Best Path to a peer does not depend
   on the paths received from that peer.

   The claim for the confederation can be validated similarly.














Walton, et al.               Standards Track                    [Page 8]
^L
RFC 7964                BGP Oscillation Solutions         September 2016


Acknowledgements

   We would like to thank David Cook and Naiming Shen for their
   contributions to the design and development of the solutions.

   Many thanks to Tony Przygienda, Sue Hares, Jon Mitchell, and Paul
   Kyzivat for their helpful suggestions.

Authors' Addresses

   Daniel Walton
   Cumulus Networks
   140C S. Whisman Rd.
   Mountain View, CA  94041
   United States of America

   Email: dwalton@cumulusnetworks.com


   Alvaro Retana
   Cisco Systems, Inc.
   7025 Kit Creek Rd.
   Research Triangle Park, NC  27709
   United States of America

   Email: aretana@cisco.com


   Enke Chen
   Cisco Systems, Inc.
   170 W. Tasman Dr.
   San Jose, CA  95134
   United States of America

   Email: enkechen@cisco.com


   John Scudder
   Juniper Networks
   1194 N. Mathilda Ave
   Sunnyvale, CA  94089
   United States of America

   Email: jgs@juniper.net







Walton, et al.               Standards Track                    [Page 9]
^L