faqs.org - Internet FAQ Archives

RFC 1519 - Classless Inter-Domain Routing (CIDR): an Address Ass


Or Display the document by number




Network Working Group                                          V. Fuller
Request for Comments: 1519                                       BARRNet
Obsoletes: 1338                                                    T. Li
Category: Standards Track                                          cisco
                                                                   J. Yu
                                                                   MERIT
                                                             K. Varadhan
                                                                  OARnet
                                                          September 1993

                 Classless Inter-Domain Routing (CIDR):
             an Address Assignment and Aggregation Strategy

Status of this Memo

   This RFC specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" for the standardization state and status
   of this protocol.  Distribution of this memo is unlimited.

Abstract

   This memo discusses strategies for address assignment of the existing
   IP address space with a view to conserve the address space and stem
   the explosive growth of routing tables in default-route-free routers.

Table of Contents

   Acknowledgements .................................................  2
   1.  Problem, Goal, and Motivation ................................  2
   2.  CIDR address allocation ......................................  3
   2.1  Aggregation and its limitations .............................  3
   2.2  Distributed network number allocation .......................  5
   3.  Cost-benefit analysis ........................................  6
   3.1  Present allocation figures ..................................  7
   3.2  Historic growth rates .......................................  8
   3.3  Detailed analysis ...........................................  8
   3.3.1  Benefits of new addressing plan ...........................  9
   3.3.2  Growth rate projections ...................................  9
   4.  Changes to inter-domain routing protocols and practices ...... 11
   4.1  Protocol-independent semantic changes ....................... 11
   4.2  Rules for route advertisement ............................... 11
   4.3  How the rules work .......................................... 13
   4.4  Responsibility for and configuration of aggregation ......... 14
   4.5  Intra-domain protocol considerations ........................ 15
   5.  Example of new allocation and routing ........................ 15

   5.1  Address allocation .......................................... 15
   5.2  Routing advertisements ...................................... 17
   6.  Extending CIDR to class A addresses .......................... 18
   7.  Domain Naming Service considerations ......................... 20
   7.1 Procedural changes for class-C "supernets" ................... 20
   7.2 Procedural changes for class-A subnetting .................... 21
   8.  Transitioning to a long term solution ........................ 22
   9.  Conclusions .................................................. 22
   10.  Recommendations ............................................. 22
   11.  References .................................................. 23
   12.  Security Considerations ..................................... 23
   13.  Authors' Addresses .......................................... 24

Acknowledgements

   The authors wish to express their appreciation to the members of the
   ROAD group with whom many of the ideas contained in this document
   were inspired and developed.

1.  Problem, Goal, and Motivation

   As the Internet has evolved and grown over in recent years, it has
   become evident that it is soon to face several serious scaling
   problems. These include:

      1.   Exhaustion of the class B network address space. One
           fundamental cause of this problem is the lack of a network
           class of a size which is appropriate for mid-sized
           organization; class C, with a maximum of 254 host
           addresses, is too small, while class B, which allows up to
           65534 addresses, is too large for most organizations.

      2.   Growth of routing tables in Internet routers beyond the
           ability of current software, hardware, and people to
           effectively manage.

      3.   Eventual exhaustion of the 32-bit IP address space.

   It has become clear that the first two of these problems are likely
   to become critical within the next one to three years.  This memo
   attempts to deal with these problems by proposing a mechanism to slow
   the growth of the routing table and the need for allocating new IP
   network numbers. It does not attempt to solve the third problem,
   which is of a more long-term nature, but instead endeavors to ease
   enough of the short to mid-term difficulties to allow the Internet to
   continue to function efficiently while progress is made on a longer-
   term solution.

   The proposed solution is to topologically allocate future IP address
   assignment, by allocating segments of the IP address space to the
   transit routing domains.

   This plan for allocating IP addresses should be undertaken as soon as
   possible.  We believe that this will suffice as a short term
   strategy, to fill the gap between now and the time when a viable long
   term plan can be put into place and deployed effectively.  This plan
   should be viable for at least three (3) years, after which time,
   deployment of a suitable long term solution is expected to occur.

   This plan is primarily directed at the first two problems listed
   above.  We believe that the judicious use of variable-length
   subnetting techniques should help defer the onset of the last problem
   problem, the exhaustion of the 32-bit address space. Note also that
   improved tools for performing address allocation in a "supernetted"
   and variably-subnetted world would greatly help the user community in
   accepting these sometimes confusing techniques. Efforts to create
   some simple tools for this purpose should be encouraged by the
   Internet community.

   Note that this plan neither requires nor assumes that already
   assigned addresses will be reassigned, though if doing so were
   possible, it would further reduce routing table sizes. It is assumed
   that routing technology will be capable of dealing with the current
   routing table size and with some reasonably small rate of growth.
   The emphasis of this plan is on significantly slowing the rate of
   this growth.

   Note that this plan does not require domains to renumber if they
   change their attached transit routing domain.  Domains are encouraged
   to renumber so that their individual address allocations do not need
   to be advertised.

   This plan will not affect the deployment of any specific long term
   plan, and therefore, this document will not discuss any long term
   plans for routing and address architectures.

