summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7789.txt
blob: 721fdee581f16980d24fb667377682c0d9858372 (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
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
Internet Engineering Task Force (IETF)                        C. Cardona
Request for Comments: 7789                           IMDEA Networks/UC3M
Category: Informational                                      P. Francois
ISSN: 2070-1721                                               P. Lucente
                                                           Cisco Systems
                                                              April 2016


        Impact of BGP Filtering on Inter-Domain Routing Policies

Abstract

   This document describes how unexpected traffic flows can emerge
   across an autonomous system as the result of other autonomous systems
   filtering or restricting the propagation of more-specific prefixes.
   We provide a review of the techniques to detect the occurrence of
   this issue and defend against it.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   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).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   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/rfc7789.

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.



Cardona, et al.               Informational                     [Page 1]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Unexpected Traffic Flows  . . . . . . . . . . . . . . . . . .   4
     2.1.  Local Filtering . . . . . . . . . . . . . . . . . . . . .   4
       2.1.1.  Unexpected Traffic Flows Caused by Local Filtering of
               More-Specific Prefixes  . . . . . . . . . . . . . . .   5
     2.2.  Remote Filtering  . . . . . . . . . . . . . . . . . . . .   6
       2.2.1.  Unexpected Traffic Flows Caused by Remotely Triggered
               Filtering of More-Specific Prefixes . . . . . . . . .   7
   3.  Techniques to Detect Unexpected Traffic Flows Caused by
       Filtering of More-Specific Prefixes . . . . . . . . . . . . .   8
     3.1.  Existence of Unexpected Traffic Flows within an AS  . . .   8
     3.2.  Contribution to the Existence of Unexpected Traffic Flows
           in Another AS . . . . . . . . . . . . . . . . . . . . . .   9
   4.  Techniques to Traffic Engineer Unexpected Flows . . . . . . .  10
     4.1.  Reactive Traffic Engineering  . . . . . . . . . . . . . .  11
     4.2.  Proactive Measures  . . . . . . . . . . . . . . . . . . .  12
       4.2.1.  Access Lists  . . . . . . . . . . . . . . . . . . . .  12
       4.2.2.  Neighbor-Specific Forwarding  . . . . . . . . . . . .  13
   5.  Conclusions . . . . . . . . . . . . . . . . . . . . . . . . .  14
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  14
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  14
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  14
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  15
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  16
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  16

1.  Introduction

   It is common practice for network operators to propagate a more-
   specific prefix in the BGP routing system along with the less-
   specific prefix that they originate.  It is also possible for some
   Autonomous Systems (ASes) to apply different policies to the more
   specific and the less-specific prefix.

   Although BGP makes independent, policy-driven decisions for the
   selection of the best path to be used for a given IP prefix, routers
   must forward packets using the longest-prefix-match rule, which
   "precedes" any BGP policy [RFC1812].  The existence of a prefix p
   that is more specific than a prefix p' in the Forwarding Information
   Base (FIB) will let packets whose destination matches p be forwarded
   according to the next hop selected as best for p (the more-specific
   prefix).  This process takes place by disregarding the policies
   applied in the control plane for the selection of the best next hop
   for p'.  When an AS filters more-specific prefixes and forwards
   packets according to the less-specific prefix, the discrepancy among



Cardona, et al.               Informational                     [Page 2]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


   the routing policies applied to the less and the more-specific
   prefixes can create unexpected traffic flows.  These may infringe on
   the policies of other ASes still holding a path towards the more-
   specific prefix.

   The objective of this document is to shed light on possible side
   effects associated with more-specific prefix filtering.  Such actions
   can be explained by traffic engineering action, misconfiguration, or
   malicious intent.  This document presents examples of such side
   effects and discusses approaches towards solutions to the problem.

   The rest of the document is organized as follows: in Section 2 we
   provide some scenarios in which the filtering of more-specific
   prefixes leads to the creation of unexpected traffic flows; Section 3
   and Section 4 discuss some techniques that ASes can use for,
   respectively, detecting and reacting to unexpected traffic flows; and
   the document concludes in Section 5.

