idnits 2.17.1 draft-ietf-grow-filtering-threats-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. == There are 50 instances of lines with private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (August 24, 2013) is 3891 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-04) exists of draft-white-grow-overlapping-routes-00 Summary: 3 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Camilo Cardona 3 Internet-Draft IMDEA Networks/UC3M 4 Intended status: Informational Pierre Francois 5 Expires: February 25, 2014 IMDEA Networks 6 August 24, 2013 8 Making BGP filtering a habit: Impact on policies 9 draft-ietf-grow-filtering-threats-00 11 Abstract 13 Network operators define their BGP policies based on the business 14 relationships that they maintain with their peers. By limiting the 15 propagation of BGP prefixes, an autonomous system avoids the 16 existence of flows between BGP peers that do not provide any 17 economical gain. This draft describes how undesired flows can emerge 18 in autonomous systems due to the filtering of overlapping BGP 19 prefixes by neighboring domains. 21 Status of this Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at http://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on February 25, 2014. 38 Copyright Notice 40 Copyright (c) 2013 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (http://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 2. Filtering overlapping prefixes . . . . . . . . . . . . . . . . 3 57 2.1. Local filtering . . . . . . . . . . . . . . . . . . . . . 4 58 2.2. Remotely triggered filtering . . . . . . . . . . . . . . . 5 59 3. Uses of overlapping prefix filtering that create undesired 60 traffic flows . . . . . . . . . . . . . . . . . . . . . . . . 6 61 3.1. Undesired Traffic Flows . . . . . . . . . . . . . . . . . 7 62 3.1.1. Undesired traffic flows caused by local filtering 63 of overlapping prefixes . . . . . . . . . . . . . . . 8 64 3.1.2. Undesired traffic flows caused by remotely 65 triggered filtering of overlapping prefixes . . . . . 11 66 4. Techniques to detect undesired traffic flows caused by 67 filtering of overlapping prefixes . . . . . . . . . . . . . . 14 68 4.1. Being the 'victim' . . . . . . . . . . . . . . . . . . . . 15 69 4.2. Being a contributor to the existence of undesired 70 traffic flows in other networks . . . . . . . . . . . . . 15 71 5. Techniques to counter undesired traffic flows due to the 72 filtering of overlapping prefixes . . . . . . . . . . . . . . 16 73 5.1. Reactive counter-measures . . . . . . . . . . . . . . . . 17 74 5.2. Anticipant counter-measures . . . . . . . . . . . . . . . 18 75 5.2.1. Access lists . . . . . . . . . . . . . . . . . . . . . 18 76 5.2.2. Automatic filtering . . . . . . . . . . . . . . . . . 18 77 5.2.3. Neighbor-specific forwarding . . . . . . . . . . . . . 18 78 6. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 19 79 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 19 80 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 82 1. Introduction 84 It is common practice for network operators to propagate overlapping 85 prefixes along with the prefixes that they originate. It is also 86 possible for some Autonomous Systems (ASes) to apply different 87 policies to the overlapping (more specific) and the covering (less 88 specific) prefix. Some ASes can even benefit from filtering the 89 overlapping prefixes. 91 BGP makes independent, policy driven decisions for the selection of 92 the best path to be used for a given IP prefix. However, routers 93 must forward packets using the longest-prefix-match rule, which 94 "precedes" any BGP policy (RFC1812 [4]). Indeed, the existence of a 95 prefix p that is more specific than a prefix p' in the Forwarding 96 Information Base (FIB) will let packets whose destination matches p 97 be forwarded according to the next hop selected as best for p (the 98 overlapping prefix). This process takes place by disregarding the 99 policies applied in the control plane for the selection of the best 100 next-hop for p' (the covering prefix). When overlapping prefixes are 101 filtered and packets are forwarded according to the covering prefix, 102 the discrepancy in the routing policies applied to covering and 103 overlapping prefixes can create undesired traffic flows that infringe 104 the policies of Internet Service Providing (ISPs) still holding a 105 path towards the overlapping prefix. 107 This document presents examples of such cases and discusses solutions 108 to the problem. The objective of this draft is to shed light on the 109 use of prefix filtering by making the routing community aware of the 110 cases where the effects of filtering might turn to be negative for 111 the business of ISPs. 113 The rest of the document is organized as follows: Section 2 114 illustrates the motivation to filter overlapping prefixes. In 115 Section 3, we provide some scenarios in which the filtering of 116 overlapping prefixes lead to the creation of undesired traffic flows 117 on other ASes. Section 4 and Section 5 discuss some techniques that 118 ASes can use for, respectively, detect and react to undesired traffic 119 flows. 121 2. Filtering overlapping prefixes 123 There are several scenarios where filtering an overlapping prefix is 124 relevant to the operations of an AS. In this section, we provide 125 examples of these scenarios. We differentiate cases in which the 126 filtering is performed locally from those where the filtering is 127 triggered remotely. These scenarios will be used as a base in 128 Section 3 for describing side effects bound with such practices. 130 2.1. Local filtering 132 Let us first analyze the scenario depicted in Figure 1. AS1 and AS2 133 are two autonomous systems spanning a large geographical area and 134 peering in 3 different physical locations. Let AS1 announce prefix 135 10.0.0.0/22 over all peering links with AS1. Additionally, let us 136 define that there is part of AS1's network which exclusively uses 137 prefix 10.0.0.0/24 and which is closer to a peering point than to 138 others. 140 To receive the traffic destined to prefix 10.0.0.0/24 on the link 141 closer to this subnet, AS1 could announce the overlapping prefix only 142 over this specific session. At the time of the establishment of the 143 peering, it can be defined by both ASes that hot potato routing would 144 happen in both directions of traffic. In other words, it was agreed 145 that each AS will deliver the traffic to the other AS on the nearest 146 peering link. In this scenario, it becomes relevant to AS2 to 147 enforce such practice by detecting the described situations and 148 automatically issuing the appropriate filtering. In this case, by 149 implementing these automatic procedures, AS2 would legitimately 150 detect and filter prefix 10.0.0.0/24. 152 ___....-----------....___ 153 ,.--' AS2 `--.. 154 ,' `. 155 | | 156 `._ _.' 157 `--..__ _,,.--' 158 . `'''-----------'''' | 159 | | | 160 | | | 161 10.0.0.0/22| 10.0.0.0/22| |10.0.0.0/22 162 | ___....-----------....___ |10.0.0.0/24 163 ,.--'AS1 `--.. 164 ,' ...........`. 165 | |10.0.0.0/24 | 166 `._ |........._.' 167 `--..__ _,,.--' 168 `'''-----------'''' 170 Figure 1: Basic scenario of local filtering 172 Local filtering could be required in other cases. For example, a 173 dual homed AS receiving an overlapping prefix from only one of its 174 providers. Figure 2 depicts a simple example of this case. 176 _..._ 177 ,' `. 178 / AS4 \ 179 | | 180 \ / 181 ,`-...-'. 182 / '. 183 10.0.0.0/22 ,' \ 184 10.0.0.0/24 / \ 10.0.0.0/22 185 ..:_ >..._ 186 ,' `. ,' `. 187 / AS2 \ / AS3 \ 188 | | | | 189 \ / \ / 190 `-...-', `-...-' 191 \ / 192 \ / 193 10.0.0.0/22 \_..._ '10.0.0.0/22 194 10.0.0.0/24,' `. 195 / AS1 \ 196 | | 197 \ / 198 `-...-' 200 Figure 2: Basic scenario of local filtering 202 In this scenario, prefix 10.0.0.0/22 is advertised by AS1 to AS2 and 203 AS3. Both ASes propagate the prefix to AS4. Additionally, AS1 204 advertises prefix 10.0.0.0/24 to AS2, which subsequently propagates 205 the prefix to AS4. 207 It is possible that AS4 resolves to filter the more specific prefix 208 10.0.0.0/24. One potential motivation could be the economical 209 preference of the path via AS2 over AS3. Another feasible reason is 210 the existence of a technical policy by AS4 of aggregating incoming 211 prefixes longer than /23. 213 The above examples illustrate two of the many motivations to 214 configure routing within an AS with the aim of ignoring more specific 215 prefixes. Operators have reported applying these filters in a manual 216 fashion [3]. The relevance of such practice led to investigate 217 automated filtering procedures in I-D.WHITE [5]. 219 2.2. Remotely triggered filtering 221 ISPs can tag the BGP paths that they propagate to neighboring ASes 222 with communities, in order to tweak the propagation behavior of the 223 ASes that handle these paths [1]. 225 Some ISPs allow their direct and indirect customers to use such 226 communities to let the receiving AS not export the path to some 227 selected neighboring AS. By combining communities, the prefix could 228 be advertised only to a given peer of the AS providing this feature. 229 Figure 3 illustrates an example of this case. 231 10.0.0.0/22 ,' \ 232 10.0.0.0/24 / \ 10.0.0.0/22 233 ..:_ >..._ 234 ,' `. ,' `. 235 / AS2 \________ / AS3 \ 236 | |/22 /22| | 237 \ / \ / 238 `-...-', `-...-' 239 \ / 240 \ / 241 10.0.0.0/22 \_..._ '10.0.0.0/22 242 10.0.0.0/24,' `. 243 / AS1 \ 244 | | 245 \ / 246 `-...-' 248 Figure 3: Remote triggered filtering 250 AS2 and AS3 are peers. Both ASes are providers of AS1. For traffic 251 engineering purposes, AS1 could use communities to prevent AS2 from 252 announcing prefix 10.0.0.0/24 to AS3. 254 Such technique is useful for operators to tweak routing decisions in 255 order to align with complex transit policies. We will see in later 256 sections that by producing the same effect as filtering, they can 257 also lead to undesired traffic flows at other, distant, ASes. 259 3. Uses of overlapping prefix filtering that create undesired traffic 260 flows 262 In this section we define the concept of undesired traffic flows and 263 describe three configuration scenarios that lead to their creation. 264 Note that these examples do not capture all the cases where such 265 issues can take place. More examples will be provided in future 266 revisions of this document. 268 3.1. Undesired Traffic Flows 270 The BGP policy of an Internet Service provider includes all actions 271 performed over its originated routes and the routes received 272 externally. One important part of the BGP policy is the selection of 273 the routes that are propagated to each neighboring AS. One of the 274 goals of these policies is to allow ISPs to avoid transporting 275 traffic between two ASes without economical gain. For instance, ISPs 276 typically propagate to their peers only routes coming from its 277 customers (RFC4384 [6]). We briefly illustrate this operation in 278 Figure 4. In the figure, AS2 is establishing a settlement free 279 peering with AS1 and AS3. AS2 receives prefix P3/p3, from AS3. AS2, 280 however, is not interested in transporting traffic from AS1 to AS3, 281 therefore it does not propagate the prefix to AS3. In the figure, we 282 also show a customer of AS2, AS4, which is announcing prefix P4/p4. 283 AS2 propagates this prefix to AS1. 285 ,-'''-.. ,-'''-.. ,-'''-.. 286 ,' \ ,' \ ,' \ 287 .' \ .' \ .' \ 288 | |------| | ----| P3/p3 | 289 \ AS1 / P4/p4\ AS2 / \ AS3/ 290 \ ,' \ ,' \ ,' 291 `-...-' `-...-' `-...-' 292 | 293 | 294 | 295 ,-'''-.. 296 ,' P4/p4 \ 297 .' \ 298 | | 299 \ AS4 / 300 \ ,' 301 `-...-' 303 Figure 4: Prefix exchange among four autonomous systems 305 Although ISPs usually implement the aforementioned policies, 306 undesired traffic flows may still appear. In Figure 4, undesired 307 traffic flows are created, when, despite AS2's policy, traffic 308 arriving from peer AS1 is received and transported to AS3 by AS2. 309 These type of traffic flows can arise due to a number of reasons. 310 Specifically, in this document we explain how the filtering of 311 overlapping prefixes might cause undesired traffic flows on ASes. We 312 provide examples of these cases in the next sections. 314 3.1.1. Undesired traffic flows caused by local filtering of overlapping 315 prefixes 317 In this section we describe cases in which an AS locally filters an 318 overlapping prefix. We show that, depending on the BGP policies 319 applied by surrounding ASes, this decision can lead to undesired 320 traffic flows. 322 3.1.1.1. Initial setup 324 We start by describing the basic scenario of this case in Figure 5. 326 ____,,................______ 327 _,.---'''' `''---..._ 328 ,-'' AS5 `-. 329 [ / 330 -.._ __.-' 331 . `'---....______ ______...---'' 332 |/22 `''''''''''''''' | 333 |/24 |/22 | 334 | |/24 | 335 | | | 336 | |/22 |/22 337 | |/24 |/24 338 _,,---.:_ _,,---.._ _,,---.._ 339 ,' `. ,' `. ,' `. 340 / AS4 \ / AS2 \ / AS3 \ 341 | |_________| |________| | 342 | | /22 | |/22 /22| | 343 '. ,' /24 . ,'/24 /24 . ,' 344 `. ,' `. ,' `. ,' 345 ``---'' ``---'' ``---'' 346 | | 347 |10.0.0.0/24 |10.0.0.0/24 348 |10.0.0.0/22 |10.0.0.0/22 349 | _....---------...._| 350 ,-'AS1 ``-. 351 /' `. 352 `. _, 353 `-.._ _,,,' 354 `''---------''' 356 Figure 5: Initial Setup Local 358 AS1 is a customer of AS2 and AS3. AS2, AS3, and AS4 are customers of 359 AS5. AS2 is establishing a peering with AS3 and AS4. AS1 is 360 announcing a covering prefix, 10.0.0.0/22, and an overlapping prefix 361 10.0.0.0/24 to its providers. In the initial setup, AS2 and AS3 362 announce the two prefixes to their peers and transit providers. AS4 363 receives both prefixes from its peer (AS2) and transit provider 364 (AS5). We will consider that AS5 chooses the path through AS3 to 365 reach AS1. 367 3.1.1.2. Undesired traffic flows by local filtering - Case 1 369 In the next scenarios, we show that if AS4 filters the incoming 370 overlapping prefix from AS5, there is a situation in which undesired 371 traffic flows are created on other ASes. 373 ____,,................______ 374 _,.---'''' `''---..._ 375 ,-'' AS5 `-. 376 [ / 377 -.._ __.-' 378 . `'---....______ ______...---'' 379 |/22 `''''''''''''''' | 380 |/24 |/22 | 381 | |/24 | 382 | | | 383 | |/22 |/22 384 | | |/24 385 _,,---.:_ _,,---.._ _,,---.._ 386 ,' `. ,' `. ,' `. 387 / AS4 \ / AS2 \ / AS3 \ 388 | |_________| |________| | 389 | | /22 | |/22 /22| | 390 '. ,' . ,' /24 . ,' 391 `. ,' `. ,' `. ,' 392 ``---'' ``---'' ``---'' 393 | | 394 | |10.0.0.0/24 395 |10.0.0.0/22 |10.0.0.0/22 396 | _,,..---------...._| 397 ,-'AS1 ``-. 398 /' `. 399 `. _, 400 `-.._ _,,,' 401 `''---------''' 403 Figure 6: Undesired traffic flows by local filtering - Case 1 405 Let us assume the scenario illustrated in Figure 6. For this case, 406 AS1 only propagates the overlapping prefix to AS3. AS4 receives the 407 overlapping prefix only from its transit provider, AS5. 409 AS4 now is in a situation in which it would be favorable for it to 410 filter the announcement of prefix 10.0.0.0/24 from AS5. 411 Subsequently, traffic from AS4 to prefix 10.0.0.0/24 is forwarded 412 towards AS2. Because AS2 receives the more specific prefix from AS3, 413 traffic from AS4 to prefix 10.0.0.0/24 follows the path AS4-AS2-AS3- 414 AS1. AS2's BGP policies are implemented to avoid AS2 to exchange 415 traffic between AS4 and AS3. However, due to the discrepancies of 416 routes from the overlapping and covering prefixes, undesired traffic 417 flows between AS4 and AS3 still exist on AS2's network. This 418 situation is economically detrimental for AS2, since it forwards 419 traffic from a peer to a non-customer neighbor. 421 3.1.1.3. Undesired traffic flows by local filtering - Case 2 423 ____,,................______ 424 _,.---'''' `''---..._ 425 ,-'' AS5 `-. 426 [ / 427 -.._ __.-' 428 . `'---....______ ______...---'' 429 |/22 `''''''''''''''' | 430 |/24 |/22 | 431 | |/24 | 432 | | | 433 | |/22 |/22 434 | | |/24 435 _,,---.:_ _,,---.._ _,,---.._ 436 ,' `. ,' `. ,' `. 437 / AS4 \ / AS2 \ / AS3 \ 438 | |_________| | | | 439 | | /22 | | | | 440 '. ,' . ,' . ,' 441 `. ,' `. ,' `. ,' 442 ``---'' ``---'' ``---'' 443 | | 444 | |10.0.0.0/24 445 |10.0.0.0/22 |10.0.0.0/22 446 _;,..---------...._| 447 ,-'AS1 ``-. 448 /' `. 449 `. _, 450 `-.._ _,,,' 451 `''---------''' 453 Figure 7: Undesired traffic flows after local filtering - Case 2 455 Let us assume a second case where AS2 and AS3 are not peering and AS1 456 only propagates the overlapping prefix to AS3. AS4 receives the 457 overlapping prefix only from its transit provider, AS5. This case is 458 illustrated in Figure 7. 460 Similar to the scenario described in Section 3.1.1.2, AS4 is in a 461 situation in which it would be favorable to filter the announcement 462 of prefix 10.0.0.0/24 from AS5. Subsequently, traffic from AS4 to 463 prefix 10.0.0.0/24 is forwarded towards AS2. Due to the existence of 464 a route to prefix 10.0.0.0/24, AS2 receives the traffic heading to 465 this prefix from AS4, and sends it to AS5. This situation creates 466 undesired traffic flows that contradict AS2's BGP policy, since the 467 AS ends up forwarding traffic from a peer to a transit network. 469 3.1.2. Undesired traffic flows caused by remotely triggered filtering 470 of overlapping prefixes 472 We present a configuration scenario in which an AS, using the 473 mechanism described in Section 2.2, informs its provider to 474 selectively propagate an overlapping prefix, leading to the creation 475 of undesired traffic flows in another AS. 477 3.1.2.1. Initial setup 479 Let AS1 be a customer of AS2 and AS3. AS1 owns 10.0.0.0/22, which it 480 advertises through AS2 and AS3. Additionally, AS2 and AS3 are peers. 482 Both AS2 and AS3 select A1's path as best, and propagate it to their 483 customers, providers, and peers. Some remote ASes will route traffic 484 destined to 10.0.0.1 through AS2 while others will route traffic 485 through AS3. 487 \ / \ / 488 /22 \ / /22 /22 \ / /22 489 ,-----. ,-----. 490 ,' `. ,' `. 491 / AS2 \ /22 / AS3 \ 492 ( )-------------( ) 493 \ / /22 \ / 494 `. ,' `. ,' 495 '-----; / '-----' 496 \ / 497 \ / 498 10.0.0.0/22\ /10.0.0.0/22 499 \ / 500 \ ,-----.' 501 ,' `. 502 / AS1 \ 503 ( ) 504 \ / 505 `. ,' 506 '-----' 508 Figure 8: Example scenario 510 3.1.2.2. Injection of an overlapping prefix 512 Let AS1 advertise 10.0.0.0/24 over AS3 only. AS3 would propagate 513 this prefix to its customers, providers, and peers, including AS2. 515 From AS2's point of view, the path towards 10.0.0.0/24 is a "peer 516 path" and AS2 will only advertise it to its customers. ASes in the 517 customer branch of AS2 will receive a path to the /24 that contains 518 AS3 and AS2. Some multi-homed customers of AS2 may also receive a 519 path through AS3, but not through AS2, from other peering or provider 520 links. Any remote AS that is not lying in the customer branch of 521 AS2, will receive a path for 10.0.0.0/24 through AS3 and not through 522 AS2. 524 \ / /22\ / /22 525 /22 \ / /22 /24 \ / /24 526 ,-----. ,-----. 527 ,' `. /22 ,' `. 528 / AS2 \ /24 / AS3 \ 529 ( /22:AS1 )-------------( /22:AS1 ) 530 \ /24:AS3 / /22 \ /24:AS1 / 531 /22 /`. ,' `. ,' 532 /24/ '-----; / '-----' 533 / \ / 534 ,---./ \ / 535 / \ 10.0.0.0/22\ /10.0.0.0/22 536 | AS4 ) \ / 10.0.0.0/24 537 \ / \ ,-----.' 538 `---' ,' `. 539 / AS1 \ 540 ( ) 541 \ / 542 `. ,' 543 '-----' 545 Figure 9: Injection of overlapping prefix 547 AS2 only receives traffic destined to 10.0.0.0/24 from its customers, 548 which it forwards to its peer AS3. Routing is consistent with usual 549 Internet Routing Policies in this case. AS3 could receive traffic 550 destined to 10.0.0.0/24 from its customers, providers, and peers, 551 which it directly forwards to its customer AS1. 553 3.1.2.3. Creation of undesired traffic flows by limiting the scope of 554 the overlapping prefix 556 Now, let us assume that 10.0.0.0/24, which is propagated by AS1 to 557 AS3, is tagged to have AS3 only propagate that path to AS2, using the 558 techniques described in Section 2.2. 560 ,-------. 561 ,' `. 562 / AS5 \ 563 ( /22:AS2 ) 564 \ / 565 `. ,' 566 '-------' \ / \ / 567 /22 \ //22 /22 \ //22 568 ,-----. ,-----. 569 ,' `. /22 ,' `. 570 / AS2 \ /24 / AS3 \ 571 ( /22:AS1 )-------------( /22:AS1 ) 572 \ /24:AS3 / /22 \ /24:AS1 / 573 /22 /`. ,' `. ,' 574 /24/ '-----; / '-----' 575 / \ / 576 ,---./ \ / 577 / \ 10.0.0.0/22\ /10.0.0.0/22 578 ( AS4 ) \ / 10.0.0.0/24 579 \ / \ ,-----.' 580 `---' ,' `. 581 / AS1 \ 582 ( ) 583 \ / 584 `. ,' 585 '-----' 587 Figure 10: More Specific Injection 589 From AS2's point of view, such a path is a "peer path" and will only 590 be advertised by AS2 to its customers. 592 ASes that are not customers of AS2 will not receive a path for 593 10.0.0.0/24. These ASes will forward packets destined to 10.0.0.0/24 594 according to their routing state for 10.0.0.0/22. Let us assume that 595 AS5 is such an AS, and that its best path towards 10.0.0.0/22 is 596 through AS2. Then, packets sent towards 10.0.0.1 by AS5 will 597 eventually reach AS2. However, in the data-plane of the nodes of 598 AS2, the longest prefix match for 10.0.0.1 is 10.0.0.0/24, which is 599 reached through AS3, a peer of AS2. Since AS5 is not in the customer 600 branch of AS2, we are in a situation in which traffic flows between 601 non-customer AS take place in AS2. 603 4. Techniques to detect undesired traffic flows caused by filtering of 604 overlapping prefixes 606 We differentiate the techniques available for detecting undesired 607 traffic flows caused by the described scenarios from the cases in 608 which the interested AS is the victim or contributor of such 609 operations. 611 4.1. Being the 'victim' 613 To detect if undesired traffic flows are taking place in its network, 614 an ISP can monitor its traffic data and validate if any flow entering 615 the ISP network through a non-customer link is forwarded to a non- 616 customer next-hop. 618 As mentioned in Section 3.1, undesired traffic flows might appear due 619 to different situations. To discover if the problem arose after the 620 filtering of prefixes by neighboring ASes, an operator can analyze 621 available BGP data. For instance, an ISP can seek for overlapping 622 prefixes for which the next-hop is through a provider (or peer), 623 while the next-hop for their covering prefix(es) is through a client. 624 Direct communication or looking glasses can be used to check whether 625 non-customer neighboring ASes are propagating a path towards the 626 covering prefix to their own customers, peers, or providers. This 627 should trigger a warning, as this would mean that ASes in the 628 surrounding area of the current AS are forwarding packets based on 629 the routing entry for the less specific prefix only. 631 4.2. Being a contributor to the existence of undesired traffic flows in 632 other networks 634 It can be considered problematic to be causing undesired traffic 635 flows on other ASes. This situation may appear as an abuse to the 636 network resources of other ISPs. 638 There may be justifiable reasons for one ISP to perform filtering, 639 either to enforce established policies or to provide prefix 640 advertisement scoping features to its customers. These can vary from 641 trouble-shooting purposes to business relationships implementations. 642 Restricting such features for the sake of avoiding the creation of 643 undesired traffic flows is not a practical option. 645 Traffic data does not help an ISP detect that it is acting as a 646 contributor of the creation of the undesired traffic flow. It is 647 thus advisable to obtain as much information as possible about the 648 Internet environment of the AS and assess the risks of filtering 649 overlapping prefixes before implementing them. 651 Monitoring the manipulation of the communities that implement the 652 scoping of prefixes is recommended to the ISPs that provide these 653 features. The monitored behavior should then be faced against their 654 terms of use. 656 5. Techniques to counter undesired traffic flows due to the filtering 657 of overlapping prefixes 659 Network Operators can adopt different approaches with respect to 660 undesired traffic flows. We classify these actions according to 661 whether they are anticipant or reactive. 663 Reactive approaches are those in which the operator tries to detect 664 the situations and solve undesired traffic flows, manually, on a 665 case-by-case basis. 667 Anticipant or preventive approaches are those in which the routing 668 system will not let the undesired traffic flows actually take place 669 when the configuration scenario is set up. 671 We will describe these two kinds of approaches in the following part 672 of this Section. We will use the scenario depicted in Figure 11 to 673 provide examples for the different techniques. 675 ____,,................______ 676 _,.---'''' `''---..._ 677 ,-'' AS5 `-. 678 [ / 679 -.._ __.-' 680 . `'---....______ ______...---'' 681 |/22 `''''''''''''''' | 682 |/24 |/22 | 683 | |/24 | 684 | | | 685 | |/22 |/22 686 | | |/24 687 _,,---.:_ _,,---.._ _,,---.._ 688 ,' `. ,' `. ,' `. 689 / AS4 \ / AS2 \ / AS3 \ 690 | |_________| | | | 691 | | /22 | | | | 692 '. ,' . ,' . ,' 693 `. ,' `. ,' `. ,' 694 ``---'' ``---'' ``---'' 695 | | 696 | |10.0.0.0/24 697 |10.0.0.0/22 |10.0.0.0/22 698 _;,..---------...._| 699 ,-'AS1 ``-. 700 /' `. 701 `. _, 702 `-.._ _,,,' 703 `''---------''' 705 Figure 11: Anticipant counter-measures - Base example 707 5.1. Reactive counter-measures 709 An operator who detects that its policies are threatened by undesired 710 traffic flows can contact the ASes that are likely to have performed 711 the propagation tweaks, inform them of the situation and persuade 712 them to change their behavior. 714 For some cases, if the external ASes maintain their behavior, an 715 operator can account the amount of traffic that has been subject to 716 the undesired flows and charge the peer for that traffic. That is, 717 the operator can claim that it has been a provider of that peer for 718 the traffic that transited between the two ASes. 720 An operator can decide to filter-out the concerned overlapping prefix 721 at the peering session over which it was received. In the example of 722 Figure 11, AS2 would filter out the incoming prefix 10.0.0.0/24 from 723 the eBGP session with AS5. As a result, the traffic destined to that 724 /24 would be forwarded by AS2 along its link with AS1, despite the 725 actions performed by AS1 to have this traffic coming in through its 726 link with AS3. 728 5.2. Anticipant counter-measures 730 5.2.1. Access lists 732 An operator can configure its routers to install dynamically an 733 access-list made of the prefixes towards which the forwarding of 734 traffic from that interface would lead to undesired traffic flows. 735 Note that this technique actually lets packets destined to a valid 736 prefix be dropped while they are sent from a neighboring AS that 737 cannot know about policy conflicts and hence had no means to avoid 738 the creation of undesired traffic flows. 740 In the example of Figure 11, AS2 would install an access-list denying 741 packets matching 10.0.0.0/24 associated with the interface connecting 742 to AS4. As a result, traffic destined to that prefix would be 743 dropped, despite the existence of a valid route towards 10.0.0.0/22. 745 5.2.2. Automatic filtering 747 As described in Section 3, filtering of overlapping prefixes can in 748 some scenarios lead to undesired traffic flows. Nevertheless, 749 depending on the autonomous system implementing such practice, this 750 operation can prevent these cases. This can be illustrated using the 751 example described in Figure 11: if AS2 or AS3 filter prefix 752 10.0.0.0/24, there would be no undesired traffic flow in AS2. 754 5.2.3. Neighbor-specific forwarding 756 An operator can technically ensure that traffic destined to a given 757 prefix will be forwarded from an entry point of the network based 758 only on the set of paths that have been advertised over that entry 759 point. 761 As an example, let us analyze the scenario of Figure 11 from the 762 point of view of AS2. The edge router connecting to the AS4 forward 763 packets destined to prefix 10.0.0.0/24 towards AS5. Likewise, it 764 will forward packets destined to prefix 10.0.0.0/22 towards AS1. The 765 router, however, only propagates the path of the covering prefix 766 (10.0.0.0/22) to AS4. An operator could implement the necessary 767 techniques to force the edge router to forward packets coming from 768 AS4 based only on the paths propagated to AS4. Thus, the edge router 769 would forward packets destined to 10.0.0.0/24 towards AS1 in which 770 case no undesired traffic flow would occur. This functionality could 771 be implemented in different ways. [2] describes an approach to 772 implement this Behavior. 774 6. Conclusions 776 In this document, we described threats to policies of autonomous 777 systems caused by the filtering of overlapping prefixes by external 778 networks. We provide examples of scenarios in which undesired 779 traffic flows are caused by these practices and introduce some 780 techniques for their detection and prevention. We observe that there 781 are reasonable situations in which ASes could filter overlapping 782 prefixes, however, we encourage that network operators implement this 783 type of filters only after considering the cases described in this 784 document. 786 7. References 788 [1] Donnet, B. and O. Bonaventure, "On BGP Communities", ACM SIGCOMM 789 Computer Communication Review vol. 38, no. 2, pp. 55-59, 790 April 2008. 792 [2] Vanbever, L., Francois, P., Bonaventure, O., and J. Rexford, 793 "Customized BGP Route Selection Using BGP/MPLS VPNs", Cisco 794 Systems, Routing 795 Symposium http://www.cs.princeton.edu/~jrex/talks/ 796 cisconag09.pdf, October 2009. 798 [3] "INIT7-RIPE63", . 801 [4] 803 [5] 806 [6] 808 Authors' Addresses 810 Camilo Cardona 811 IMDEA Networks/UC3M 812 Avenida del Mar Mediterraneo, 22 813 Leganes 28919 814 Spain 816 Email: juancamilo.cardona@imdea.org 818 Pierre Francois 819 IMDEA Networks 820 Avenida del Mar Mediterraneo, 22 821 Leganes 28919 822 Spain 824 Email: pierre.francois@imdea.org