2.  CIDR address allocation

   There are two basic components of this addressing and routing plan:
   one, to distribute the allocation of Internet address space and two,
   to provide a mechanism for the aggregation of routing information.

   2.1  Aggregation and its limitations

   One major goal of this addressing plan is to allocate Internet
   address space in such a manner as to allow aggregation of routing

   information along topological lines.  For simple, single-homed
   clients, the allocation of their address space out of a transit
   routing domain's space will accomplish this automatically - rather
   than advertise a separate route for each such client, the transit
   domain may advertise a single aggregate route which describes all of
   the destinations connected to it. Unfortunately, not all sites are
   singly-connected to the network, so some loss of ability to aggregate
   is realized for the non-trivial cases.

   There are two situations that cause a loss of aggregation efficiency.

      o    Organizations which are multi-homed. Because multi-homed
           organizations must be advertised into the system by each of
           their service providers, it is often not feasible to
           aggregate their routing information into the address space
           any one of those providers. Note that they still may receive
           their address allocation out of a transit domain's address
           space (which has other advantages), but their routing
           information must still be explicitly advertised by most of
           their service providers (the exception being that if the
           site's allocation comes out of its least-preferable service
           provider, then that service provider need not advertise the
           explicit route - longest-match will insure that its
           aggregated route is used to get to the site on a backup
           basis).  For this reason, the routing cost for these
           organizations will typically be about the same as it is
           today.

      o    Organizations which change service provider but do not
           renumber. This has the effect of "punching a hole" in the
           aggregation of the original service provider's advertisement.
           This plan will handle the situation by requiring the newer
           service provider to advertise a specific advertisement for
           the new client, which is preferred by virtue of being the
           longest match.  To maintain efficiency of aggregation, it is
           recommended that organizations which do change service
           providers plan to eventually migrate their address
           assignments from the old provider's space to that of the new
           provider. To this end, it is recommended that mechanisms to
           facilitate such migration, including improved protocols and
           procedures for dynamic host address assignment, be developed.

   Note that some aggregation efficiency gain can still be had for
   multi-homed sites (and, in general, for any site composed of
   multiple, logical IP network numbers) - by allocating a contiguous
   power-of-two block of network numbers to the client (as opposed to
   multiple, independent network numbers) the client's routing
   information may be aggregated into a single (net, mask) pair. Also,

   since the routing cost associated with assigning a multi-homed site
   out of a service provider's address space is no greater than the
   current method of a random allocation by a central authority, it
   makes sense to allocate all address space out of blocks assigned to
   service providers.

   It is also worthwhile to mention that since aggregation may occur at
   multiple levels in the system, it may still be possible to aggregate
   these anomalous routes at higher levels of whatever hierarchy may be
   present. For example, if a site is multi-homed to two NSFNET regional
   networks both of whom obtain their address space from the NSFNET,
   then aggregation by the NSFNET of routes from the regionals will
   include all routes to the multi-homed site.

   Finally, it should also be noted that deployment of the new
   addressing plan described in this document may (and should) begin
   almost immediately but effective use of the plan to aggregate routing
   information will require changes to some Inter-Domain routing
   protocols. Likewise, deploying classless Inter-Domain protocols
   without deployment of the new address plan will not allow useful
   aggregation to occur (in other words, the addressing plan and routing
   protocol changes are both required for supernetting, and its
   resulting reduction in table growth, to be effective.)  Note,
   however, that during the period of time between deployment of the
   addressing plan and deployment of the new protocols, the size of
   routing tables may temporarily grow very rapidly. This must be
   considered when planning the deployment of the two plans.

   Note: in the discussion and examples which follow, the network and
   mask notation is used to represent routing destinations. This is used
   for illustration only and does not require that routing protocols use
   this representation in their updates.

   2.2  Distributed allocation of address space

   The basic idea of the plan is to allocate one or more blocks of Class
   C network numbers to each network service provider. Organizations
   using the network service provider for Internet connectivity are
   allocated bitmask-oriented subsets of the provider's address space as
   required.

   It is also worthwhile to mention that once inter-domain protocols
   which support classless network destinations are widely deployed, the
   rules described by this plan generalize to permit arbitrary
   super/subnetting of the remaining class A and class B address space
   (the assumption being that classless inter-domain protocols will
   either allow for non-contiguous subnets to exist in the system or
   that all components of a sub-allocated class A/B will be contained

   within a single routing domain). This will allow this plan to
   continue to be used in the event that the class C space is exhausted
   before implementation of a long-term solution is deployed.  This
   alternative is discussed further below in section 6.

   Hierarchical sub-allocation of addresses in this manner implies that
   clients with addresses allocated out of a given service provider are,
   for routing purposes, part of that service provider and will be
   routed via its infrastructure. This implies that routing information
   about multi-homed organizations, i.e., organizations connected to
   more than one network service provider, will still need to be known
   by higher levels in the hierarchy.

   The advantages of hierarchical assignment in this fashion are

      a)  It is expected to be easier for a relatively small number of
          service providers to obtain addresses from the central
          authority, rather than a much larger, and monotonically
          increasing, number of individual clients.  This is not to be
          considered as a loss of part of the service providers' address
          space.

      b)  Given the current growth of the Internet, a scalable and
          delegatable method of future allocation of network numbers has
          to be achieved.

   For these reasons, and in the interest of providing a consistent
   procedure for obtaining Internet addresses, it is recommended that
   most, if not all, network numbers be distributed through service
   providers.  These issues are discussed in much greater length in [2].