1.1.  Terminology

   More-specific prefix:  A prefix in the routing table with an address
      range that is covered by a shorter prefix also present in the
      routing table.

   Less-specific prefix:  A prefix in the routing table with an address
      range partially covered by other prefixes.

   Customer-provider peering:  A peering arrangement in which a transit
      network provides connectivity to a customer in exchange of a fee,
      as derived from RFC 4384 [RFC4384].

   Settlement-free peering:  A peering arrangement in which two networks
      agree on a settlement-free traffic exchange, typically covering
      only their customer traffic, as derived from RFC 4384 [RFC4384].

   Selective advertisement:  The behavior of only advertising a self
      originated BGP path for a prefix over a strict subset of the
      External BGP (eBGP) sessions of the AS.

   Selective propagation:  The behavior of only propagating a BGP path
      for a prefix over a strict subset of the eBGP sessions of an AS.

   Local filtering:  The behavior of explicitly ignoring a BGP path
      received over an eBGP session.







Cardona, et al.               Informational                     [Page 3]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


   Remote filtering:  The behavior of triggering selective propagation
      of a BGP path at a distant AS.  Note that this is typically
      achieved by tagging a self-originated path with BGP communities
      defined by the distant AS.

   Unexpected traffic flow:  Traffic flowing between two neighboring
      ASes of an AS, although the transit policy of that AS is to not
      provide connectivity between these two neighbors.  A traffic flow
      across an AS between two of its transit providers or between a
      transit provider and one of its settlement-free peers are classic
      examples of unexpected traffic flows.

2.  Unexpected Traffic Flows

   In this section, we describe how more-specific prefix filtering can
   lead to unexpected traffic flows in other, remote, ASes.  We
   differentiate cases in which the filtering is performed locally from
   those where the filtering is triggered remotely.

2.1.  Local Filtering

   Different reasons motivate local filtering, for example:

   Traffic engineering:  An ISP can decide to filter more-specific
      prefixes when it wants to control their local outbound traffic
      distribution using only the policy applied to the less-specific
      prefix.  Such a practice was notably documented in a presentation
      by Init7 [INIT7-RIPE63].

   Enforcing contract compliance:  An ISP can decide to filter more-
      specific prefixes to enforce clauses of their peering agreements.
      For instance, a settlement-free peer of an ISP can use selective
      advertisement of more-specific prefixes to attract traffic to one
      link.  If this practice is not allowed by their peering agreement,
      the ISP can filter the more-specific prefixes to prevent it.

   Memory preservation:  An ISP can decide to filter more-specific
      prefixes in order to preserve FIB memory of their routers.

   Figure 1 illustrates a scenario where one AS performs local filtering
   due to outbound traffic engineering.  The figure depicts AS64504 and
   two of its neighboring ASes, AS64502 and AS64505.  AS64504 has a
   settlement-free peering with AS64502 and is a customer of AS64505.
   AS64504 receives from AS64505 prefixes 2001:DB8::/32 and
   2001:DB8::/34.  AS64504 only receives the less-specific prefix
   2001:DB8::/32 from AS64502.





Cardona, et al.               Informational                     [Page 4]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


                 ,-----.
                /       \
               ( AS64505 )
                \       /
                 `--+--'
    2001:DB8::/32 | |
    2001:DB8::/34 v |
                    |
                 ,--+--.  2001:DB8::/32  ,-----.
                /       \           <-- /       \
               ( AS64504 )-------------( AS64502 )
                \       /               \       /
                 `-----'                 `-----'


                         Figure 1: Local Filtering

   Due to economic reasons, AS64504 might prefer to send traffic to
   AS64502 instead of AS64505.  However, even if paths received from
   AS64502 are given a large local preference, routers in AS64504 will
   still send traffic to prefix 2001:DB8::/34 via neighbor AS64505.
   This situation may push AS64504 to apply an inbound filter for the
   more-specific prefix, 2001:DB8::/34, on the session with AS64505.
   After applying the filter, AS64504 will send traffic for the more-
   specific prefix to AS64502.

