idnits 2.17.1 draft-ietf-grow-rfc1519bis-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1.a on line 17. -- Found old boilerplate from RFC 3978, Section 5.5 on line 1163. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1140. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1147. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1153. ** The document seems to lack an RFC 3978 Section 5.1 IPR Disclosure Acknowledgement. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. ** The document uses RFC 3667 boilerplate or RFC 3978-like boilerplate instead of verbatim RFC 3978 boilerplate. After 6 May 2005, submission of drafts without verbatim RFC 3978 boilerplate is not accepted. The following non-3978 patterns matched text found in the document. That text should be removed or replaced: This document is an Internet-Draft and is subject to all provisions of Section 3 of RFC 3667. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction 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 abstract seems to contain references ([RFC1519]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 483: '... default route and MUST be accepted by...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 90 has weird spacing: '...classes of ne...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (April 14, 2005) is 6945 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC3021' is defined on line 1088, but no explicit reference was found in the text -- Obsolete informational reference (is this intentional?): RFC 1338 (Obsoleted by RFC 1519) -- Obsolete informational reference (is this intentional?): RFC 1519 (Obsoleted by RFC 4632) -- Obsolete informational reference (is this intentional?): RFC 2178 (Obsoleted by RFC 2328) -- Obsolete informational reference (is this intentional?): RFC 1771 (Obsoleted by RFC 4271) Summary: 9 errors (**), 0 flaws (~~), 4 warnings (==), 11 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 GROW V. Fuller 2 Internet-Draft T. Li 3 Expires: October 16, 2005 Cisco Systems 4 April 14, 2005 6 Classless Inter-Domain Routing (CIDR): The Internet Address Assignment 7 and Aggregation Plan 8 draft-ietf-grow-rfc1519bis-00 10 Status of this Memo 12 This document is an Internet-Draft and is subject to all provisions 13 of Section 3 of RFC 3667. By submitting this Internet-Draft, each 14 author represents that any applicable patent or other IPR claims of 15 which he or she is aware have been or will be disclosed, and any of 16 which he or she become aware will be disclosed, in accordance with 17 RFC 3668. 19 Internet-Drafts are working documents of the Internet Engineering 20 Task Force (IETF), its areas, and its working groups. Note that 21 other groups may also distribute working documents as Internet- 22 Drafts. 24 Internet-Drafts are draft documents valid for a maximum of six months 25 and may be updated, replaced, or obsoleted by other documents at any 26 time. It is inappropriate to use Internet-Drafts as reference 27 material or to cite them other than as "work in progress." 29 The list of current Internet-Drafts can be accessed at 30 http://www.ietf.org/ietf/1id-abstracts.txt. 32 The list of Internet-Draft Shadow Directories can be accessed at 33 http://www.ietf.org/shadow.html. 35 This Internet-Draft will expire on October 16, 2005. 37 Copyright Notice 39 Copyright (C) The Internet Society (2005). 41 Abstract 43 This memo discusses the strategy for address assignment of the 44 existing 32-bit IPv4 address space with a view toward conserving the 45 address space and limiting the growth rate of global routing state. 46 This document obsoletes the original CIDR spec [RFC1519], with 47 changes made both to clarify the concepts it introduced and, after 48 more than twelve years, to update the Internet community on the 49 results of deploying the technology described. 51 Table of Contents 53 1. History and Problem Description . . . . . . . . . . . . . . 3 54 2. Classless addressing as a solution . . . . . . . . . . . . . 4 55 2.1 Basic concept and prefix notation . . . . . . . . . . . . 5 56 3. Address assignment and routing aggregation . . . . . . . . . 7 57 3.1 Aggregation efficiency and limitations . . . . . . . . . . 7 58 3.2 Distributed assignment of address space . . . . . . . . . 9 59 4. Routing implementation considerations . . . . . . . . . . . 10 60 4.1 Rules for route advertisement . . . . . . . . . . . . . . 10 61 4.2 How the rules work . . . . . . . . . . . . . . . . . . . . 11 62 4.3 A note on prefix filter formats . . . . . . . . . . . . . 12 63 4.4 Responsibility for and configuration of aggregation . . . 12 64 4.5 Route propagation and routing protocol considerations . . 14 65 5. Example of new address assignments and routing . . . . . . . 14 66 5.1 Address delegation . . . . . . . . . . . . . . . . . . . . 14 67 5.2 Routing advertisements . . . . . . . . . . . . . . . . . . 16 68 6. Domain Name Service considerations . . . . . . . . . . . . . 17 69 7. Transition to a long term solution . . . . . . . . . . . . . 19 70 8. Analysis of CIDR's effect on global routing state . . . . . 19 71 9. Conclusions and Recommendations . . . . . . . . . . . . . . 21 72 10. Security Considerations . . . . . . . . . . . . . . . . . . 21 73 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 23 74 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 75 12.1 Normative References . . . . . . . . . . . . . . . . . . 23 76 12.2 Informative References . . . . . . . . . . . . . . . . . 23 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 25 78 Intellectual Property and Copyright Statements . . . . . . . 26 80 1. History and Problem Description 82 What is now known as the Internet started as a research project in 83 the 1970s to design and develop a set of protocols that could be used 84 with many different network technologies to provide a seamless, end- 85 to-end facility for interconnecting a diverse set of end systems. 86 When determining how the 32-bit address space would be used, certain 87 assumptions were made about the number of organizations to be 88 connected, the number of end systems per organization, and total 89 number of end systems on the network. The end result was the 90 establishment (see [RFC791]) of three classes of networks: class A 91 (most significant address bits '00'), with 128 possible networks each 92 with 16777216 end systems (minus special bit values reserved for 93 network/broadcast addresses); class B (MSB '10'), with 16384 possible 94 networks each with 65536 end systems (less reserved values); and 95 class C (MSB '110'), with 2097152 possible networks each with 254 end 96 systems (256 bit combinations minus the reserved all-zeros and all- 97 ones patterns). The set of addresses with MSB '111' was reserved for 98 future use; parts of this were eventually defined (MSB '1110') for 99 use with IPv4 multicast and parts are still reserved as of the 100 writing of this document. 102 In the late 1980s, the expansion and commercialization of the former 103 research network resulted in the connection of many new organizations 104 to the rapidly-growing Internet and each new organization required an 105 address assignment according to the class A/B/C addressing plan. As 106 demand for new network numbers, particularly in the class B space 107 started to take on what appeared to be an exponential growth rate, 108 some members of the operations and engineering community started to 109 have concerns over the long-term scaling properties of the class 110 A/B/C system and began thinking about how to modify network number 111 assignment policy and routing protocols to better accommodate the 112 growth. In November, 1991, the IETF created the ROAD (Routing and 113 Addressing) group to examine the situation. This group met in 114 January, 1992 and identified three major problems: 116 1. Exhaustion of the class B network address space. One fundamental 117 cause of this problem is the lack of a network class of a size 118 which is appropriate for mid-sized organization; class C, with a 119 maximum of 254 host addresses, is too small, while class B, which 120 allows up to 65534 host addresses, is too large for most 121 organizations but was the best fit available for use with 122 subnetting. 124 2. Growth of routing tables in Internet routers beyond the ability 125 of current software, hardware, and people to effectively manage. 127 3. Eventual exhaustion of the 32-bit IPv4 address space. 129 It was clear that then-current rates of Internet growth would cause 130 the first two problems to become critical some time between 1993 and 131 1995. Work already in progress on topological assignment of 132 addressing for CLNS, which was presented to the community at the 133 Boulder IETF in December of 1990, led to thoughts on how to re- 134 structure the 32-bit IPv4 address space to increase its lifespan. 135 Work in the ROAD group followed and eventually resulted in the 136 publication of [RFC1338] and later [RFC1519]. 138 The design and deployment of CIDR was intended to solve these 139 problems by providing a mechanism to slow the growth of global 140 routing tables and to reduce the rate of consumption of IPv4 address 141 space. It did not and does not attempt to solve the third problem, 142 which is of a more long-term nature, but instead endeavors to ease 143 enough of the short to mid-term difficulties to allow the Internet to 144 continue to function efficiently while progress is made on a longer- 145 term solution. 147 More historical background on this effort and on the ROAD group may 148 be found in [RFC1380] and at [LWRD]. 150 2. Classless addressing as a solution 152 The solution that the community created was to deprecate the Class 153 A/B/C network address assignment system in favor of using 154 "classless", hierarchical blocks of IP addresses (referred to as 155 prefixes). The assignment of prefixes is intended to roughly follow 156 the underlying Internet topology so that aggregation can be used to 157 facilitate scaling of the global routing system. One implication of 158 this strategy is that prefix assignment and aggregation is generally 159 done according to provider-subscriber relationships, since that is 160 how the Internet topology is determined. 162 When originally proposed in [RFC1338] and [RFC1519], this addressing 163 plan was intended to be a relatively short-term response, lasting 164 approximately three to five years during which a more permanent 165 addressing and routing architecture would be designed and 166 implemented. As can be inferred from the dates on the original 167 documents, CIDR has far outlasted its anticipated lifespan and has 168 become the mid-term solution to the problems described above. 170 Coupled with address management strategies implemented by the 171 Regional Internet Registries (see [NRO] for details), the deployment 172 of CIDR-style addressing has also reduced the rate at which IPv4 173 address space has been consumed, thus providing short-to-medium-term 174 relief to problem #3 described above. 176 Note that, as defined, this plan neither requires nor assumes the re- 177 assignment of those parts of the legacy "class C" space that are not 178 amenable to aggregation (sometimes called "the swamp"). Doing so 179 would somewhat reduce routing table sizes (current estimate is that 180 "the swamp" contains approximately 15,000 entries) though at a 181 significant renumbering cost. Similarly, there is no hard 182 requirement that any end site renumber when changing transit service 183 provider but end sites are encouraged do so to eliminate the need for 184 explicit advertisement of their prefixes into the global routing 185 system. 187 2.1 Basic concept and prefix notation 189 In the simplest sense, the change from Class A/B/C network numbers to 190 classless prefixes is to make explicit which bits in a 32-bit IPv4 191 address are interpreted as the network number (or prefix) associated 192 with a site and which are the used to number individual end systems 193 within the site. In CIDR notation, a prefix is shown as a 4-octet 194 quantity, just like a traditional IPv4 address or network number, 195 followed by the "/" (slash) character, followed by a decimal value 196 between 0 and 32 that describes the number of significant bits. 198 For example, the legacy "class B" network 172.16.0.0, with an implied 199 network mask of 255.255.0.0, is defined as the prefix 172.16.0.0/16, 200 the "/16" indicating that the mask to extract the network portion of 201 the prefix is a 32-bit value where the most significant 16 bits are 202 ones and the least significant 16 bits are zeros. Similarly, the 203 legacy "class C" network number 192.168.99.0 is defined as the prefix 204 192.168.99.0/24 - the most significant 24 bits are ones and the least 205 significant 8 bits are zeros. 207 Using classless prefixes with explicit prefix lengths allows much 208 more flexible matching of address space blocks to actual need. Where 209 formerly only three network sizes were available, prefixes may be 210 defined to describe any power-of-two-sized block of between one and 211 2^32 end system addresses. In practice, the unallocated pool of 212 addresses is administered by the Internet Assigned Numbers Authority 213 ([IANA]). The IANA makes allocations from this pool to Regional 214 Internet Registries, as required. These allocations are made in 215 contiguous bit-aligned blocks of 2^24 addresses (a.k.a. /8 prefixes). 216 The RIRs, in turn, allocate or assign smaller address blocks to Local 217 Internet Registries (LIRs) or Internet Service Providers (ISPs). 218 These entities may make direct use of the assignment (as would 219 commonly be the case for an ISP) or may make further sub-allocations 220 of addresses to their customers. These RIR address assignments vary 221 according to the needs of each ISP or LIR. For example, a large ISP 222 might be allocated an address block of 2^17 addresses (a /15 prefix) 223 while a smaller ISP may be allocated an address block of 2^11 224 addresses (a /21 prefix). 226 Note that the terms "allocate" and "assign" have specific meaning in 227 the Internet address registry system; "allocate" refers to the 228 delegation of a block of address space to an organization which is 229 expected to perform further sub-delegations while "assign" is used 230 for sites that directly use (i.e. number individual hosts) the block 231 of addresses received. 233 The following table provides a convenient short-cut to all of the 234 CIDR prefix sizes, showing the number of addresses possible in each 235 prefix and the number of prefixes of that size that may be numbered 236 in the 32-bit IPv4 address space: 238 notation addrs/block # blocks 239 -------- ----------- ---------- 240 n.n.n.n/32 1 4294967296 "host route" 241 n.n.n.x/31 2 2147483648 "[RFC3021] p2p link" 242 n.n.n.x/30 4 1073741824 243 n.n.n.x/29 8 536870912 244 n.n.n.x/28 16 268435456 245 n.n.n.x/27 32 134217728 246 n.n.n.x/26 64 67108864 247 n.n.n.x/25 128 33554432 248 n.n.n.0/24 256 16777216 legacy "class C" 249 n.n.x.0/23 512 8388608 250 n.n.x.0/22 1024 4194304 251 n.n.x.0/21 2048 2097152 252 n.n.x.0/20 4096 1048576 253 n.n.x.0/19 8192 524288 254 n.n.x.0/18 16384 262144 255 n.n.x.0/17 32768 131072 256 n.n.0.0/16 65536 65536 legacy "class B" 257 n.x.0.0/15 131072 32768 258 n.x.0.0/14 262144 16384 259 n.x.0.0/13 524288 8192 260 n.x.0.0/12 1048576 4096 261 n.x.0.0/11 2097152 2048 262 n.x.0.0/10 4194304 1024 263 n.x.0.0/9 8388608 512 264 n.0.0.0/8 16777216 256 legacy "class A" 265 x.0.0.0/7 33554432 128 266 x.0.0.0/6 67108864 64 267 x.0.0.0/5 134217728 32 268 x.0.0.0/4 268435456 16 269 x.0.0.0/3 536870912 8 270 x.0.0.0/2 1073741824 4 271 x.0.0.0/1 2147483648 2 272 0.0.0.0/0 4294967296 1 "default route" 274 n is an 8-bit, decimal octet value. 276 x is a 1 to 7 bit value, base on the prefix length, shifted into the 277 most significant bits of the octet and converted into decimal form; 278 the least significant bits of the octet are zero. 280 In practice, prefixes of length shorter than 8 are not allocated or 281 assigned though routes to such short prefixes may exist in routing 282 tables if or when aggressive aggregation is performed. As of the 283 writing of this document, no such routes are seen in the global 284 routing system but operator error and other events have caused some 285 of them (i.e. 128.0.0.0/1 and 192.0.0.0/2) to be observed in some 286 networks at some times in the past. 288 3. Address assignment and routing aggregation 290 Classless addressing and routing was initially developed primarily to 291 improve the scaling properties of routing on the global Internet. 292 Because the scaling of routing is very tightly coupled to the way 293 that addresses are used, deployment of CIDR had implications for the 294 way in which addresses were assigned. 296 3.1 Aggregation efficiency and limitations 298 The only commonly-understood method for reducing routing state on a 299 packet-switched network is through aggregation of information. For 300 CIDR to succeed in reducing the size and growth rate of the global 301 routing system, the IPv4 address assignment process needed to be 302 changed to make possible the aggregation of routing information along 303 topological lines. Since, in general, the topology of the network is 304 determined by the service providers who have built it, topologically- 305 significant address assignments are necessarily service-provider 306 oriented. 308 Aggregation is simple for an end site which is connected to one 309 service provider: it uses address space assigned by its service 310 provider and that address space is a small piece of a larger block 311 allocated to the service provider. No explicit route is needed for 312 the end site - the service provider advertises a single aggregate 313 route for the larger block; this advertisement provides reachability 314 and routeability for all of the customers numbered in the block. 316 There are two, more complex, situations that reduce the effectiveness 317 of aggregation: 319 o An organization which is multi-homed. Because a multi-homed 320 organization must be advertised into the system by each of its 321 service providers, it is often not feasible to aggregate its 322 routing information into the address space of any one of those 323 providers. Note that the organization still may receive its 324 address assignment out of a service provider's address space 325 (which has other advantages), but a route to the organization's 326 prefix must still be explicitly advertised by all of its service 327 providers. For this reason, the global routing cost for a multi- 328 homed organization is generally the same as it was prior to the 329 adoption of CIDR. 331 o An organization which changes service provider but does not 332 renumber. This has the effect of "punching a hole" in one of the 333 original service provider's aggregated route advertisements. CIDR 334 handles this situation by requiring the newer service provider to 335 advertise a specific advertisement for the re-homed organization; 336 this advertisement is preferred over provider aggregates because 337 it is a longer match. To maintain efficiency of aggregation, it 338 is recommended that an organization which changes service 339 providers plan to eventually migrate its network into a an prefix 340 assigned from its new provider's address space. To this end, it 341 is recommended that mechanisms to facilitate such migration, such 342 as dynamic host address assignment using [RFC2131]) be deployed 343 wherever possible, and that additional protocol work be done to 344 develop improved technology for renumbering. 346 Note that some aggregation efficiency gain can still be had for 347 multi-homed sites (and, in general, for any site composed of 348 multiple, logical IPv4 networks) - by allocating a contiguous power- 349 of-two block address space to the site (as opposed to multiple, 350 independent prefixes) the site's routing information may be 351 aggregated into a single prefix. Also, since the routing cost 352 associated with assigning a multi-homed site out of a service 353 provider's address space is no greater than the old method of 354 sequential number assignment by a central authority, it makes sense 355 to assign all end-site address space out of blocks allocated to 356 service providers. 358 It is also worthwhile to mention that since aggregation may occur at 359 multiple levels in the system, it may still be possible to aggregate 360 these anomalous routes at higher levels of whatever hierarchy may be 361 present. For example, if a site is multi-homed to two relatively 362 small providers that both obtain connectivity and address space from 363 the same large provider, then aggregation by the large provider of 364 routes from the smaller networks will include all routes to the 365 multi-homed site. The feasibility of this sort of second-level 366 aggregation depends on whether topological hierarchy exists between a 367 site, its directly-connected providers, and other providers to which 368 they are connected; it may be practical in some regions of the global 369 Internet but not in others. 371 Note: in the discussion and examples which follow, prefix notation is 372 used to represent routing destinations. This is used for 373 illustration only and does not require that routing protocols use 374 this representation in their updates. 376 3.2 Distributed assignment of address space 378 In the early days of the Internet, IPv4 address space assignment was 379 performed by the central Network Information Center (NIC). Class 380 A/B/C network numbers were assigned in essentially arbitrary order, 381 roughly according to the size of the organizations that requested 382 them. All assignments were recorded centrally and no attempt was 383 made to assign network numbers in a manner that would allow routing 384 aggregation. 386 When CIDR was originally deployed, the central assignment authority 387 continued to exist but changed its procedures to assign large blocks 388 of "Class C" network numbers to each service provider. Each service 389 provider, in turn, assigned bitmask-oriented subsets of the 390 provider's address space to each customer. This worked reasonably 391 well as long as the number of service providers was relatively small 392 and relatively constant but did not scale well as the number of 393 service providers grew at a rapid rate. 395 As the Internet started to expand rapidly in the 1990s, it became 396 clear that a single, centralized address assignment authority was 397 problematic. This function began being de-centralized when address 398 space assignment for European Internet sites was delegated in bit- 399 aligned blocks of 16777216 addresses (what CIDR would later define as 400 a /8) to the RIPE NCC ([RIPE]), effectively making it the first of 401 the RIRs. Since then, address assignment has been formally 402 distributed as a hierarchical function with IANA, the RIRs, and the 403 service providers. Removing the bottleneck of a single organization 404 having responsibility for the global Internet address space greatly 405 improved the efficiency and response time for new assignments. 407 Hierarchical delegation of addresses in this manner implies that 408 sites with addresses assigned out of a given service provider are, 409 for routing purposes, part of that service provider and will be 410 routed via its infrastructure. This implies that routing information 411 about multi-homed organizations, i.e., organizations connected to 412 more than one network service provider, will still need to be known 413 by higher levels in the hierarchy. 415 Some of these issues are discussed at greater length in [RFC1518]. 417 4. Routing implementation considerations 419 With the change from classful network numbers to classless prefixes, 420 it is not possible to infer the network mask from the initial bit 421 pattern of an IPv4 address. This has implications for how routing 422 information is stored and propagated. Network masks or prefix 423 lengths must be explicitly carried in routing protocols. Interior 424 routing protocols such as OSPF [RFC2178], IS-IS [RFC1195], RIPv2 425 [RFC2453], and Cisco EIGRP, and the BGP4 exterior routing protocol 426 [RFC1771] all support this functionality, having been developed or 427 modified as part of the deployment of classless inter-domain routing 428 during the 1990s. 430 Older interior routing protocols, such as RIP [RFC1058], HELLO, and 431 Cisco IGRP, and older exterior routing protocols, such as EGP 432 [RFC904], do not support explicit carriage of prefix length/mask and 433 thus cannot be effectively used on the Internet in other than very 434 limited, stub configurations. While their use may be appropriate in 435 simple, legacy end-site configurations, they are considered obsolete 436 and should NOT be used in transit networks connected to the global 437 Internet. 439 Similarly, routing and forwarding tables in layer-3 network equipment 440 must be organized to store both prefix and prefix length or mask. 441 Equipment which organizes its routing/forwarding information 442 according to legacy class A/B/C network/subnet conventions cannot be 443 expected to work correctly on networks connected to the global 444 Internet; use of such equipment is not recommended. Fortunately, 445 very little such equipment is in use today. 447 4.1 Rules for route advertisement 449 1. Routing to all destinations must be done on a longest-match basis 450 only. This implies that destinations which are multi-homed 451 relative to a routing domain must always be explicitly announced 452 into that routing domain - they cannot be summarized (this makes 453 intuitive sense - if a network is multi-homed, all of its paths 454 into a routing domain which is "higher" in the hierarchy of 455 networks must be known to the "higher" network). 457 2. A router which generates an aggregate route for multiple, more- 458 specific routes must discard packets which match the aggregate 459 route but not any of the more-specific routes. In other words, 460 the "next hop" for the aggregate route should be the null 461 destination. This is necessary to prevent forwarding loops when 462 some addresses covered by the aggregate are not reachable. 464 Note that during failures, partial routing of traffic to a site which 465 takes its address space from one service provider but which is 466 actually reachable only through another (i.e., the case of a site 467 which has changed service providers) may occur because such traffic 468 will be forwarded along the path advertised by the aggregated route. 469 Rule #2 will prevent packet mis-delivery by causing such traffic to 470 be discarded by the advertiser of the aggregated route, but the 471 output of "traceroute" and other similar tools will suggest that a 472 problem exists within that network rather than in the network which 473 is no longer advertising the more-specific prefix. This may be 474 confusing to those trying to diagnose connectivity problems; see the 475 example in Section 5.2 for details. A solution to this perceived 476 "problem" is beyond the scope of this document - it lies with better 477 education of the user/operator community, not in routing technology. 479 An implementation following these rules should also be generalized, 480 so that an arbitrary network number and mask are accepted for all 481 routing destinations. The only outstanding constraint is that the 482 mask must be left contiguous. Note that the degenerate route to 483 prefix 0.0.0.0/0 is used as a default route and MUST be accepted by 484 all implementations. Further, to protect against accidental 485 advertisements of this route via the inter-domain protocol, this 486 route should only be advertised when a router is explicitly 487 configured to do so - never as a non-configured, "default" option. 489 4.2 How the rules work 491 Rule #1 guarantees that the routing algorithm used is consistent 492 across implementations and consistent with other routing protocols, 493 such as OSPF. Multi-homed networks are always explicitly advertised 494 by every service provider through which they are routed even if they 495 are a specific subset of one service provider's aggregate (if they 496 are not, they clearly must be explicitly advertised). It may seem as 497 if the "primary" service provider could advertise the multi-homed 498 site implicitly as part of its aggregate, but the assumption that 499 longest-match routing is always done causes this not to work. 501 Rule #2 guarantees that no routing loops form due to aggregation. 502 Consider a site that has been assigned 192.168.64/19 by its "parent" 503 provider that has 192.168.0.0/16. The "parent" network will 504 advertise 192.168.0.0/16 to the "child" network. If the "child" 505 network were to lose internal connectivity to 192.168.65.0/24 (which 506 is part of its aggregate), traffic from the "parent" to the to the 507 "child" destined for 192.168.65.1 will follow the "child's" 508 advertised route. When that traffic gets to the "child", however, 509 the mid-level *must not* follow the route 192.168.0.0/16 back up to 510 the "parent", since that would result in a forwarding loop. Rule #2 511 says that the "child" may not follow a less-specific route for a 512 destination which matches one of its own aggregated routes 513 (typically, this is implemented by installing a "discard" or "null" 514 route for all aggregated prefixes which one network advertises to 515 another). Note that handling of the "default" route (0.0.0.0/0) is a 516 special case of this rule - a network must not follow the default to 517 destinations which are part of one of it's aggregated advertisements. 519 4.3 A note on prefix filter formats 521 Systems which process route announcements must be able to verify that 522 information which they receive is acceptable according to policy 523 rules. Implementations which filter route advertisements must allow 524 masks or prefix lengths in filter elements. Thus, filter elements 525 which formerly were specified as: 527 accept 172.16.0.0 528 accept 172.25.120.0.0 529 accept 172.31.0.0 530 deny 10.2.0.0 531 accept 10.0.0.0 533 now look something like: 535 accept 172.16.0.0/16 536 accept 172.25.0.0/16 537 accept 172.31.0.0/16 538 deny 10.2.0.0/16 539 accept 10.0.0.0/8 541 This is merely making explicit the network mask which was implied by 542 the class A/B/C classification of network numbers. It is also useful 543 to enhance filtering capability to allow the match of a prefix and 544 all more-specific prefixes with the same bit pattern; fortunately, 545 this functionality has been implemented by most vendors of equipment 546 used on the Internet. 548 4.4 Responsibility for and configuration of aggregation 550 Under normal circumstances, a routing domain (or "Autonomous System") 551 which has been allocated or assigned a set of prefixes has sole 552 responsibility for aggregation of those prefixes. In the usual case, 553 the AS will install configuration in one or more of its routers to 554 generate aggregate routes based on more-specific routes known to its 555 internal routing system; these aggregate routes are advertised into 556 the global routing system by the border routers for the routing 557 domain. The more-specific internal routes which overlap with the 558 aggregate routes should not be advertised globally. In some cases, 559 an AS may wish to delegate aggregation responsibility to another AS 560 (for example, a customer may wish for its service provider to 561 generate aggregated routing information on its behalf); in such 562 cases, aggregation is performed by a router in the second AS based on 563 the routes that it receives from the first combined with configured 564 policy information describing how those routes should be aggregated. 566 It should be mentioned that one provider may choose to perform 567 aggregation on the routes it receives from another without explicit 568 agreement; this is termed "proxy aggregation". This can be a useful 569 tool for reducing the amount of routing state that an AS must carry 570 and propagate to its customers and neighbors, proxy aggregation can 571 also create inconsistencies in global routing state. Consider what 572 happens if both AS 2 and 3 receive routes from AS 1 but AS 2 performs 573 proxy aggregation while AS 3 does not. Other AS's which receive 574 transit routing information from both AS 2 and AS 3 will see an 575 inconsistent view of the routing information originated by AS 1. 576 This may cause an unexpected shift of traffic toward AS 1 through AS 577 3 for AS 3's customers and any others receiving transit routes from 578 AS 3. Because proxy aggregation can cause unanticipated consequences 579 for parts of the Internet that have no relationship with either the 580 source of the aggregated routes or the party providing aggregation, 581 it should be used with extreme caution. 583 Configuration of the routes to be combined into aggregates is an 584 implementation of routing policy and does require some manually- 585 maintained information. As an addition to the information that must 586 be maintained for a set of routeable prefixes, aggregation 587 configuration is typically just a line or two defining the range of 588 the block of IPv4 addresses to aggregate. A site performing its own 589 aggregation is doing so for address blocks that it has been assigned; 590 a site performing aggregation on behalf of another knows this 591 information based on an agreement to delegate aggregation. Assuming 592 a best common practice for network administrators to exchange lists 593 of prefixes to accept from one and other, configuration of 594 aggregation information does not introduce significant additional 595 administrative overhead. 597 The generation of an aggregate route is usually specified either 598 statically or in response to learning an active dynamic route for a 599 prefix contained within the aggregate route. If such dynamic 600 aggregate route advertisement is done, care should be taken that 601 routes are not excessively added or withdrawn (known as "route 602 flapping"); in general, a dynamic aggregate route advertisement is 603 added when at least one component of the aggregate becomes reachable 604 and it is withdrawn only when all components become unreachable. 605 Properly configured, aggregated routes are more stable than non- 606 aggregated routes and thus improve global routing stability. 608 Implementation note: aggregation of the "Class D" (multicast) address 609 space is beyond the scope of this document. 611 4.5 Route propagation and routing protocol considerations 613 Prior to the original deployment of CIDR, common practice was to 614 propagate routes learned via exterior routing protocols (i.e. EGP or 615 BGP) through a site's interior routing protocol (typically, OSPF, 616 IS-IS, or RIP). This was done to ensure that consistent and correct 617 exit points were chosen for traffic destined to a destination learned 618 through those protocols. Four evolutionary effects -- the advent of 619 CIDR, explosive growth of global routing state, widespread adoption 620 of BGP4, and a requirement to propagate full path information -- have 621 combined to deprecate that practice. To ensure proper path 622 propagation and prevent inter-AS routing inconsistency (BGP4's loop 623 detection/prevention mechanism requires full path propagation), 624 transit networks must use internal BGP (iBGP) for carrying routes 625 learned from other providers both within and through their networks. 627 5. Example of new address assignments and routing 629 5.1 Address delegation 631 Consider the block of 524288 (2^19) addresses beginning with 632 10.24.0.0 and ending with 10.31.255.255 allocated to a single network 633 provider, "PA". This is equivalent in size to a block of 2048 legacy 634 "class C" network numbers (or /24s). A classless route to this block 635 would be described as 10.24.0.0 with mask of 255.248.0.0 the prefix 636 10.24.0.0/13. 638 Assume this service provider connects six sites in the following 639 order (significant because it demonstrates how temporary "holes" may 640 form in the service provider's address space): 642 o "C1" requiring fewer than 2048 addresses (/21 or 8 x /24) 644 o "C2" requiring fewer than 4096 addresses (/20 or 16 x /24) 646 o "C3" requiring fewer than 1024 addresses (/22 or 4 x /24) 648 o "C4" requiring fewer than 1024 addresses (/22 or 4 x /24) 650 o "C5" requiring fewer than 512 addresses (/23 or 2 x /24) 652 o "C6" requiring fewer than 512 addresses (/23 or 2 x /24) 654 In all cases, the number of IPv4 addresses "required" by each site is 655 assumed to allow for significant growth. The service provider 656 delegates its address space as follows: 658 o C1: assign 10.24.0 through 10.24.7. This block of networks is 659 described by the route 10.24.0.0/21 (mask 255.255.248.0) 661 o C2: assign 10.24.16 through 10.24.31. This block is described by 662 the route 10.24.16.0/20 (mask 255.255.240.0) 664 o C3: assign 10.24.8 through 10.24.11. This block is described by 665 the route 10.24.8.0/22 (mask 255.255.252.0) 667 o C4: assign 10.24.12 through 10.24.15. This block is described by 668 the route 10.24.12.0/22 (mask 255.255.252.0) 670 o C5: assign 10.24.32 and 10.24.33. This block is described by the 671 route 10.24.32.0/23 (mask 255.255.254.0) 673 o C6: assign 10.24.34 and 10.24.35. This block is described by the 674 route 10.24.34.0/23 (mask 255.255.254.0) 676 These six sites should be represented as six prefixes of varying size 677 within the provider IGP. If, for some reason, the provider were to 678 use an obsolete IGP that doesn't support classless routing or 679 variable-length subnets, then then explicit routes all /24s will have 680 to be carried. 682 To make this example more realistic, assume that C4 and C5 are multi- 683 homed through some other service provider, "PB". Further assume the 684 existence of a site "C7" which was originally connected to "RB" but 685 has moved to "PA". For this reason, it has a block of network 686 numbers which are assigned out "PB"'s block of (the next) 2048 x /24. 688 o C7: assign 10.32.0 through 10.32.15. This block is described by 689 the route 10.32.0.0/20 (mask 255.255.240.0) 691 For the multi-homed sites, assume that C4 is advertised as primary 692 via "RA" and secondary via "RB"; C5 is primary via "RB" and secondary 693 via "RA". In addition, assume that "RA" and "RB" are both connected 694 to the same transit service provider "BB". 696 Graphically, this topology looks something like this: 698 10.24.0.0 -- 10.24.7.0__ __10.32.0.0 - 10.32.15.0 699 C1: 10.24.0.0/21 \ / C7: 10.32.0.0/20 700 \ / 701 +----+ +----+ 702 10.24.16.0 - 10.24.31.0_ | | | | 703 C2: 10.24.16.0/20 \ | | _10.24.12.0 - 10.24.15.0__ | | 704 \| | / C4: 10.24.12.0/20 \ | | 705 | |/ \| | 706 10.24.8.0 - 10.24.11.0___/| PA |\ | PB | 707 C3: 10.24.8.0/22 | | \__10.24.32.0 - 10.24.33.0___| | 708 | | C5: 10.24.32.0/23 | | 709 | | | | 710 10.24.34.0 - 10.24.35.0__/| | | | 711 C6: 10.24.34.0/23 | | | | 712 +----+ +----+ 713 || || 714 routing advertisements: || || 715 || || 716 10.24.12.0/22 (C4) || 10.24.12.0/22 (C4) || 717 10.32.0.0/20 (C7) || 10.24.32.0/23 (C5) || 718 10.24.0.0/13 (PA) || 10.32.0.0/13 (PB) || 719 || || 720 VV VV 721 +---------- BACKBONE NETWORK BB ----------+ 723 5.2 Routing advertisements 725 To follow rule #1, PA will need to advertise the block of addresses 726 that it was given and C7. Since C4 is multi-homed and primary 727 through PA, it must also be advertised. C5 is multi-homed and 728 primary through PB. In principal (and in the example above), it need 729 not be advertised since longest match by PB will automatically select 730 PB as primary and the advertisement of PA's aggregate will be used as 731 a secondary. In actual practice, C5 will normally be advertised via 732 both providers. 734 Advertisements from "PA" to "BB" will be: 736 10.24.12.0/22 primary (advertises C4) 737 10.32.0.0/20 primary (advertises C7) 738 10.24.0.0/13 primary (advertises remainder of PA) 740 For PB, the advertisements must also include C4 and C5 as well as 741 it's block of addresses. 743 Advertisements from "PB" to "BB" will be: 745 10.24.12.0/22 secondary (advertises C4) 746 10.24.32.0/23 primary (advertises C5) 747 10.32.0.0/13 primary (advertises remainder of RB) 749 To illustrate the problem diagnosis issue mentioned in Section 4.1, 750 consider what happens if PA loses connectivity to C7 (the site which 751 is assigned out of PB's space). In a stateful protocol, PA will 752 announce to BB that 10.32.0.0/20 has become unreachable. Now, when 753 BB flushes this information out of its routing table, any future 754 traffic sent through it for this destination will be forwarded to PB 755 (where it will be dropped according to Rule #2) by virtue of PB's 756 less specific match 10.32.0.0/13. While this does not cause an 757 operational problem (C7 is unreachable in any case), it does create 758 some extra traffic across "BB" (and may also prove confusing to 759 someone trying to debug the outage with "traceroute"). A mechanism 760 to cache such unreachable state might be nice but is beyond the scope 761 of this document. 763 6. Domain Name Service considerations 765 One aspect of Internet services which was notably affected by the 766 move to CIDR was the mechanism used for address-to-name translation: 767 the IN-ADDR.ARPA zone of the domain system. Because this zone is 768 delegated on octet boundaries only, the move to an address assignment 769 plan which uses bitmask-oriented addressing caused some increase in 770 work for those who maintain parts of the IN-ADDR.ARPA zone. 772 As described above, the IN-ADDR.ARPA zone is necessarily organized 773 along octet boundaries. Prior to the adoption of CIDR, IN-ADDR.ARPA 774 was also constrained such that delegations were only permitted along 775 legacy, class A/B/C network number boundaries. This created a 776 difficult situation for more flexible, CIDR prefixes. Consider a 777 hypothetical large network provider named "BigNet" which has been 778 allocated the block 10.4.0.0 through 10.7.255.0 (the CIDR prefix 779 10.4.0.0/14). Under the old delegation policies, the top-level IN- 780 ADDR.ARPA domain servers would need to have 1024 entries of the form: 782 0.4.10.IN-ADDR.ARPA. IN NS NS1.BIG.NET. 784 1.4.10.IN-ADDR.ARPA. IN NS NS1.BIG.NET. 786 .... 788 255.7.10.IN-ADDR.ARPA. IN NS NS1.BIG.NET. 790 By revising the policy as described above, this was reduced to four 791 delegation records: 793 4.10.IN-ADDR.ARPA. IN NS NS1.BIG.NET. 795 5.10.IN-ADDR.ARPA. IN NS NS1.BIG.NET. 797 6.10.IN-ADDR.ARPA. IN NS NS1.BIG.NET. 799 7.10.IN-ADDR.ARPA. IN NS NS1.BIG.NET. 801 The provider then maintains further delegations of naming authority 802 for each individual /24 which it assigns, rather than having each 803 registered separately. Note that due to the way the DNS is designed, 804 it is still possible for the top-level IN-ADDR.ARPA name servers to 805 maintain the delegation information for individual networks for which 806 the provider is unwilling or unable to do so. The example above 807 illustrates only the records for a single name server. In the normal 808 case, there are usually several name servers for each domain, thus 809 the size of the examples will double or triple in the common cases. 811 For BIG.NET to assign a blocks smaller than /24 to its customers, it 812 can similarly delegate DNS authority for those addresses. For 813 example, if it were to assign 10.4.99.64/26 to its customer 814 CUSTONE.COM and 10.4.99.128/27 to its customer CUSTTWO.COM, it could 815 add the following records to delegate DNS for the addresses to those 816 customers: 818 64.99.4.10.IN-ADDR.ARPA. IN NS NS1.CUSTONE.COM. 820 65.99.4.10.IN-ADDR.ARPA. IN NS NS1.CUSTONE.COM. 822 .... 824 127.99.4.10.IN-ADDR.ARPA. IN NS NS1.CUSTONE.COM 826 128.99.4.10.IN-ADDR.ARPA. IN NS NS1.CUSTTWO.COM 828 129.99.4.10.IN-ADDR.ARPA. IN NS NS1.CUSTTWO.COM 830 .... 832 159.99.4.10.IN-ADDR.ARPA. IN NS NS1.CUSTTWO.COM 834 And if BIG.NET also assigned 10.4.99.160/30 to CUSTTHREE.COM but this 835 customer did not want to run its own DNS, BIG.NET could provide that 836 service for the customer by installing the appropriate PTR records: 838 160.99.4.10.IN-ADDR.ARPA. IN PTR NET.CUSTTHREE.COM. 840 161.99.4.10.IN-ADDR.ARPA. IN PTR HOST1.CUSTTHREE.COM. 842 162.99.4.10.IN-ADDR.ARPA. IN PTR HOST2.CUSTTHREE.COM. 844 163.99.4.10.IN-ADDR.ARPA. IN PTR BCAST.CUSTTHREE.COM. 846 See [RFC2317] for a much more detailed discussion of DNS delegation 847 with classless addressing. 849 7. Transition to a long term solution 851 CIDR was designed to be a short-term solution to the problems of 852 routing state and address depletion on the IPv4 Internet. It does 853 not change the fundamental Internet routing or addressing 854 architectures. It is not expected to affect any plans for transition 855 to a more long-term solution except, perhaps, by delaying the urgency 856 of developing such a solution. 858 8. Analysis of CIDR's effect on global routing state 860 When CIDR was first proposed in the early 1990s, the original authors 861 made some observations about the growth rate of global routing state 862 and offered projections on how CIDR deployment would, hopefully, 863 reduce what appeared to be exponential growth to a more sustainable 864 rate. Since that deployment, an ongoing effort, called "The CIDR 865 Report" [CRPT] has attempted to quantify and track that growth rate. 866 What follows is a brief summary of the CIDR report as of March, 2005, 867 with an attempt to explain the various patterns of and change in 868 growth rate that have occurred since measurements of the size of 869 global routing state began in 1988. 871 Examining the graph of "Active BGP Table Entries" [CBGP] there appear 872 to be several different growth trends with distinct inflection points 873 reflecting changes in policy and practice. The trends and events 874 which are believed to have caused them were: 876 1. Exponential growth at the far left of the graph. This represents 877 the period of early expansion and commercialization of the former 878 research network, from the late 1980s through approximately 1994. 879 The major driver for this growth was a lack of aggregation 880 capability for transit providers, and the widespread use of 881 legacy Class C allocations for end sites. Each time a new site 882 was connected to the global Internet, one or more new routing 883 entries were generated. 885 2. Acceleration of the exponential trend in late 1993 and early 1994 886 as CIDR supernet" blocks were first assigned by the NIC and 887 routed as separate legacy class-C networks by service provider. 889 3. A sharp drop in 1994 as BGP4 deployment by providers allowed 890 aggregation of the "supernet" blocks. Note that the periods of 891 largest declines in the number of routing table entries typically 892 correspond to the weeks following each meeting of the IETF CIDR 893 Deployment Working Group. 895 4. Roughly linear growth from mid-1994 to early 1999 as CIDR-based 896 address assignments were made and aggregated routes added 897 throughout the network. 899 5. A new period of exponential growth again from early 1999 until 900 2001 as the "high-tech bubble" fueled both rapid expansion of 901 Internet as well as a large increase in more-specific route 902 advertisements for multi-homing and traffic engineering. 904 6. Flattening of growth through 2001 caused by a combination of the 905 "dot-com bust", which caused many organizations to cease 906 operations, and the "CIDR police" [CPOL] work aimed at improving 907 aggregation efficiency. 909 7. Roughly linear growth through 2002 and 2003. This most likely 910 represents a resumption of the "normal" growth rate observed 911 before the "bubble" as well as an end to the "CIDR Police" 912 effort. 914 8. A more recent trend of exponential growth beginning in 2004. The 915 best explanation would seem to be an improvement of the global 916 economy driving increased expansion of the Internet and the 917 continued absence of the "CIDR Police" effort, which previously 918 served as an educational tool for new providers to improve 919 aggregation efficiency. There have also been some cases where 920 service providers have deliberately de-aggregated prefixes in an 921 attempt to mitigate security problems caused by conflicting route 922 advertisements (see Section 10). While this behavior may solve 923 the short-term problems seen by such providers, it is 924 fundamentally non-scalable and quite detrimental to the community 925 as a whole. In addition, there appear to be many providers 926 advertising both their allocated prefixes and all of the /24 927 components of them, probably due to a lack of consistent current 928 information about recommended routing configuration. 930 9. Conclusions and Recommendations 932 In 1992, when CIDR was first developed, there were serious problems 933 facing the continued growth of the Internet. Growth in routing state 934 complexity, and the rapid increase in consumption of address space 935 made it appear that one or both problems would preclude continued 936 growth of the Internet within a few short years. 938 Deployment of CIDR, in combination with BGP4's support for carrying 939 classless prefix routes, alleviated the short-term crisis. It was 940 only through a concerted effort by both the equipment manufacturers 941 and the provider community that this was achieved. The threat (and, 942 perhaps in some cases, actual implementation of) charging networks 943 for advertising prefixes may have offered an additional incentive to 944 share the address space, and hence the associated costs of 945 advertising routes to service providers. 947 The IPv4 routing system architecture carries topology information 948 based on aggregate address advertisements and a collection of more- 949 specific advertisements that are associated with traffic engineering, 950 multi-homing and local configuration. As of March, 2005, the base 951 aggregate address load in the routing system has some 75,000 entries. 952 Approximately 85,000 additional entries are more specific entries of 953 this base "root" collection. There is reason to believe that many of 954 these additional entries are exist to solve problems of regional or 955 even local scope and should not need to be globally propagated. 957 An obvious question to ask is whether CIDR can continue to be a 958 viable approach to keeping global routing state growth and address 959 space depletion at sustainable rates. Recent measurements indicate 960 that exponential growth has resumed but further analysis suggests 961 that this trend can be mitigated by a more active effort to educate 962 service providers on efficient aggregation strategies and proper 963 equipment configuration. Looking farther forward, there is a clear 964 need for better multi-homing technology that does not require global 965 routing state for each site and for methods of performing traffic 966 load balancing that do not require adding even more state. Without 967 such developments and in the absence of major architectural change, 968 aggregation is the only tool available for making routing scale in 969 the global Internet. 971 10. Security Considerations 973 The introduction of routing protocols which support classless 974 prefixes and a move to a forwarding model that mandates that more- 975 specific (longest-match) routes be preferred when they overlap with 976 routes to less-specific prefixes introduces at least two security 977 concerns: 979 Traffic can be hijacked by advertising a prefix for a given 980 destination that is more specific than the aggregate that is 981 normally advertised for that destination. For example, assume a 982 popular end system with address 192.168.17.100 that is connected 983 to a service provider that advertises 192.168.16.0/20. A 984 malicious network operator interested in intercepting traffic for 985 this site might advertise, or at least attempt to advertise, 986 192.168.17.0/24 into the global routing system. Because this 987 prefix is more-specific than the "normal" prefix, traffic will be 988 diverted away from the legitimate end system and to the network 989 owned by the malicious operator. Prior to the advent of CIDR, it 990 was possible to induce traffic from some parts of the network to 991 follow a false advertisement that exactly matched a particular 992 network number; CIDR makes this problem somewhat worse, since 993 longest-match routing generally causes all traffic to prefer more- 994 specific routes over less-specific routes. The remedy for the 995 CIDR-based attack, though, is the same as for a pre-CIDR-based 996 attack: establishment of trust relationships between providers, 997 coupled with and strong route policy filters at provider borders. 998 Unfortunately, the implementation of such filters is difficult in 999 the highly de-centralized Internet. As a workaround, many 1000 providers do implement generic filters that set upper bounds, 1001 derived from RIR guidelines for the sizes of blocks that they 1002 allocate, on the lengths of prefixes that are accepted from other 1003 providers. It is worth noting that "spammers" have been observed 1004 using this sort of attack to temporarily hijack address space in 1005 order to hide the origin of the traffic ("spam" email messages) 1006 that they generate. 1008 Denial-of-service attacks can be launched against many parts of 1009 the Internet infrastructure by advertising a large number of 1010 routes into the system. Such an attack is intended to cause 1011 router failures by overflowing routing and forwarding tables. A 1012 good example of a non-malicious incident which caused this sort of 1013 failure was the infamous "AS 7007" event [7007] where a router 1014 mis-configuration by an operator caused a huge number of invalid 1015 routes to be propagated through the global routing system. Again, 1016 this sort of attack is not really new with CIDR; using legacy 1017 class A/B/C routes, it was possible to advertise a maximum of 1018 16843008 unique network numbers into the global routing system, a 1019 number which is sufficient to cause problems for even the most 1020 modern routing equipment made in 2005. What is different is that 1021 the moderate complexity of correctly configuring routers in the 1022 presence of CIDR does tend to make accidental "attacks" of this 1023 sort more likely. Measures to prevent this sort of attack are 1024 much the same as those described above for the hijacking, with the 1025 addition that best common practice is to also configure a 1026 reasonable maximum number of prefixes that a border router will 1027 accept from its neighbors. 1029 Note that this is not intended to be an exhaustive analysis of the 1030 sorts of attacks that CIDR makes easier; a more comprehensive 1031 analysis of security vulnerabilities in the global routing system 1032 is beyond the scope of this document. 1034 11. Acknowledgments 1036 The authors wish to express appreciation to the other original 1037 authors of RFC1519 (Kannan Varadhan, Jessica Yu), to the ROAD group 1038 with whom many of the ideas behind CIDR were inspired and developed, 1039 and to the early reviewers of this re-spun version of the document 1040 (Barry Greene, Geoff Huston, Danny McPherson, Dave Meyer, Eliot Lear, 1041 Bill Norton, Ted Seely, Philip Smith) whose comments, corrections, 1042 and suggestions were invaluable. 1044 12. References 1046 12.1 Normative References 1048 [RFC791] Postel, J., "Internet Protocol", RFC 791, September 1981. 1050 12.2 Informative References 1052 [RFC1338] Fuller, V., Li, T., Varadhan, K., and J. Yu, 1053 "Supernetting: an Address Assignment and Aggregation 1054 Strategy", RFC 1338, June 1992. 1056 [RFC1519] Fuller, V., Li, T., Varadhan, K., and J. Yu, "Classless 1057 Inter-Domain Routing: an Address Assignment and 1058 Aggregation Strategy", RFC 1519, September 1993. 1060 [IANA] "Internet Assigned Numbers Authority", 1061 . 1063 [NRO] "Number Resource Organization", . 1065 [RFC1380] Gross, P. and P. Almquist, "IESG Deliberations on Routing 1066 and Addressing", RFC 1380, November 1992. 1068 [LWRD] "The Long and Winding Road", 1069 . 1071 [RFC2178] Moy, J., "The OSPF Specification Version 2", RFC 2178, 1072 July 1997. 1074 [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and 1075 dual environments", RFC 1195, December 1990. 1077 [RFC2453] Malkin, G., "RIP Version 2", RFC 2453, November 1998. 1079 [RFC1771] Rekhter, Y. and T. Li, "A Border Gateway Protocol 4 1080 (BGP-4)", RFC 1771, March 1995. 1082 [RFC1058] Hedrick, C., "Routing Information Protocol", RFC 1058, 1083 June 1988. 1085 [RFC904] Mills, D., "Exterior Gateway Protocol formal 1086 specification", RFC 904, April 1984. 1088 [RFC3021] Retana, A., White, R., Fuller, V., and D. McPherson, 1089 "Using 31-Bit Prefixes on IPv4 Point-to-Point Links", 1090 RFC 3021, December 2000. 1092 [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", 1093 RFC 2131, March 1997. 1095 [RIPE] "RIPE Network Coordination Centre", . 1097 [RFC1518] Rekhter, Y. and T. Li, "An Architecture for IP Address 1098 Allocation with CIDR", RFC 1518, September 1993. 1100 [RFC2317] Eidnes, H., de Groot, G., and P. Vixie, "Classless IN- 1101 ADDR.ARPA delegation", RFC 2317, March 1998. 1103 [CRPT] "The CIDR Report", . 1105 [CBGP] "Graph: Active BGP Table Entries, 1988 to Present", 1106 . 1108 [CPOL] "CIDR Police - Please Pull Over and Show Us Your BGP", 1109 . 1111 [7007] "NANOG mailing list discussion of the "AS 7007" incident", 1112 . 1115 Authors' Addresses 1117 Vince Fuller 1118 170 W. Tasman Drive 1119 San Jose, CA 95134 1120 USA 1122 Email: vaf@cisco.com 1124 Tony Li 1125 170 W. Tasman Drive 1126 San Jose, CA 95134 1127 USA 1129 Email: tli@cisco.com 1131 Intellectual Property Statement 1133 The IETF takes no position regarding the validity or scope of any 1134 Intellectual Property Rights or other rights that might be claimed to 1135 pertain to the implementation or use of the technology described in 1136 this document or the extent to which any license under such rights 1137 might or might not be available; nor does it represent that it has 1138 made any independent effort to identify any such rights. Information 1139 on the procedures with respect to rights in RFC documents can be 1140 found in BCP 78 and BCP 79. 1142 Copies of IPR disclosures made to the IETF Secretariat and any 1143 assurances of licenses to be made available, or the result of an 1144 attempt made to obtain a general license or permission for the use of 1145 such proprietary rights by implementers or users of this 1146 specification can be obtained from the IETF on-line IPR repository at 1147 http://www.ietf.org/ipr. 1149 The IETF invites any interested party to bring to its attention any 1150 copyrights, patents or patent applications, or other proprietary 1151 rights that may cover technology that may be required to implement 1152 this standard. Please address the information to the IETF at 1153 ietf-ipr@ietf.org. 1155 Disclaimer of Validity 1157 This document and the information contained herein are provided on an 1158 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1159 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 1160 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 1161 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 1162 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1163 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1165 Copyright Statement 1167 Copyright (C) The Internet Society (2005). This document is subject 1168 to the rights, licenses and restrictions contained in BCP 78, and 1169 except as set forth therein, the authors retain all their rights. 1171 Acknowledgment 1173 Funding for the RFC Editor function is currently provided by the 1174 Internet Society.