3.  Cost-benefit analysis

   This new method of assigning address through service providers can be
   put into effect immediately and will, from the start, have the
   benefit of distributing the currently centralized process of
   assigning new addresses. Unfortunately, before the benefit of
   reducing the size of globally-known routing destinations can be
   achieved, it will be necessary to deploy an Inter-Domain routing
   protocol capable of handling arbitrary network and mask pairs. Only
   then will it be possible to aggregate individual class C networks
   into larger blocks represented by single routing table entries.

   This means that upon introduction, the new addressing allocation plan
   will not in and of itself help solve the routing table size problem.
   Once the new Inter-Domain routing protocol is deployed, however, an
   immediate drop in the number of destinations which clients of the new
   protocol must carry will occur.  A detailed analysis of the magnitude

   of this expected drop and the permanent reduction in rate of growth
   is given in the next section.

   In should also be noted that the present method of flat address
   allocations imposes a large bureaucratic cost on the central address
   allocation authority. For scaling reasons unrelated to address space
   exhaustion or routing table overflow, this should be changed. Using
   the mechanism proposed in this paper will have the fortunate side
   effect of distributing the address allocation procedure, greatly
   reducing the load on the central authority.

   3.1  Present Allocation Figures

   An informal analysis of "network-contacts.txt" (available from the
   DDN NIC) indicates that as of 2/25/92, 46 of 126 class A network
   numbers have been allocated (leaving 81) and 5467 of 16382 class B
   numbers have been allocated, leaving 10915. Assuming that recent
   trends continue, the number of allocated class B's will continue to
   double approximately once a year.  At this rate of growth, all class
   B's will be exhausted within about 15 months.  As of 1/13/93, 52
   class A network numbers have been allocated and 7133 class B's have
   been allocated.  We suggest that the change in the class B allocation
   rate is due to the initial deployment of this address allocation
   plan.

   3.2  Historic growth rates

      MM/YY     ROUTES                        MM/YY     ROUTES
                ADVERTISED                              ADVERTISED
      ------------------------                -----------------------
      Dec-92    8561                          Sep-90    1988
      Nov-92    7854                          Aug-90    1894
      Oct-92    7354                          Jul-90    1727
      Sep-92    6640                          Jun-90    1639
      Aug-92    6385                          May-90    1580
      Jul-92    6031                          Apr-90    1525
      Jun-92    5739                          Mar-90    1038
      May-92    5515                          Feb-90    997
      Apr-92    5291                          Jan-90    927
      Mar-92    4976                          Dec-89    897
      Feb-92    4740                          Nov-89    837
      Jan-92    4526                          Oct-89    809
      Dec-91    4305                          Sep-89    745
      Nov-91    3751                          Aug-89    650
      Oct-91    3556                          Jul-89    603
      Sep-91    3389                          Jun-89    564
      Aug-91    3258                          May-89    516
      Jul-91    3086                          Apr-89    467
      Jun-91    2982                          Mar-89    410
      May-91    2763                          Feb-89    384
      Apr-91    2622                          Jan-89    346
      Mar-91    2501                          Dec-88    334
      Feb-91    2417                          Nov-88    313
      Jan-91    2338                          Oct-88    291
      Dec-90    2190                          Sep-88    244
      Nov-90    2125                          Aug-88    217
      Oct-90    2063                          Jul-88    173

            Table I : Growth in routing table size, total numbers
                      Source for the routing table size data is MERIT

   3.3   Detailed Analysis

   There is a small technical cost and minimal administrative cost
   associated with deployment of the new address assignment plan. The
   administrative cost is basically that of convincing the NIC, the
   IANA, and the network service providers to agree to this plan, which
   is not expected to be too difficult.  In addition, administrative
   cost for the central numbering authorities (the NIC and the IANA)
   will be greatly decreased by the deployment of this plan.  To take
   advantage of aggregation of routing information, however, it is
   necessary that the capability to represent routes as arbitrary
   network and mask fields (as opposed to the current class A/B/C

   distinction) be added to the common Internet inter-domain routing
   protocol(s).  Thus, the technical cost is in the implementation of
   classless interdomain routing protocols.

   3.3.1 Benefits of the new addressing plan

   There are two benefits to be had by deploying this plan:

      o    The current problem with depletion of the available class B
           address space can be ameliorated by assigning more-
           appropriately sized blocks of class C's to mid-sized
           organizations (in the 200-4000 host range).

      o    When the improved inter-domain routing protocol is deployed,
           an immediate decrease in the number routing table entries
           should occur, followed by a significant reduction in the rate
           growth of routing table size (for default-free routers).

   3.3.2 Growth rate projections

   As of Jan '92, a default-free routing table (for example, the routing
   tables maintained by the routers in the NSFNET backbone) contained
   approximately 4700 entries. This number reflects the current size of
   the NSFNET routing database. Historic data shows that this number, on
   average, has doubled every 10 months between 1988 and 1991. Assuming
   that this growth rate is going to persist in the foreseeable future
   (and there is no reason to assume otherwise), we expect the number of
   entries in a default-free routing table to grow to approximately
   30000 in two years time.  In the following analysis, we assume that
   the growth of the Internet has been, and will continue to be,
   exponential.

   It should be stressed that these projections do not consider that the
   current shortage of class B network numbers may increase the number
   of instances where many class C's are used rather than a class B.
   Using an assumption that new organizations which formerly obtained
   class B's will now obtain somewhere between 4 and 16 class C's, the
   rate of routing table growth can conservatively be expected to at
   least double and probably quadruple. This means the number of entries
   in a default-free routing table may well exceed 10,000 entries within
   six months and 20,000 entries in less than a year.

   As of Dec '92, the routing table contains 8500 routes.  The original
   growth curves would predict over 9400 routes.  At this time, it is
   not clear if this would indicate a significant change in the rate of
   growth.

   Under the proposed plan, growth of the routing table in a default-

   free router is greatly reduced since most new address assignment will
   come from one of the large blocks allocated to the service providers.
   For the sake of this analysis, we assume prompt implementation of
   this proposal and deployment of the revised routing protocols. We
   make the initial assumption that any initial block given to a
   provider is sufficient to satisfy its needs for two years.

   Since under this plan, multi-homed networks must continue to be
   explicitly advertised throughout the system (according to Rule #1
   described in section 4.2), the number multi-homed routes is expected
   to be the dominant factor in future growth of routing table size,
   once the supernetting plan is applied.

   Presently, it is estimated that there are fewer than 100 multi-homed
   organizations connected to the Internet. Each such organization's
   network is comprised of one or more network numbers.  In many cases
   (and in all future cases under this plan), the network numbers used
   by an organization are consecutive, meaning that aggregation of those
   networks during route advertisement may be possible. This means that
   the number of routes advertised within the Internet for multi-homed
   networks may be approximated as the total number of multi-homed
   organizations.  Assuming that the number of multi-homed organization
   will double every year (which may be a over-estimation, given that
   every connection costs money), the number of routes for multi-homed
   networks would be expected to grow to approximately 800 in three
   years.

   If we further assume that there are approximately 100 service
   providers, then each service provider will also need to advertise its
   block of addresses.  However, due to aggregation, these
   advertisements will be reduced to only 100 additional routes.  We
   assume that after the initial two years, new service providers
   combined with additional requests from existing providers will
   require an additional 50 routes per year.  Thus, the total is 4700 +
   800 + 150 = 5650.  This represents an annual growth rate of
   approximately 6%.  This is in clear contrast to the current annual
   growth of 130%.  This analysis also assumes an immediate deployment
   of this plan with full compliance. Note that this analysis assumes
   only a single level of route aggregation in the current Internet -
   intelligent address allocation should significantly improve this.

   Clearly, this is not a very conservative assumption in the Internet
   environment nor can 100% adoption of this proposal be expected.
   Still, with only a 90% participation in this proposal by service
   providers, at the end of the target three years, global routing table
   size will be "only" 4700 + 800 + 145 + 7500 = 13145 routes -- without
   any action, the routing table will grow to approximately 75000 routes
   during that time period.