2.1.1.  Unexpected Traffic Flows Caused by Local Filtering of More-
        Specific Prefixes

   In this section, we show how the decision of AS64504 to perform local
   filtering creates unexpected traffic flows in AS64502.  Figure 2
   shows the whole picture of the scenario where AS64501 is a customer
   of AS64503 and AS64502.  AS64503 is a settlement-free peer with
   AS64502.  AS64503 and AS64502 are customers of AS64505.  The AS
   originating the two prefixes, AS64501, performs selective
   advertisement with the more-specific prefix and only announces it to
   AS64503.

   After AS64504 locally filters the more-specific prefix, traffic from
   AS64504 to prefix 2001:DB8::/34 is forwarded towards AS64502.
   Because AS64502 receives the more-specific prefix from AS64503,
   traffic from AS64504 to 2001:DB8::/34 follows the path
   AS64504-AS64502-AS64503-AS64501.  AS64502's BGP policies are
   implemented to avoid transporting traffic between AS64504 and
   AS64503.  However, due to the discrepancies of routes between the
   more and the less-specific prefixes, unexpected traffic flows between
   AS64504 and AS64503 exist in AS64502's network.




Cardona, et al.               Informational                     [Page 5]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


                          ____,,................______
                _,.---''''                            `''---..._
            ,-''   AS64505                                      `-.
            [                                                      /
             -.._                                             __.-'
              .  `'---....______                ______...---''
            + |/32              `'''''''''''''''         |
            | |/34               + |/32                  |
            v |                  v |/34                  |
              |                    |                   ^ |
              |                  ^ |/32                | |/32
              |                  + |                   + |/34
       _,,---.:_               _,,---.._              _,,---.._
     ,'         `.           ,'         `.          ,'         `.
    /  AS64504    \     <-+ /  AS64502    \        /  AS64503    \
    |             |_________|             |________|             |
    |             |     /32 |             |/32  /32|             |
    '.           ,'          .           ,'     /34 .           ,'
      `.       ,'             `.       ,'  +->  <-+  `.       ,'
        ``---''                 ``---''                ``---''
                                    |                  ^ |
                                  ^ |2001:DB8::/32     | |2001:DB8::/32
                                  | |                  + |2001:DB8::/34
                                  + | _....---------...._|
                                   ,-'AS64501            ``-.
                                 /'                          `.
                                 `.                         _,
                                   `-.._               _,,,'
                                        `''---------'''


         Figure 2: Unexpected Traffic Flows Due to Local Filtering

2.2.  Remote Filtering

   ISPs can tag the BGP paths that they propagate to neighboring ASes
   with communities in order to tweak the propagation behavior of the
   ASes that handle these paths; see a paper from 2008 by Donnet and
   Bonaventure [on_BGP_communities].  Some ISPs allow their customers to
   use such communities to let the receiving AS not export the path to
   some selected neighboring ASes.  By combining communities, the prefix
   could be advertised only to a given peer of the AS providing this
   feature.  A network operator can leverage remote filtering to, for
   instance, limit the scope of prefixes and hence perform more granular
   inbound traffic engineering.






Cardona, et al.               Informational                     [Page 6]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


   Figure 3 illustrates a scenario in which an AS uses BGP communities
   to command its provider to selectively propagate a more-specific
   prefix.  Let AS64501 be a customer of AS64502 and AS64503.  AS64501
   originates prefix 2001:DB8::/32, which it advertises to AS64502 and
   AS64503.  AS64502 and AS64503 are settlement-free peers.  Let AS64501
   do selective advertisement and only propagate 2001:DB8::/34 over
   AS64503.  AS64503 would normally propagate this prefix to its
   customers, providers, and peers, including AS64502.

   Let us consider that AS64501 decides to limit the scope of the more-
   specific prefix.  AS64501 can make this decision based on its traffic
   engineering strategy.  To achieve this, AS64501 can tag the more-
   specific prefix with a set of communities that leads AS64503 to only
   propagate the path to AS64502.

      ^     \         /     ^       ^    \         /    ^
      |  /32 \       / /32  |       | /32 \       / /32 |
               ,-----.                     ,-----.
             ,'       `.                 ,'       `.
            / AS64502   \               / AS64503   \
           (             )-------------(             )
            \           / /32       /32 \           /
             `.       ,'   ->       /34  `.       ,'
               '-----;              <-  /  '-----'
                      \                /
                    ^  \              /    ^
                    |   \            /     |
                    |    \          /      |
                    |     \ ,-----.'       |  2001:DB8::/32
                    |     ,'       `.      |  2001:DB8::/34
      2001:DB8::/32 +--  / AS64501   \   --+
                        (             )
                         \           /
                          `.       ,'
                            '-----'

                   Figure 3: Remote-Triggered Filtering

2.2.1.  Unexpected Traffic Flows Caused by Remotely Triggered Filtering
        of More-Specific Prefixes

   Figure 4 expands the scenario from Figure 3 and includes other ASes
   peering with AS64502 and AS64503.  Due to the limitation on the scope
   performed on the more-specific prefix, ASes that are not customers of
   AS64502 will not receive a path for 2001:DB8::/34.  These ASes will
   forward packets destined to 2001:DB8::/34 according to their routing
   state for 2001:DB8::/32.  Let us assume that AS64505 is such an AS
   and that its best path towards 2001:DB8::/32 is through AS64502.



Cardona, et al.               Informational                     [Page 7]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


   Packets sent towards 2001:DB8::1 by AS64505 will reach AS64502.
   However, in the data plane of the nodes of AS64502, the longest
   prefix match for 2001:DB8::1 is 2001:DB8::/34, which is reached
   through AS64503, a settlement-free peer of AS64502.  Since AS64505 is
   not in the customer branch of AS64502, traffic flows between two
   noncustomer ASes in AS64502.

                          ,-----.
                        ,'       `.
                       / AS64505   \
                      (             )
                       \           /
                       ,`.       ,' \
                      /   '-----'    \
                     /   ^       ^    \
                    /32  |       | /32 '
            ,-----.'     +       +      ,-----.
          ,'       `.                 ,'       `.
         / AS64502   \               / AS64503   \
        (             )-------------(             )
         \           / /32       /32 \           /
          `.       ,'  +->       /34  `.       ,'
            '-----;              <-+ /  '-----'
                   \                /
                 ^  \              /    ^
                 |   \            /     |
                 |    \          /      |
                 |     \ ,-----.'       |  2001:DB8::/32
                 |     ,'       `.      |  2001:DB8::/34
   2001:DB8::/32 +--+ / AS64501   \  +--+
                     (             )
                      \           /
                       `.       ,'
                         '-----'

   Figure 4: Unexpected Traffic Flows Due to Remote-Triggered Filtering

3.  Techniques to Detect Unexpected Traffic Flows Caused by Filtering of
    More-Specific Prefixes

3.1.  Existence of Unexpected Traffic Flows within an AS

   To detect if unexpected traffic flows are taking place in its
   network, an ISP can monitor its traffic data to check if it is
   providing transit between two of its peers, although its policy is
   configured to not provide such transit.  IPFIX [RFC7011] is an
   example of a technology that can be used to export information
   regarding traffic flows across the network.  Traffic information must



Cardona, et al.               Informational                     [Page 8]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


   be analyzed under the perspective of the business relationships with
   neighboring ASes to detect the flows not fitting the policy.
   Operators can use collection systems that combine traffic statistics
   with policy information for this end.  See the pmacct project
   [PMACCT] for an open-source application meeting these requirements.

   Note that the AS detecting the unexpected traffic flow may simply
   realize that its policy configuration is broken.  The first
   recommended action upon detection of an unexpected traffic flow is to
   verify the correctness of the BGP configuration.

   Once the local configuration is confirmed correct, the operator
   should check if the unexpected flow arose due to filtering of BGP
   paths for more-specific prefixes by neighboring ASes.  This can be
   performed in two steps.  First, the operator should check whether the
   neighboring AS originating the unexpected flow is forwarding traffic
   using a less-specific prefix that is announced to it by the affected
   network.  The second step is to try to infer the reason why the
   neighboring AS does not use the more-specific path for forwarding,
   i.e., finding why the more-specific prefix was filtered.  Due to the
   distributed nature and restricted visibility of the steering of BGP
   policies, this second step does not identify the origin of the
   problem with guaranteed accuracy.

   For the first step, the operator should check if the destination
   address of the unexpected traffic flow is locally routed as per a
   more-specific prefix only received from noncustomer peers.  The
   operator should also check if there are paths to a less-specific
   prefix received from a customer and hence propagated to peers.  If
   these two situations happen at the same time, the neighboring AS at
   the entry point of the unexpected flow is routing the traffic based
   on the less-specific prefix, although the ISP is actually forwarding
   the traffic via noncustomer links.

   For the second step, one can rely on human interaction or looking
   glasses to find out whether local filtering, remote filtering, or
   selective propagation was performed on the more-specific prefix.  No
   openly available tools that can automatically perform this operation
   have been identified.

3.2.  Contribution to the Existence of Unexpected Traffic Flows in
      Another AS

   It can be considered problematic to trigger unexpected traffic flows
   in another AS.  It is thus advisable for an AS to assess the risks of
   filtering more-specific prefixes before implementing them by
   obtaining as much information as possible about its surrounding
   routing environment.



Cardona, et al.               Informational                     [Page 9]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


   There may be justifiable reasons for one ISP to perform filtering:
   either to enforce established policies or to provide prefix-
   advertisement scoping features to its customers.  These can vary from
   troubleshooting purposes to business-relationship implementations.
   Restricting the use of these features for the sake of avoiding the
   creation of unexpected traffic flows is not a practical option.

   In order to assess the risk of filtering more-specific prefixes, the
   AS would need information on the routing policies and the
   relationships among external ASes to detect if its actions could
   trigger the appearance of unexpected traffic flows.  With this
   information, the operator could detect other ASes receiving the more-
   specific prefix from noncustomer ASes while announcing the less-
   specific prefix to other noncustomer ASes.  If the filtering of the
   more-specific prefix leads other ASes to send traffic for the more-
   specific prefix to these ASes, an unexpected traffic flow can arise.
   However, the information required for this operation is difficult to
   obtain since it is frequently considered confidential.

4.  Techniques to Traffic Engineer Unexpected Flows

   Network operators can adopt different approaches with respect to
   unexpected traffic flows.  Note that due to the complexity of inter-
   domain routing policies, there is not a single solution that can be
   applied to all situations.  This section provides potential solutions
   that ISPs must evaluate against each particular case.  We classify
   these actions according to whether they are proactive or reactive.

   Reactive approaches are those in which the operator tries to detect
   the situations via monitoring and solve unexpected traffic flows
   manually on a case-by-case basis.

   Anticipant or preventive approaches are those in which the routing
   system will not let the unexpected traffic flows actually take place
   when the scenario arises.

   We use the scenario depicted in Figure 5 to describe these two kinds
   of approaches.  Since proactive approaches can be complex to
   implement and can lead to undesired effects, the reactive approach is
   the more reasonable recommendation to deal with unexpected flows.











Cardona, et al.               Informational                    [Page 10]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


                         ____,,................______
               _,.---''''                            `''---..._
           ,-''   AS64505                                      `-.
           [                                                      /
            -.._                                             __.-'
             .  `'---....______                ______...---''
           + |/32              `'''''''''''''''         |
           | |/34               + |/32                  |
           v |                  v |/34                  |
             |                    |                   ^ |
             |                  ^ |/32                | |/32
             |                  + |                   + |/34
      _,,---.:_               _,,---.._              _,,---.._
    ,'         `.           ,'         `.          ,'         `.
   /  AS64504    \     <-+ /  AS64502    \        /  AS64503    \
   |             |_________|             |        |             |
   |             |     /32 |             |        |             |
   '.           ,'          .           ,'         .           ,'
     `.       ,'             `.       ,'            `.       ,'
       ``---''                 ``---''                ``---''
                                   |                  ^ |
                                 ^ |2001:DB8::/32     | |2001:DB8::/32
                                 | |                  + |2001:DB8::/34
                                 + | _....---------...._|
                                  ,-'AS64501            ``-.
                                /'                          `.
                                `.                         _,
                                  `-.._               _,,,'
                                       `''---------'''

        Figure 5: Traffic Engineering of Unexpected Traffic Flows -
                               Base Example

4.1.  Reactive Traffic Engineering

   An operator who detects unexpected traffic flows originated by any of
   the cases described in Section 2 can contact the ASes that are likely
   to have performed the propagation tweaks, inform them of the
   situation, and persuade them to change their behavior.

   If the situation remains, the operator can implement prefix filtering
   in order to stop the unexpected flows.  The operator can decide to
   perform this action over the session with the operator announcing the
   more-specific prefix or over the session with the neighboring AS from
   which it is receiving the traffic.  Each of these options carry a
   different repercussion for the affected AS.  We briefly describe the
   two alternatives.




Cardona, et al.               Informational                    [Page 11]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


   o  An operator can decide to stop announcing the less-specific prefix
      at the peering session with the neighboring AS from which it is
      receiving traffic to the more-specific prefix.  In the example of
      Figure 5, AS64502 would filter out the prefix 2001:DB8::/32 from
      the eBGP session with AS64504.  In this case, traffic heading to
      the prefix 2001:DB8::/32 from AS64501 would no longer traverse
      AS64502.  AS64502 should evaluate if solving the issues originated
      by the unexpected traffic flows are worth the loss of this traffic
      share.

   o  An operator can decide to filter out the more-specific prefix at
      the peering session over which it was received.  In the example of
      Figure 5, AS64502 would filter out the incoming prefix
      2001:DB8::/34 from the eBGP session with AS64505.  As a result,
      the traffic destined to that /32 would be forwarded by AS64502
      along its link with AS64501, despite the actions performed by
      AS64501 to have this traffic coming in through its link with
      AS64503.  However, as AS64502 will no longer know a route to the
      more-specific prefix, it risks losing the traffic share from
      customers different from AS64501 to that prefix.  Furthermore,
      this action can generate conflicts between AS64502 and AS64501,
      since AS64502 does not follow the routing information expressed by
      AS64501 in its BGP announcements.

   Note that it is possible that the behavior of the neighboring AS
   causing the unexpected traffic flows violates a contractual agreement
   between the two networks.

4.2.  Proactive Measures

4.2.1.  Access Lists

   An operator could install access lists to prevent unexpected traffic
   flows from happening in the first place.  In the example of Figure 5,
   AS64502 would install an access list denying packets matching
   2001:DB8::/34 associated with the interface connecting to AS64504.
   As a result, traffic destined to that prefix would be dropped despite
   the existence of a valid route towards 2001:DB8::/32.

   The operational overhead of such a solution is considered high, as
   the operator would have to constantly adapt these access lists to
   accommodate inter-domain routing changes.  Moreover, this technique
   lets packets destined to a valid prefix be dropped while they are
   sent from a neighboring AS that may not know about the policy
   conflict and hence had no means to avoid the creation of unexpected
   traffic flows.  For this reason, this technique can be considered
   harmful.




Cardona, et al.               Informational                    [Page 12]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


4.2.2.  Neighbor-Specific Forwarding

   An operator can technically ensure that traffic destined to a given
   prefix will be forwarded from an entry point of the network based
   only on the set of paths that have been advertised over that entry
   point.

   As an example, let us analyze the scenario of Figure 5 from the point
   of view of AS64502.  The edge router connecting to the AS64504
   forwards packets destined to prefix 2001:DB8::/34 towards AS64505.
   Likewise, it forwards packets destined to prefix 2001:DB8::/32
   towards AS64501.  The router, however, only propagates the path of
   the less-specific prefix (2001:DB8::/32) to AS64504.  An operator
   could implement the necessary techniques to force the edge router to
   forward packets coming from AS64504 based only on the paths
   propagated to AS64504.  Thus, the edge router would forward packets
   destined to 2001:DB8::/34 towards AS64501, in which case no
   unexpected traffic flow would occur.

   Different techniques could provide this functionality; however, their
   technical implementation can be complex to design and operate.  An
   operator could, for instance, employ VPN Routing and Forwarding (VRF)
   tables [RFC4364] to store the routes announced to a neighbor and
   forward traffic exclusively based on those routes.  A presentation
   from 2009 [on_BGP_RS_VPNs] describes the use of such an architecture
   for Internet routing and provides a description of its limitations.

   In such architecture, packets received from a peer would be forwarded
   solely based on the paths that fit the path propagation policy for
   that peer and not based on the global routing table of the router.
   As a result, a more-specific path that would not be propagated to a
   peer will not be used to forward a packet from that peer, and the
   unexpected flow will not take place.  Packets will be forwarded based
   on the policy-compliant, less-specific prefix.  However, note that an
   operator must make sure that all their routers could support the
   potential performance impact of this approach.

   Note that similar to the solution described in Section 4.1, this
   approach could create conflicts between AS64502 and AS64501, since
   the traffic forwarding performed by AS64502 goes against the policy
   of AS64501.










Cardona, et al.               Informational                    [Page 13]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


5.  Conclusions

   This document describes how filtering and selective propagation of
   more-specific prefixes can potentially create unexpected traffic
   flows across some ASes.  We provided examples of scenarios where
   these practices lead to unexpected traffic flows and introduce some
   techniques for their detection and prevention.  Although there are
   reasonable situations in which ASes could filter more-specific
   prefixes, network operators are encouraged to implement this type of
   filter considering the cases described in this document.  Operators
   can implement monitoring systems to detect unexpected traffic flows
   and react to them according to their own policy.

6.  Security Considerations

   It is possible for an AS to use any of the methods described in this
   document to deliberately reroute traffic flowing through another AS.
   This document described the potential routing security issue and
   analyzed ways for operators to defend against it.

   It must be noted that, at the time of this document, there are no
   existing or proposed tools to automatically protect against such
   behavior.  Operators can use network monitoring and collection tools
   to detect unexpected flows and deal with them on a case-by-case
   basis.

7.  References

7.1.  Normative References

   [RFC1812]  Baker, F., Ed., "Requirements for IP Version 4 Routers",
              RFC 1812, DOI 10.17487/RFC1812, June 1995,
              <http://www.rfc-editor.org/info/rfc1812>.

   [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
              Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
              2006, <http://www.rfc-editor.org/info/rfc4364>.

   [RFC4384]  Meyer, D., "BGP Communities for Data Collection", BCP 114,
              RFC 4384, DOI 10.17487/RFC4384, February 2006,
              <http://www.rfc-editor.org/info/rfc4384>.

   [RFC7011]  Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
              "Specification of the IP Flow Information Export (IPFIX)
              Protocol for the Exchange of Flow Information", STD 77,
              RFC 7011, DOI 10.17487/RFC7011, September 2013,
              <http://www.rfc-editor.org/info/rfc7011>.




Cardona, et al.               Informational                    [Page 14]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


7.2.  Informative References

   [INIT7-RIPE63]
              Kunzler, F., "How More Specifics increase your transit
              bill (and ways to avoid it)", Reseaux IP Europeens
              (RIPE) 63rd Meeting, October 2011,
              <http://ripe63.ripe.net/presentations/48-How-more-
              specifics-increase-your-transit-bill-v0.2.pdf>.

   [on_BGP_communities]
              Donnet, B. and O. Bonaventure, "On BGP Communities", ACM
              SIGCOMM Computer Communication Review, Volume 38, Number
              2, pp. 55-59, DOI 10.1145/1355734.1355743, April 2008,
              <http://www.sigcomm.org/sites/default/files/ccr/
              papers/2008/April/1355734-1355743.pdf>.

   [on_BGP_RS_VPNs]
              Vanbever, L., Francois, P., Bonaventure, O., and J.
              Rexford, "Customized BGP Route Selection Using BGP/MPLS
              VPNs", Cisco Systems, Routing Symposium, October 2009,
              <http://inl.info.ucl.ac.be/system/files/
              Cisco_NAG_2009_ns_bgp.pdf>.

   [PMACCT]   "pmacct project: IP accounting iconoclasm",
              <http://www.pmacct.net>.


























Cardona, et al.               Informational                    [Page 15]
^L
RFC 7789                 Impact of BGP Filtering              April 2016


Acknowledgements

   The authors would like to thank Wes George, Jon Mitchell, Bruno
   Decraene, and Job Snijders for their useful suggestions and comments.

Authors' Addresses

   Camilo Cardona
   IMDEA Networks/UC3M
   Avenida del Mar Mediterraneo, 22
   Leganes  28919
   Spain

   Email: juancamilo.cardona@imdea.org


   Pierre Francois
   Cisco Systems
   170 W. Tasman Drive
   San Jose, CA  95134
   United States

   Email: pifranco@cisco.com


   Paolo Lucente
   Cisco Systems
   170 W. Tasman Drive
   San Jose, CA  95134
   United States

   Email: plucente@cisco.com



















Cardona, et al.               Informational                    [Page 16]
^L