4.  Changes to inter-domain routing protocols and practices

   In order to support supernetting efficiently, it is clear that some
   changes will need to be made to both routing protocols themselves and
   to the way in which routing information is interpreted. In the case
   of "new" inter-domain protocols, the actual protocol syntax changes
   should be relatively minor. This mechanism will not work with older
   inter-domain protocols such as EGP2; the only ways to interoperate
   with old systems using such protocols are either to use existing
   mechanisms for providing "default" routes or b) require that new
   routers talking to old routers "explode" supernet information into
   individual network numbers.  Since the first of these is trivial
   while the latter is cumbersome (at best -- consider the memory
   requirements it imposes on the receiver of the exploded information),
   it is recommended that the first approach be used -- that older
   systems to continue to the mechanisms they currently employ for
   default handling.

   Note that a basic assumption of this plan is that those organizations
   which need to import "supernet" information into their routing
   systems must run IGPs (such as OSPF [1]) which support classless
   routes. Systems running older IGPs may still advertise and receive
   "supernet" information, but they will not be able to propagate such
   information through their routing domains.

   4.1  Protocol-independent semantic changes

   There are two fundamental changes which must be applied to Inter-
   Domain routing protocols in order for this plan to work. First, the
   concept of network "class" needs to be deprecated - this plan assumes
   that routing destinations are represented by network and mask pairs
   and that routing is done on a longest-match basis (i.e., for a given
   destination which matches multiple network+mask pairs, the match with
   the longest mask is used).  Second, current inter-domain protocols
   generally do not support the concept of route aggregation, so the new
   semantics need to be implemented in a new set of inter-domain
   protocols. In particular, when doing aggregation, dealing with
   multi-homed sites or destinations which change service providers is
   difficult. Fortunately, it is possible to define several fairly
   simple rules for dealing with such cases.

   4.2.  Rules for route advertisement

      1.   Routing to all destinations must be done on a longest-match
           basis only.  This implies that destinations which are multi-
           homed relative to a routing domain must always be explicitly
           announced into that routing domain - they cannot be summarized
           (this makes intuitive sense - if a network is multi-homed, all

           of its paths into a routing domain which is "higher" in the
           hierarchy of networks must be known to the "higher" network).

      2.   A routing domain which performs summarization of multiple
           routes must discard packets which match the summarization but
           do not match any of the explicit routes which makes up the
           summarization. This is necessary to prevent routing loops in
           the presence of less-specific information (such as a default
           route).  Implementation note - one simple way to implement
           this rule would be for the border router to maintain a "sink"
           route for each of its aggregations. By the rule of longest
           match, this would cause all traffic destined to components of
           the aggregation which are not explicitly known to be
           discarded.

   Note that during failures, partial routing of traffic to a site which
   takes its address space from one service provider but which is
   actually reachable only through another (i.e., the case of a site
   which has change service providers) may occur because such traffic
   will be routed along the path advertised by the aggregated route.
   Rule #2 will prevent any real problem from occurring by forcing such
   traffic to be discarded by the advertiser of the aggregated route,
   but the output of "traceroute" and other similar tools will suggest
   that a problem exists within the service provider advertising the
   aggregate, which may be confusing to network operators (see the
   example in section 5.2 for details). Solutions to this problem appear
   to be challenging and not likely to be implementable by current
   Inter-Domain protocols within the time-frame suggested by this
   document. This decision may need to be revisited as Inter-Domain
   protocols evolve.

   An implementation following these rules should also be generalized,
   so that an arbitrary network number and mask are accepted for all
   routing destinations.  The only outstanding constraint is that the
   mask must be left contiguous.  Note that the degenerate route 0.0.0.0
   mask 0.0.0.0 is used as a default route and MUST be accepted by all
   implementations.  Further, to protect against accidental
   advertisements of this route via the inter-domain protocol, this
   route should never be advertised unless there is specific
   configuration information indicating to do so.

   Systems which process route announcements must also be able to verify
   that information which they receive is correct. Thus, implementations
   of this plan which filter route advertisements must also allow masks
   in the filter elements.  To simplify administration, it would be
   useful if filter elements automatically allowed more specific network
   numbers and masks to pass in filter elements given for a more general
   mask.  Thus, filter elements which looked like:

        accept 128.32.0.0
        accept 128.120.0.0
        accept 134.139.0.0
        deny 36.2.0.0
        accept 36.0.0.0

   would look something like:

        accept 128.32.0.0 255.255.0.0
        accept 128.120.0.0 255.255.0.0
        accept 134.139.0.0 255.255.0.0
        deny 36.2.0.0 255.255.0.0
        accept 36.0.0.0 255.0.0.0

   This is merely making explicit the network mask which was implied by
   the class A/B/C classification of network numbers.

   4.3.  How the rules work

   Rule #1 guarantees that the routing algorithm used is consistent
   across implementations and consistent with other routing protocols,
   such as OSPF. Multi-homed networks are always explicitly advertised
   by every service provider through which they are routed even if they
   are a specific subset of one service provider's aggregate (if they
   are not, they clearly must be explicitly advertised). It may seem as
   if the "primary" service provider could advertise the multi-homed
   site implicitly as part of its aggregate, but the assumption that
   longest-match routing is always done causes this not to work.

   Rule #2 guarantees that no routing loops form due to aggregation.
   Consider a mid-level network which has been allocated the 2048 class
   C networks starting with 192.24.0.0 (see the example in section 5 for
   more on this).  The mid-level advertises to a "backbone"
   192.24.0.0/255.248.0.0. Assume that the "backbone", in turn, has been
   allocated the block of networks 192.0.0.0/255.0.0.0. The backbone
   will then advertise this aggregate route to the mid-level. Now, if
   the mid-level loses internal connectivity to the network
   192.24.1.0/255.255.255.0 (which is part of its aggregate), traffic
   from the "backbone" to the mid-level to destination 192.24.1.1 will
   follow the mid-level's advertised route. When that traffic gets to
   the mid-level, however, the mid-level *must not* follow the route
   192.0.0.0/255.0.0.0 it learned from the backbone, since that would
   result in a routing loop. Rule #2 says that the mid-level may not
   follow a less-specific route for a destination which matches one of
   its own aggregated routes. Note that handling of the "default" route
   (0.0.0.0/0.0.0.0) is a special case of this rule - a network must not
   follow the default to destinations which are part of one of it's
   aggregated advertisements.

   4.4.  Responsibility for and configuration of aggregation

   The domain which has been allocated a range of addresses has the sole
   authority for aggregation of its address space.  In the usual case,
   the AS will install manual configuration commands in its border
   routers to aggregate some portion of its address space.  An domain
   can also delegate aggregation authority to another domain.  In this
   case, aggregation is done in the other domain by one of its border
   routers.

   When an inter-domain border router performs route aggregation, it
   needs to know the range of the block of IP addresses to be
   aggregated.  The basic principle is that it should aggregate as much
   as possible but not to aggregate those routes which cannot be treated
   as part of a single unit due to multi-homing, policy, or other
   constraints.

   One mechanism is to do aggregation solely based on dynamically
   learned routing information. This has the danger of not specifying a
   precise enough range since when a route is not present, it is not
   always possible to distinguish whether it is temporarily unreachable
   or that it does not belong in the aggregate. Purely dynamic routing
   also does not allow the flexibility of defining what to aggregate
   within a range. The other mechanism is to do all aggregation based on
   ranges of blocks of IP addresses preconfigured in the router.  It is
   recommended that preconfiguration be used, since it more flexible and
   allows precise specification of the range of destinations to
   aggregate.

   Preconfiguration does require some manually-maintained configuration
   information, but not excessively more so than what router
   administrators already maintain today. As an addition to the amount
   of information that must be typed in and maintained by a human,
   preconfiguration is just a line or two defining the range of the
   block of IP addresses to aggregate. In terms of gathering the
   information, if the advertising router is doing the aggregation, its
   administrator knows the information because the aggregation ranges
   are assigned to its domain.  If the receiving domain has been granted
   the authority to and task of performing aggregation, the information
   would be known as part of the agreement to delegate aggregation.
   Given that it is common practice that a network administrator learns
   from its neighbor which routes it should be willing to accept,
   preconfiguration of aggregation information does not introduce
   additional administrative overhead.

   Implementation note: aggregates which encompass the class D address
   space (multicast addresses) are currently not well understood.  At
   present, it appears that the optimal strategy is to consider

   aggregates to never encompass class D space, even if they do so
   numerically.

   4.5  Intra-domain protocol considerations

   While no changes need be made to internal routing protocols to
   support the advertisement of aggregated routing information between
   autonomous systems, it is often the case that external routing
   information is propagated within interior protocols for policy
   reasons or to aid in the propagation of information through a transit
   network. At the point when aggregated routing information starts to
   appear in the new exterior protocols, this practice of importing
   external information will have to be modified.  A transit network
   which imports external information will have to do one of:

      a) use an interior protocol which supports aggregated routing

      b) find some other method of propagating external information
         which does not involve flooding it through the interior
         protocol (i.e., by the use of internal BGP, for example).

      c) stop the importation of external information and flood a
         "default" route through the internal protocol for discovery
         of paths to external destinations.

   For case (a), the modifications necessary to a routing protocol to
   allow it to support aggregated information may not be simple. For
   protocols such as OSPF and IS-IS, which represent routing information
   as either a destination+mask (OSPF) or as a prefix+prefix-length
   (IS-IS) changes to support aggregated information are conceptually
   fairly simple; for protocols which are dependent on the class-A/B/C
   nature of networks or which support only fixed-sized subnets, the
   changes are of a more fundamental nature. Even in the "conceptually
   simple" cases of OSPF and IS-IS, an implementation may need to be
   modified to support supernets in the database or in the forwarding
   table.

5.  Example of new allocation and routing

   5.1  Address allocation

   Consider the block of 2048 class C network numbers beginning with
   192.24.0.0 (0xC0180000 and ending with 192.31.255.0 (0xC01FFF00)
   allocated to a single network provider, "RA". A "supernetted" route
   to this block of network numbers would be described as 192.24.0.0
   with mask of 255.248.0.0 (0xFFF80000).

   Assume this service provider connects six clients in the following
   order (significant because it demonstrates how temporary "holes" may
   form in the service provider's address space):

       "C1" requiring fewer than 2048 addresses (8 class C networks)

       "C2" requiring fewer than 4096 addresses (16 class C networks)

       "C3" requiring fewer than 1024 addresses (4 class C networks)

       "C4" requiring fewer than 1024 addresses (4 class C networks)

       "C5" requiring fewer than 512 addresses (2 class C networks)

       "C6" requiring fewer than 512 addresses (2 class C networks)

   In all cases, the number of IP addresses "required" by each client is
   assumed to allow for significant growth. The service provider
   allocates its address space as follows:

       C1: allocate 192.24.0 through 192.24.7. This block of networks is
           described by the "supernet" route 192.24.0.0 and mask
           255.255.248.0

       C2: allocate 192.24.16 through 192.24.31. This block is described
           by the route 192.24.16.0, mask 255.255.240.0

       C3: allocate 192.24.8 through 192.24.11. This block is described
           by the route 192.24.8.0, mask 255.255.252.0

       C4: allocate 192.24.12 through 192.24.15. This block is described
           by the route 192.24.12.0, mask 255.255.252.0

       C5: allocate 192.24.32 and 192.24.33. This block is described by
           the route 192.24.32.0, mask 255.255.254.0

       C6: allocate 192.24.34 and 192.24.35. This block is described by
           the route 192.24.34.0, mask 255.255.254.0

   Note that if the network provider uses an IGP which can support
   classless networks, he can (but doesn't have to) perform
   "supernetting" at the point where he connects to his clients and
   therefore only maintain six distinct routes for the 36 class C
   network numbers. If not, explicit routes to all 36 class C networks
   will have to be carried by the IGP.

   To make this example more realistic, assume that C4 and C5 are
   multi-homed through some other service provider, "RB". Further assume

   the existence of a client "C7" which was originally connected to "RB"
   but has moved to "RA". For this reason, it has a block of network
   numbers which are allocated out "RB"'s block of (the next) 2048 class
   C network numbers:

       C7: allocate 192.32.0 through 192.32.15. This block is described
           by the route 192.32.0, mask 255.255.240.0

   For the multi-homed clients, we will assume that C4 is advertised as
   primary via "RA" and secondary via "RB"; C5 is primary via "RB" and
   secondary via "RA". To connect this mess together, we will assume
   that "RA" and "RB" are connected via some common "backbone" provider
   "BB".

   Graphically, this simple topology looks something like this:

                       C1
192.24.0.0 -- 192.24.7.0 \         _ 192.32.0.0 - 192.32.15.0
192.24.0.0/255.255.248.0  \       /  192.32.0.0/255.255.240.0
                           \     /             C7
                       C2  +----+                                 +----+
192.24.16.0 - 192.24.31.0 \|    |                                 |    |
192.24.16.0/255.255.240.0  |    |  _ 192.24.12.0 - 192.24.15.0 _  |    |
                           |    | /  192.24.12.0/255.255.252.0  \ |    |
                       C3 -|    |/              C4               \|    |
192.24.8.0 - 192.24.11.0   | RA |                                 | RB |
192.24.8.0/255.255.252.0   |    |___ 192.24.32.0 - 192.24.33.0 ___|    |
                          /|    |    192.24.32.0/255.255.254.0    |    |
                       C6  |    |               C5                |    |
192.24.34.0 - 192.24.35.0  |    |                                 |    |
192.24.34.0/255.255.254.0  |    |                                 |    |
                           +----+                                 +----+
                              \\                                     \\
192.24.12.0/255.255.252.0 (C4) ||      192.24.12.0/255.255.252.0 (C4) ||
192.32.0.0/255.255.240.0  (C7) ||      192.24.32.0/255.255.254.0 (C5) ||
192.24.0.0/255.248.0.0 (RA)    ||      192.32.0.0/255.248.0.0 (RB)    ||
                               ||                                     ||
                               VV                                     VV
                     +--------------- BACKBONE PEER  BB ---------------+

   5.2  Routing advertisements

   To follow rule #1, RA will need to advertise the block of addresses
   that it was given and C7.  Since C4 is multi-homed and primary
   through RA, it must also be advertised.  C5 is multi-homed and
   primary through RB.  It need not be advertised since longest match by
   BB will automatically select RB as primary and the advertisement of

   RA's aggregate will be used as a secondary.

   Advertisements from "RA" to "BB" will be:

       192.24.12.0/255.255.252.0 primary    (advertises C4)
       192.32.0.0/255.255.240.0 primary     (advertises C7)
       192.24.0.0/255.248.0.0 primary       (advertises remainder of RA)

   For RB, the advertisements must also include C4 and C5 as well as
   it's block of addresses.  Further, RB may advertise that C7 is
   unreachable.

   Advertisements from "RB" to "BB" will be:

       192.24.12.0/255.255.252.0 secondary  (advertises C4)
       192.24.32.0/255.255.254.0 primary    (advertises C5)
       192.32.0.0/255.248.0.0 primary       (advertises remainder of RB)

   To illustrate the problem alluded to by the "note" in section 4.2,
   consider what happens if RA loses connectivity to C7 (the client
   which is allocated out of RB's space). In a stateful protocol, RA
   will announce to BB that 192.32.0.0/255.255.240.0 has become
   unreachable. Now, when BB flushes this information out of its routing
   table, any future traffic sent through it for this destination will
   be forwarded to RB (where it will be dropped according to Rule #2) by
   virtue of RB's less specific match 192.32.0.0/255.248.0.0.  While
   this does not cause an operational problem (C7 is unreachable in any
   case), it does create some extra traffic across "BB" (and may also
   prove confusing to a network manager debugging the outage with
   "traceroute"). A mechanism to cache such unreachability information
   would help here, but is beyond the scope of this document (such a
   mechanism is also not implementable in the near-term).

6.  Extending CIDR to class A addresses

   At some point, it is expected that this plan will eventually consume
   all of the remaining class C address space.  As of this writing, the
   upper half of the class A address space has already been reserved for
   future expansion.  This section describes how the CIDR plan can be
   used to utilize this portion of the class A space efficiently.  It is
   expected that this contingency would only be used if no long term
   solution has become apparent by the time that the class C address
   space is consumed.

   Fundamentally, there are two differences between using a class A
   address and a block of class C's.  First, the configuration of DNS
   becomes somewhat more complicated than it is without the aggregation
   of class A subnets.  The second difference is that the routers within

   the class A address would need to support and use a classless IGP.

   Maintenance of DNS with a subnetted class A is somewhat painful.  As
   part of the mechanism for providing reverse address lookups, DNS
   maintains a "IN-ADDR.ARPA" reverse domain.  This is configured by
   reversing the dotted decimal network number, appending "IN-ADDR.ARPA"
   and using this as a type of pseudo-domain.  Individual hosts then end
   up pointing back to a host name.  Thus, for example, 131.108.1.111
   has a DNS record "111.1.108.131.IN-ADDR.ARPA."  Since the pseudo-
   domains can only be delegated on a byte boundary, this becomes
   painful if a stub domain receives a block of address space that does
   not fall on a byte boundary.  The solution in this case is to
   enumerate all of the possible byte combinations involved.  This is
   painful, but workable.  This is discussed further below.

   Routing within a class A used for CIDR is also an interesting
   challenge.  The usual case will be that a domain will be assigned a
   portion of the class A address space.  The domain can either use an
   IGP which allows variable length subnets or it can pick a single
   subnet mask to be used throughout the domain.  In the latter case,
   difficulties arise because other domains have been allocated other
   parts of the class A address space and may be using a different
   subnet mask.  If the domain is itself a transit, it may also need to
   allocate some portion of its space to a client, which might also use
   a different subnet mask.  The client would then need routing
   information about the remainder of the class A.

   If the client's IGP does not support variable length subnet masks,
   this could be done by advertising the remainder of the class A's
   address space in appropriately sized subnets.  However, unless the
   client has a very large portion of the class A space, this is likely
   to result in a large number of subnets (for example, a mask of
   255.255.255.0 would require a total of 65535 subnets, including those
   allocated to the client).  For this reason, it may be preferable to
   simply use an IGP that supports variable length subnet masks within
   the client's domain.

   Similarly, if a transit has been assigned address space from a class
   A network number, it is likely that it was not assigned the entire
   class A, and that other transit domains will get address space from
   this class A.  In this case, the transit would also have to inject
   routing information about the remainder of the class A into it's IGP.
   This is analogous to the situation above, with the same
   complications.  For this reason, we recommend that the use of a class
   A for CIDR only be attempted if IGP's with variable length subnet
   mask support be used throughout the class A.  Note that the IGP's
   need not support supernetting, as discussed above.

   Note that the technique here could also apply to class B addresses.
   However, the limited number of available class B addresses and their
   usage for multihomed networks suggests that this address space should
   only be reserved for those large single organizations that warrant
   this type of address. [2]

7.   Domain Service considerations

   One aspect of Internet services which will be notably affected by a
   move to either "supernetted" class-C network numbers or subdivided
   class-A's will be the mechanism used for address-to-name translation:
   the IN-ADDR.ARPA zone of the domain system. Because this zone is
   delegated on octet boundaries only, any address allocation plan which
   uses bitmask-oriented addressing will cause some degree of difficulty
   for those which maintain parts of the IN-ADDR.ARPA zone.

   7.1  Procedural changes for class-C "supernets"

   At the present time, parts of the IN-ADDR.ARPA zone are delegated
   only on network boundaries which happen to fall on octet boundaries.
   To aid in the use of blocks of class-C networks, it is recommended
   that this policy be relaxed and allow the delegation of arbitrary,
   octet-oriented pieces of the IN-ADDR.ARPA zone.

   As an example of this policy change, consider a hypothetical large
   network provider named "BigNet" which has been allocated the 1024
   class-C networks 199.0.0 through 199.3.255. Under current policies,
   the root domain servers would need to have 1024 entries of the form:

           0.0.199.IN-ADDR.ARPA.   IN      NS      NS1.BIG.NET.

           1.0.199.IN-ADDR.ARPA.   IN      NS      NS1.BIG.NET.

                   ....

           255.3.199.IN-ADDR.ARPA. IN      NS      NS1.BIG.NET.

   By revising the policy as described above, this is reduced only four
   delegation records:

           0.199.IN-ADDR.ARPA.     IN      NS      NS1.BIG.NET.

           1.199.IN-ADDR.ARPA.     IN      NS      NS1.BIG.NET.

           2.199.IN-ADDR.ARPA.     IN      NS      NS1.BIG.NET.

           3.199.IN-ADDR.ARPA.     IN      NS      NS1.BIG.NET.

   The provider would then maintain further delegations of naming
   authority for each individual class-C network which it assigns,
   rather than having each registered separately. Note that due to the
   way the DNS is designed, it is still possible for the root
   nameservers to maintain the delegation information for individual
   networks for which the provider is unwilling or unable to do so. This
   should greatly reduce the load on the domain servers for the "top"
   levels of the IN-ADDR.ARPA domain.  The example above illustrates
   only the records for a single nameserver.  In the normal case, there
   are usually several nameservers for each domain, thus the size of the
   examples will double or triple in the common cases.

   7.2  Procedural changes for class-A subnetting

   Should it be the case the class-A network numbers are subdivided into
   blocks allocated to transit network providers, it will be similarly
   necessary to relax the restriction on how IN-ADDR.ARPA naming works
   for them. As an example, take a provider is allocated the 19-bit
   portion of address space which matches 10.8.0.0 with mask
   255.248.0.0. This represents all addresses which begin with the
   prefixes 10.8, 10.9, 10.10, 10.11, 10.12, 10.13, 10.14, an 10.15 and
   requires the following IN-ADDR.ARPA delegations:

           8.10.IN-ADDR.ARPA.      IN      NS      NS1.MOBY.NET.

           9.10.IN-ADDR.ARPA.      IN      NS      NS1.MOBY.NET.

                   ....

           15.10.IN-ADDR.ARPA.     IN      NS      NS1.MOBY.NET.

   To further illustrate how IN-ADDR.ARPA sub-delegation will work,
   consider a company named "FOO" connected to this provider which has
   been allocated the 14-bit piece of address space which matches
   10.10.64.0 with mask 255.255.192.0. This represents all addresses in
   the range 10.10.64.0 through 10.10.127.255 and will require that the
   provider implement the following IN-ADDR.ARPA delegations:

           64.10.10.IN-ADDR.ARPA.  IN      NS      NS1.FOO.COM.

           65.10.10.IN-ADDR.ARPA.  IN      NS      NS1.FOO.COM.

                   ....

           127.10.10.IN-ADDR.ARPA. IN      NS      NS1.FOO.COM.

   with the servers for "FOO.COM" containing the individual PTR records
   for all of the addresses on each of these subnets.

8.  Transitioning to a long term solution

   This solution does not change the Internet routing and addressing
   architectures.  Hence, transitioning to a more long term solution is
   not affected by the deployment of this plan.

9.  Conclusions

   We are all aware of the growth in routing complexity, and the rapid
   increase in allocation of network numbers.  Given the rate at which
   this growth is being observed, we expect to run out in a few short
   years.

   If the inter-domain routing protocol supports carrying network routes
   with associated masks, all of the major concerns demonstrated in this
   paper would be eliminated.

   One of the influential factors which permits maximal exploitation of
   the advantages of this plan is the number of people who agree to use
   it.

   If service providers start charging networks for advertising network
   numbers, this would be a very great incentive to share the address
   space, and hence the associated costs of advertising routes to
   service providers.

10.  Recommendations

   The NIC should begin to hand out large blocks of class C addresses to
   network service providers.  Each block must fall on bit boundaries
   and should be large enough to serve the provider for two years.
   Further, the NIC should distribute very large blocks to continental
   and national network service organizations to allow additional levels
   of aggregation to take place at the major backbone networks.  In
   addition, the NIC should modify its procedures for the IN-ADDR.ARPA
   domain to permit delegation along arbitrary octet boundaries.

   Service providers will further allocate power-of-two blocks of class
   C addresses from their address space to their subscribers.

   All organizations, including those which are multi-homed, should
   obtain address space from their provider (or one of their providers,
   in the case of the multi-homed).  These blocks should also fall on
   bit boundaries to permit easy route aggregation.

   To allow effective use of this new addressing plan to reduce
   propagated routing information, appropriate IETF WGs will specify the
   modifications needed to Inter-Domain routing protocols.

   Implementation and deployment of these modifications should occur as
   quickly as possible.

11  References

   [1] Moy, J, "The OSPF Specification  Version 2", RFC 1247, Proteon,
       Inc., January 1991.

   [2] Rekhter, Y., and T. Li, "An Architecture for IP Address
       Allocation with CIDR", RFC 1518, T.J. Watson Research Center, IBM
       Corp., cisco Systems, September 1993.

12.  Security Considerations

   Security issues are not discussed in this memo.

13.  Authors' Addresses

   Vince Fuller
   BARRNet
   Pine Hall 115
   Stanford, CA, 94305-4122

   EMail: vaf@Stanford.EDU

   Tony Li
   cisco Systems, Inc.
   1525 O'Brien Drive
   Menlo Park, CA 94025

   EMail: tli@cisco.com

   Jessica (Jie Yun) Yu
   Merit Network, Inc.
   1071 Beal Ave.
   Ann Arbor, MI 48109

   EMail: jyy@merit.edu

   Kannan Varadhan
   Internet Engineer, OARnet
   1224, Kinnear Road,
   Columbus, OH 43212

   EMail: kannan@oar.net

 

User Contributions:

1
Internet Shadow
Interesting but why need a classificassion system at all. and where is all this info kept anyway?

Comment about this RFC, ask questions, or add new information about this topic: