faqs.org - Internet FAQ Archives

RFC 1518 - An Architecture for IP Address Allocation with CIDR


Or Display the document by number




Network Working Group                                         Y. Rekhter
Request for Comments: 1518        T.J. Watson Research Center, IBM Corp.
Category: Standards Track                                          T. Li
                                                           cisco Systems
                                                                 Editors
                                                          September 1993

          An Architecture for IP Address Allocation with CIDR

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.

1.  Introduction

   This paper provides an architecture and a plan for allocating IP
   addresses in the Internet. This architecture and the plan are
   intended to play an important role in steering the Internet towards
   the Address Assignment and Aggregating Strategy outlined in [1].

   The IP address space is a scarce shared resource that must be managed
   for the good of the community. The managers of this resource are
   acting as its custodians. They have a responsibility to the community
   to manage it for the common good.

2.  Scope

   The global Internet can be modeled as a collection of hosts
   interconnected via transmission and switching facilities.  Control
   over the collection of hosts and the transmission and switching
   facilities that compose the networking resources of the global
   Internet is not homogeneous, but is distributed among multiple
   administrative authorities. Resources under control of a single
   administration form a domain.  For the rest of this paper, "domain"
   and "routing domain" will be used interchangeably.  Domains that
   share their resources with other domains are called network service
   providers (or just providers). Domains that utilize other domain's
   resources are called network service subscribers (or just
   subscribers).  A given domain may act as a provider and a subscriber
   simultaneously.

   There are two aspects of interest when discussing IP address
   allocation within the Internet. The first is the set of
   administrative requirements for obtaining and allocating IP
   addresses; the second is the technical aspect of such assignments,
   having largely to do with routing, both within a routing domain
   (intra-domain routing) and between routing domains (inter-domain
   routing). This paper focuses on the technical issues.

   In the current Internet many routing domains (such as corporate and
   campus networks) attach to transit networks (such as regionals) in
   only one or a small number of carefully controlled access points.
   The former act as subscribers, while the latter act as providers.

   The architecture and recommendations provided in this paper are
   intended for immediate deployment. This paper specifically does not
   address long-term research issues, such as complex policy-based
   routing requirements.

   Addressing solutions which require substantial changes or constraints
   on the current topology are not considered.

   The architecture and recommendations in this paper are oriented
   primarily toward the large-scale division of IP address allocation in
   the Internet. Topics covered include:

      - Benefits of encoding some topological information in IP
        addresses to significantly reduce routing protocol overhead;

      - The anticipated need for additional levels of hierarchy in
        Internet addressing to support network growth;

      - The recommended mapping between Internet topological entities
        (i.e., service providers, and service subscribers) and IP
        addressing and routing components;

      - The recommended division of IP address assignment among service
        providers (e.g., backbones, regionals), and service subscribers
        (e.g., sites);

      - Allocation of the IP addresses by the Internet Registry;

      - Choice of the high-order portion of the IP addresses in leaf
        routing domains that are connected to more than one service
        provider (e.g., backbone or a regional network).

   It is noted that there are other aspects of IP address allocation,
   both technical and administrative, that are not covered in this
   paper.  Topics not covered or mentioned only superficially include:

      - Identification of specific administrative domains in the
        Internet;

      - Policy or mechanisms for making registered information known to
        third parties (such as the entity to which a specific IP address
        or a portion of the IP address space has been allocated);

      - How a routing domain (especially a site) should organize its
        internal topology or allocate portions of its IP address space;
        the relationship between topology and addresses is discussed,
        but the method of deciding on a particular topology or internal
        addressing plan is not; and,

       - Procedures for assigning host IP addresses.

3.  Background

   Some background information is provided in this section that is
   helpful in understanding the issues involved in IP address
   allocation. A brief discussion of IP routing is provided.

   IP partitions the routing problem into three parts:

      - routing exchanges between end systems and routers (ARP),

      - routing exchanges between routers in the same routing domain
        (interior routing), and,

      - routing among routing domains (exterior routing).

4. IP Addresses and Routing

   For the purposes of this paper, an IP prefix is an IP address and
   some indication of the leftmost contiguous significant bits within
   this address. Throughout this paper IP address prefixes will be
   expressed as <IP-address IP-mask> tuples, such that a bitwise logical
   AND operation on the IP-address and IP-mask components of a tuple
   yields the sequence of leftmost contiguous significant bits that form
   the IP address prefix. For example a tuple with the value <193.1.0.0
   255.255.0.0> denotes an IP address prefix with 16 leftmost contiguous
   significant bits.

   When determining an administrative policy for IP address assignment,
   it is important to understand the technical consequences. The
   objective behind the use of hierarchical routing is to achieve some
   level of routing data abstraction, or summarization, to reduce the
   cpu, memory, and transmission bandwidth consumed in support of
   routing.

   While the notion of routing data abstraction may be applied to
   various types of routing information, this paper focuses on one
   particular type, namely reachability information. Reachability
   information describes the set of reachable destinations.  Abstraction
   of reachability information dictates that IP addresses be assigned
   according to topological routing structures. However, administrative
   assignment falls along organizational or political boundaries. These
   may not be congruent to topological boundaries and therefore the
   requirements of the two may collide. It is necessary to find a
   balance between these two needs.

   Routing data abstraction occurs at the boundary between
   hierarchically arranged topological routing structures. An element
   lower in the hierarchy reports summary routing information to its
   parent(s).

   At routing domain boundaries, IP address information is exchanged
   (statically or dynamically) with other routing domains. If IP
   addresses within a routing domain are all drawn from non-contiguous
   IP address spaces (allowing no abstraction), then the boundary
   information consists of an enumerated list of all the IP addresses.

   Alternatively, should the routing domain draw IP addresses for all
   the hosts within the domain from a single IP address prefix, boundary
   routing information can be summarized into the single IP address
   prefix.  This permits substantial data reduction and allows better
   scaling (as compared to the uncoordinated addressing discussed in the
   previous paragraph).

   If routing domains are interconnected in a more-or-less random (i.e.,
   non-hierarchical) scheme, it is quite likely that no further
   abstraction of routing data can occur. Since routing domains would
   have no defined hierarchical relationship, administrators would not
   be able to assign IP addresses within the domains out of some common
   prefix for the purpose of data abstraction. The result would be flat
   inter-domain routing; all routing domains would need explicit
   knowledge of all other routing domains that they route to.  This can
   work well in small and medium sized internets.  However, this does
   not scale to very large internets.  For example, we expect growth in
   the future to an Internet which has tens or hundreds of thousands of
   routing domains in North America alone.  This requires a greater
   degree of the reachability information abstraction beyond that which
   can be achieved at the "routing domain" level.

   In the Internet, however, it should be possible to significantly
   constrain the volume and the complexity of routing information by
   taking advantage of the existing hierarchical interconnectivity, as
   discussed in Section 5. Thus, there is the opportunity for a group of

   routing domains each to be assigned an address prefix from a shorter
   prefix assigned to another routing domain whose function is to
   interconnect the group of routing domains. Each member of the group
   of routing domains now has its (somewhat longer) prefix, from which
   it assigns its addresses.

   The most straightforward case of this occurs when there is a set of
   routing domains which are all attached to a single service provider
   domain (e.g., regional network), and which use that provider for all
   external (inter-domain) traffic.  A small prefix may be given to the
   provider, which then gives slightly longer prefixes (based on the
   provider's prefix) to each of the routing domains that it
   interconnects. This allows the provider, when informing other routing
   domains of the addresses that it can reach, to abbreviate the
   reachability information for a large number of routing domains as a
   single prefix. This approach therefore can allow a great deal of
   hierarchical abbreviation of routing information, and thereby can
   greatly improve the scalability of inter-domain routing.

   Clearly, this approach is recursive and can be carried through
   several iterations. Routing domains at any "level" in the hierarchy
   may use their prefix as the basis for subsequent suballocations,
   assuming that the IP addresses remain within the overall length and
   structure constraints.

   At this point, we observe that the number of nodes at each lower
   level of a hierarchy tends to grow exponentially. Thus the greatest
   gains in the reachability information abstraction (for the benefit of
   all higher levels of the hierarchy) occur when the reachability
   information aggregation occurs near the leaves of the hierarchy; the
   gains drop significantly at each higher level. Therefore, the law of
   diminishing returns suggests that at some point data abstraction
   ceases to produce significant benefits. Determination of the point at
   which data abstraction ceases to be of benefit requires a careful
   consideration of the number of routing domains that are expected to
   occur at each level of the hierarchy (over a given period of time),
   compared to the number of routing domains and address prefixes that
   can conveniently and efficiently be handled via dynamic inter-domain
   routing protocols.

4.1  Efficiency versus Decentralized Control

   If the Internet plans to support a decentralized address
   administration [4], then there is a balance that must be sought
   between the requirements on IP addresses for efficient routing and
   the need for decentralized address administration. A proposal
   described in [3] offers an example of how these two needs might be
   met.

   The IP address prefix <198.0.0.0 254.0.0.0> provides for
   administrative decentralization. This prefix identifies part of the
   IP address space allocated for North America. The lower order part of
   that prefix allows allocation of IP addresses along topological
   boundaries in support of increased data abstraction.  Clients within
   North America use parts of the IP address space that is underneath
   the IP address space of their service providers.  Within a routing
   domain addresses for subnetworks and hosts are allocated from the
   unique IP prefix assigned to the domain.

5.  IP Address Administration and Routing in the Internet

   The basic Internet routing components are service providers (e.g.,
   backbones, regional networks), and service subscribers (e.g., sites
   or campuses).  These components are arranged hierarchically for the
   most part.  A natural mapping from these components to IP routing
   components is that providers and subscribers act as routing domains.

   Alternatively, a subscriber (e.g., a site) may choose to operate as a
   part of a domain formed by a service provider. We assume that some,
   if not most, sites will prefer to operate as part of their provider's
   routing domain.  Such sites can exchange routing information with
   their provider via interior routing protocol route leaking or via an
   exterior routing protocol.  For the purposes of this discussion, the
   choice is not significant.  The site is still allocated a prefix from
   the provider's address space, and the provider will advertise its own
   prefix into inter-domain routing.

   Given such a mapping, where should address administration and
   allocation be performed to satisfy both administrative
   decentralization and data abstraction? The following possibilities
   are considered:

      - at some part within a routing domain,

      - at the leaf routing domain,

      - at the transit routing domain (TRD), and

      - at the continental boundaries.

      A point within a routing domain corresponds to a subnetwork. If a
      domain is composed of multiple subnetworks, they are
      interconnected via routers.  Leaf routing domains correspond to
      sites, where the primary purpose is to provide intra-domain
      routing services. Transit routing domains are deployed to carry
      transit (i.e., inter-domain) traffic; backbones and providers are
      TRDs.

      The greatest burden in transmitting and operating on routing
      information is at the top of the routing hierarchy, where routing
      information tends to accumulate. In the Internet, for example,
      providers must manage the set of network numbers for all networks
      reachable through the provider. Traffic destined for other
      providers is generally routed to the backbones (which act as
      providers as well).  The backbones, however, must be cognizant of
      the network numbers for all attached providers and their
      associated networks.

      In general, the advantage of abstracting routing information at a
      given level of the routing hierarchy is greater at the higher
      levels of the hierarchy. There is relatively little direct benefit
      to the administration that performs the abstraction, since it must
      maintain routing information individually on each attached
      topological routing structure.

      For example, suppose that a given site is trying to decide whether
      to obtain an IP address prefix directly from the IP address space
      allocated for North America, or from the IP address space
      allocated to its service provider. If considering only their own
      self-interest, the site itself and the attached provider have
      little reason to choose one approach or the other. The site must
      use one prefix or another; the source of the prefix has little
      effect on routing efficiency within the site. The provider must
      maintain information about each attached site in order to route,
      regardless of any commonality in the prefixes of the sites.

      However, there is a difference when the provider distributes
      routing information to other providers (e.g., backbones or TRDs).
      In the first case, the provider cannot aggregate the site's
      address into its own prefix; the address must be explicitly listed
      in routing exchanges, resulting in an additional burden to other
      providers which must exchange and maintain this information.

      In the second case, each other provider (e.g., backbone or TRD)
      sees a single address prefix for the provider, which encompasses
      the new site. This avoids the exchange of additional routing
      information to identify the new site's address prefix. Thus, the
      advantages primarily accrue to other providers which maintain
      routing information about this site and provider.

      One might apply a supplier/consumer model to this problem: the
      higher level (e.g., a backbone) is a supplier of routing services,
      while the lower level (e.g., a TRD) is the consumer of these
      services. The price charged for services is based upon the cost of
      providing them.  The overhead of managing a large table of
      addresses for routing to an attached topological entity

      contributes to this cost.

      The Internet, however, is not a market economy. Rather, efficient
      operation is based on cooperation. The recommendations discussed
      below describe simple and tractable ways of managing the IP
      address space that benefit the entire community.

5.1   Administration of IP addresses within a domain

      If individual subnetworks take their IP addresses from a myriad of
      unrelated IP address spaces, there will be effectively no data
      abstraction beyond what is built into existing intra-domain
      routing protocols.  For example, assume that within a routing
      domain uses three independent prefixes assigned from three
      different IP address spaces associated with three different
      attached providers.

      This has a negative effect on inter-domain routing, particularly
      on those other domains which need to maintain routes to this
      domain.  There is no common prefix that can be used to represent
      these IP addresses and therefore no summarization can take place
      at the routing domain boundary. When addresses are advertised by
      this routing domain to other routing domains, an enumerated list
      of the three individual prefixes must be used.

      This situation is roughly analogous to the present dissemination
      of routing information in the Internet, where each domain may have
      non-contiguous network numbers assigned to it.  The result of
      allowing subnetworks within a routing domain to take their IP
      addresses from unrelated IP address spaces is flat routing at the
      A/B/C class network level.  The number of IP prefixes that leaf
      routing domains would advertise is on the order of the number of
      attached network numbers; the number of prefixes a provider's
      routing domain would advertise is approximately the number of
      network numbers attached to the client leaf routing domains; and
      for a backbone this would be summed across all attached providers.
      This situation is just barely acceptable in the current Internet,
      and as the Internet grows this will quickly become intractable. A
      greater degree of hierarchical information reduction is necessary
      to allow continued growth in the Internet.

5.2   Administration at the Leaf Routing Domain

      As mentioned previously, the greatest degree of data abstraction
      comes at the lowest levels of the hierarchy. Providing each leaf
      routing domain (that is, site) with a prefix from its provider's
      prefix results in the biggest single increase in abstraction. From
      outside the leaf routing domain, the set of all addresses

      reachable in the domain can then be represented by a single
      prefix.  Further, all destinations reachable within the provider's
      prefix can be represented by a single prefix.

      For example, consider a single campus which is a leaf routing
      domain which would currently require 4 different IP networks.
      Under the new allocation scheme, they might instead be given a
      single prefix which provides the same number of destination
      addresses.  Further, since the prefix is a subset of the
      provider's prefix, they impose no additional burden on the higher
      levels of the routing hierarchy.

      There is a close relationship between subnetworks and routing
      domains implicit in the fact that they operate a common routing
      protocol and are under the control of a single administration. The
      routing domain administration subdivides the domain into
      subnetworks.  The routing domain represents the only path between
      a subnetwork and the rest of the internetwork. It is reasonable
      that this relationship also extend to include a common IP
      addressing space. Thus, the subnetworks within the leaf routing
      domain should take their IP addresses from the prefix assigned to
      the leaf routing domain.

5.3   Administration at the Transit Routing Domain

      Two kinds of transit routing domains are considered, direct
      providers and indirect providers. Most of the subscribers of a
      direct provider are domains that act solely as service subscribers
      (they carry no transit traffic). Most of the subscribers of an
      indirect provider are domains that, themselves, act as service
      providers. In present terminology a backbone is an indirect
      provider, while a TRD is a direct provider. Each case is discussed
      separately below.

5.3.1   Direct Service Providers

      It is interesting to consider whether direct service providers'
      routing domains should use their IP address space for assigning IP
      addresses from a unique prefix to the leaf routing domains that
      they serve. The benefits derived from data abstraction are greater
      than in the case of leaf routing domains, and the additional
      degree of data abstraction provided by this may be necessary in
      the short term.

      As an illustration consider an example of a direct provider that
      serves 100 clients. If each client takes its addresses from 4
      independent address spaces then the total number of entries that
      are needed to handle routing to these clients is 400 (100 clients

      times 4 providers).  If each client takes its addresses from a
      single address space then the total number of entries would be
      only 100. Finally, if all the clients take their addresses from
      the same address space then the total number of entries would be
      only 1.

      We expect that in the near term the number of routing domains in
      the Internet will grow to the point that it will be infeasible to
      route on the basis of a flat field of routing domains. It will
      therefore be essential to provide a greater degree of information
      abstraction.

      Direct providers may give part of their address space (prefixes)
      to leaf domains, based on an address prefix given to the provider.
      This results in direct providers advertising to backbones a small
      fraction of the number of address prefixes that would be necessary
      if they enumerated the individual prefixes of the leaf routing
      domains.  This represents a significant savings given the expected
      scale of global internetworking.

      Are leaf routing domains willing to accept prefixes derived from
      the direct providers? In the supplier/consumer model, the direct
      provider is offering connectivity as the service, priced according
      to its costs of operation. This includes the "price" of obtaining
      service from one or more indirect providers (e.g., backbones). In
      general, indirect providers will want to handle as few address
      prefixes as possible to keep costs low. In the Internet
      environment, which does not operate as a typical marketplace, leaf
      routing domains must be sensitive to the resource constraints of
      the providers (both direct and indirect). The efficiencies gained
      in inter-domain routing clearly warrant the adoption of IP address
      prefixes derived from the IP address space of the providers.

      The mechanics of this scenario are straightforward. Each direct
      provider is given a unique small set of IP address prefixes, from
      which its attached leaf routing domains can allocates slightly
      longer IP address prefixes.  For example assume that NIST is a
      leaf routing domain whose inter-domain link is via SURANet. If
      SURANet is assigned an unique IP address prefix <198.1.0.0
      255.255.0.0>, NIST could use a unique IP prefix of <198.1.0.0
      255.255.240.0>.

      If a direct service provider is connected to another provider(s)
      (either direct or indirect) via multiple attachment points, then
      in certain cases it may be advantageous to the direct provider to
      exert a certain degree of control over the coupling between the
      attachment points and flow of the traffic destined to a particular
      subscriber.  Such control can be facilitated by first partitioning

      all the subscribers into groups, such that traffic destined to all
      the subscribers within a group should flow through a particular
      attachment point. Once the partitioning is done, the address space
      of the provider is subdivided along the group boundaries. A leaf
      routing domain that is willing to accept prefixes derived from its
      direct provider gets a prefix from the provider's address space
      subdivision associated with the group the domain belongs to. Note
      that the advertisement by the direct provider of the routing
      information associated with each subdivision must be done with
      care to ensure that such an advertisement would not result in a
      global distribution of separate reachability information
      associated with each subdivision, unless such distribution is
      warranted for some other purposes (e.g., supporting certain
      aspects of policy-based routing).

5.3.2   Indirect Providers (Backbones)

      There does not appear to be a strong case for direct providers to
      take their address spaces from the the IP space of an indirect
      provider (e.g., backbone). The benefit in routing data abstraction
      is relatively small. The number of direct providers today is in
      the tens and an order of magnitude increase would not cause an
      undue burden on the backbones.  Also, it may be expected that as
      time goes by there will be increased direct interconnection of the
      direct providers, leaf routing domains directly attached to the
      backbones, and international links directly attached to the
      providers. Under these circumstances, the distinction between
      direct and indirect providers may become blurred.

      An additional factor that discourages allocation of IP addresses
      from a backbone prefix is that the backbones and their attached
      providers are perceived as being independent. Providers may take
      their long- haul service from one or more backbones, or may switch
      backbones should a more cost-effective service be provided
      elsewhere. Having IP addresses derived from a backbone is
      inconsistent with the nature of the relationship.

5.4   Multi-homed Routing Domains

      The discussions in Section 5.3 suggest methods for allocating IP
      addresses based on direct or indirect provider connectivity. This
      allows a great deal of information reduction to be achieved for
      those routing domains which are attached to a single TRD. In
      particular, such routing domains may select their IP addresses
      from a space delegated to them by the direct provider. This allows
      the provider, when announcing the addresses that it can reach to
      other providers, to use a single address prefix to describe a
      large number of IP addresses corresponding to multiple routing

      domains.

      However, there are additional considerations for routing domains
      which are attached to multiple providers. Such "multi-homed"
      routing domains may, for example, consist of single-site campuses
      and companies which are attached to multiple backbones, large
      organizations which are attached to different providers at
      different locations in the same country, or multi-national
      organizations which are attached to backbones in a variety of
      countries worldwide. There are a number of possible ways to deal
      with these multi-homed routing domains.

      One possible solution is for each multi-homed organization to
      obtain its IP address space independently from the providers to
      which it is attached.  This allows each multi-homed organization
      to base its IP assignments on a single prefix, and to thereby
      summarize the set of all IP addresses reachable within that
      organization via a single prefix.  The disadvantage of this
      approach is that since the IP address for that organization has no
      relationship to the addresses of any particular TRD, the TRDs to
      which this organization is attached will need to advertise the
      prefix for this organization to other providers.  Other providers
      (potentially worldwide) will need to maintain an explicit entry
      for that organization in their routing tables.

      For example, suppose that a very large North American company
      "Mega Big International Incorporated" (MBII) has a fully
      interconnected internal network and is assigned a single prefix as
      part of the North American prefix.  It is likely that outside of
      North America, a single entry may be maintained in routing tables
      for all North American destinations.  However, within North
      America, every provider will need to maintain a separate address
      entry for MBII. If MBII is in fact an international corporation,
      then it may be necessary for every provider worldwide to maintain
      a separate entry for MBII (including backbones to which MBII is
      not attached). Clearly this may be acceptable if there are a small
      number of such multi-homed routing domains, but would place an
      unacceptable load on routers within backbones if all organizations
      were to choose such address assignments.  This solution may not
      scale to internets where there are many hundreds of thousands of
      multi-homed organizations.

      A second possible approach would be for multi-homed organizations
      to be assigned a separate IP address space for each connection to
      a TRD, and to assign a single prefix to some subset of its
      domain(s) based on the closest interconnection point. For example,
      if MBII had connections to two providers in the U.S. (one east
      coast, and one west coast), as well as three connections to

      national backbones in Europe, and one in the far east, then MBII
      may make use of six different address prefixes.  Each part of MBII
      would be assigned a single address prefix based on the nearest
      connection.

      For purposes of external routing of traffic from outside MBII to a
      destination inside of MBII, this approach works similarly to
      treating MBII as six separate organizations. For purposes of
      internal routing, or for routing traffic from inside of MBII to a
      destination outside of MBII, this approach works the same as the
      first solution.

      If we assume that incoming traffic (coming from outside of MBII,
      with a destination within MBII) is always to enter via the nearest
      point to the destination, then each TRD which has a connection to
      MBII needs to announce to other TRDs the ability to reach only
      those parts of MBII whose address is taken from its own address
      space. This implies that no additional routing information needs
      to be exchanged between TRDs, resulting in a smaller load on the
      inter-domain routing tables maintained by TRDs when compared to
      the first solution. This solution therefore scales better to
      extremely large internets containing very large numbers of multi-
      homed organizations.

      One problem with the second solution is that backup routes to
      multi-homed organizations are not automatically maintained. With
      the first solution, each TRD, in announcing the ability to reach
      MBII, specifies that it is able to reach all of the hosts within
      MBII. With the second solution, each TRD announces that it can
      reach all of the hosts based on its own address prefix, which only
      includes some of the hosts within MBII. If the connection between
      MBII and one particular TRD were severed, then the hosts within
      MBII with addresses based on that TRD would become unreachable via
      inter-domain routing. The impact of this problem can be reduced
      somewhat by maintenance of additional information within routing
      tables, but this reduces the scaling advantage of the second
      approach.

      The second solution also requires that when external connectivity
      changes, internal addresses also change.

      Also note that this and the previous approach will tend to cause
      packets to take different routes. With the first approach, packets
      from outside of MBII destined for within MBII will tend to enter
      via the point which is closest to the source (which will therefore
      tend to maximize the load on the networks internal to MBII). With
      the second solution, packets from outside destined for within MBII
      will tend to enter via the point which is closest to the

      destination (which will tend to minimize the load on the networks
      within MBII, and maximize the load on the TRDs).

      These solutions also have different effects on policies. For
      example, suppose that country "X" has a law that traffic from a
      source within country X to a destination within country X must at
      all times stay entirely within the country. With the first
      solution, it is not possible to determine from the destination
      address whether or not the destination is within the country. With
      the second solution, a separate address may be assigned to those
      hosts which are within country X, thereby allowing routing
      policies to be followed.  Similarly, suppose that "Little Small
      Company" (LSC) has a policy that its packets may never be sent to
      a destination that is within MBII. With either solution, the
      routers within LSC may be configured to discard any traffic that
      has a destination within MBII's address space. However, with the
      first solution this requires one entry; with the second it
      requires many entries and may be impossible as a practical matter.

      There are other possible solutions as well. A third approach is to
      assign each multi-homed organization a single address prefix,
      based on one of its connections to a TRD. Other TRDs to which the
      multi-homed organization are attached maintain a routing table
      entry for the organization, but are extremely selective in terms
      of which other TRDs are told of this route. This approach will
      produce a single "default" routing entry which all TRDs will know
      how to reach (since presumably all TRDs will maintain routes to
      each other), while providing more direct routing in some cases.

      There is at least one situation in which this third approach is
      particularly appropriate. Suppose that a special interest group of
      organizations have deployed their own backbone. For example, lets
      suppose that the U.S. National Widget Manufacturers and
      Researchers have set up a U.S.-wide backbone, which is used by
      corporations who manufacture widgets, and certain universities
      which are known for their widget research efforts. We can expect
      that the various organizations which are in the widget group will
      run their internal networks as separate routing domains, and most
      of them will also be attached to other TRDs (since most of the
      organizations involved in widget manufacture and research will
      also be involved in other activities). We can therefore expect
      that many or most of the organizations in the widget group are
      dual-homed, with one attachment for widget-associated
      communications and the other attachment for other types of
      communications. Let's also assume that the total number of
      organizations involved in the widget group is small enough that it
      is reasonable to maintain a routing table containing one entry per
      organization, but that they are distributed throughout a larger

      internet with many millions of (mostly not widget-associated)
      routing domains.

      With the third approach, each multi-homed organization in the
      widget group would make use of an address assignment based on its
      other attachment(s) to TRDs (the attachments not associated with
      the widget group). The widget backbone would need to maintain
      routes to the routing domains associated with the various member
      organizations.  Similarly, all members of the widget group would
      need to maintain a table of routes to the other members via the
      widget backbone.  However, since the widget backbone does not
      inform other general worldwide TRDs of what addresses it can reach
      (since the backbone is not intended for use by other outside
      organizations), the relatively large set of routing prefixes needs
      to be maintained only in a limited number of places. The addresses
      assigned to the various organizations which are members of the
      widget group would provide a "default route" via each members
      other attachments to TRDs, while allowing communications within
      the widget group to use the preferred path.

      A fourth solution involves assignment of a particular address
      prefix for routing domains which are attached to precisely two (or
      more) specific routing domains. For example, suppose that there
      are two providers "SouthNorthNet" and "NorthSouthNet" which have a
      very large number of customers in common (i.e., there are a large
      number of routing domains which are attached to both). Rather than
      getting two address prefixes these organizations could obtain
      three prefixes.  Those routing domains which are attached to
      NorthSouthNet but not attached to SouthNorthNet obtain an address
      assignment based on one of the prefixes. Those routing domains
      which are attached to SouthNorthNet but not to NorthSouthNet would
      obtain an address based on the second prefix. Finally, those
      routing domains which are multi-homed to both of these networks
      would obtain an address based on the third prefix.  Each of these
      two TRDs would then advertise two prefixes to other TRDs, one
      prefix for leaf routing domains attached to it only, and one
      prefix for leaf routing domains attached to both.

      This fourth solution is likely to be important when use of public
      data networks becomes more common. In particular, it is likely
      that at some point in the future a substantial percentage of all
      routing domains will be attached to public data networks. In this
      case, nearly all government-sponsored networks (such as some
      current regionals) may have a set of customers which overlaps
      substantially with the public networks.

      There are therefore a number of possible solutions to the problem
      of assigning IP addresses to multi-homed routing domains. Each of

      these solutions has very different advantages and disadvantages.
      Each solution places a different real (i.e., financial) cost on
      the multi-homed organizations, and on the TRDs (including those to
      which the multi-homed organizations are not attached).

      In addition, most of the solutions described also highlight the
      need for each TRD to develop policy on whether and under what
      conditions to accept addresses that are not based on its own
      address prefix, and how such non-local addresses will be treated.
      For example, a somewhat conservative policy might be that non-
      local IP address prefixes will be accepted from any attached leaf
      routing domain, but not advertised to other TRDs.  In a less
      conservative policy, a TRD might accept such non-local prefixes
      and agree to exchange them with a defined set of other TRDs (this
      set could be an a priori group of TRDs that have something in
      common such as geographical location, or the result of an
      agreement specific to the requesting leaf routing domain). Various
      policies involve real costs to TRDs, which may be reflected in
      those policies.

5.5   Private Links

      The discussion up to this point concentrates on the relationship
      between IP addresses and routing between various routing domains
      over transit routing domains, where each transit routing domain
      interconnects a large number of routing domains and offers a
      more-or-less public service.

      However, there may also exist a number of links which interconnect
      two routing domains in such a way, that usage of these links may
      be limited to carrying traffic only between the two routing
      domains.  We'll refer to such links as "private".

      For example, let's suppose that the XYZ corporation does a lot of
      business with MBII. In this case, XYZ and MBII may contract with a
      carrier to provide a private link between the two corporations,
      where this link may only be used for packets whose source is
      within one of the two corporations, and whose destination is
      within the other of the two corporations. Finally, suppose that
      the point-to-point link is connected between a single router
      (router X) within XYZ corporation and a single router (router M)
      within MBII. It is therefore necessary to configure router X to
      know which addresses can be reached over this link (specifically,
      all addresses reachable in MBII). Similarly, it is necessary to
      configure router M to know which addresses can be reached over
      this link (specifically, all addresses reachable in XYZ
      Corporation).

      The important observation to be made here is that the additional
      connectivity due to such private links may be ignored for the
      purpose of IP address allocation, and do not pose a problem for
      routing. This is because the routing information associated with
      such connectivity is not propagated throughout the Internet, and
      therefore does not need to be collapsed into a TRD's prefix.

      In our example, let's suppose that the XYZ corporation has a
      single connection to a regional, and has therefore uses the IP
      address space from the space given to that regional.  Similarly,
      let's suppose that MBII, as an international corporation with
      connections to six different providers, has chosen the second
      solution from Section 5.4, and therefore has obtained six
      different address allocations. In this case, all addresses
      reachable in the XYZ Corporation can be described by a single
      address prefix (implying that router M only needs to be configured
      with a single address prefix to represent the addresses reachable
      over this link). All addresses reachable in MBII can be described
      by six address prefixes (implying that router X needs to be
      configured with six address prefixes to represent the addresses
      reachable over the link).

      In some cases, such private links may be permitted to forward
      traffic for a small number of other routing domains, such as
      closely affiliated organizations. This will increase the
      configuration requirements slightly. However, provided that the
      number of organizations using the link is relatively small, then
      this still does not represent a significant problem.

      Note that the relationship between routing and IP addressing
      described in other sections of this paper is concerned with
      problems in scaling caused by large, essentially public transit
      routing domains which interconnect a large number of routing
      domains.  However, for the purpose of IP address allocation,
      private links which interconnect only a small number of private
      routing domains do not pose a problem, and may be ignored. For
      example, this implies that a single leaf routing domain which has
      a single connection to a "public" backbone, plus a number of
      private links to other leaf routing domains, can be treated as if
      it were single-homed to the backbone for the purpose of IP address
      allocation.  We expect that this is also another way of dealing
      with multi-homed domains.

5.6   Zero-Homed Routing Domains

      Currently, a very large number of organizations have internal
      communications networks which are not connected to any service
      providers.  Such organizations may, however, have a number of

      private links that they use for communications with other
      organizations. Such organizations do not participate in global
      routing, but are satisfied with reachability to those
      organizations with which they have established private links.
      These are referred to as zero-homed routing domains.

      Zero-homed routing domains can be considered as the degenerate
      case of routing domains with private links, as discussed in the
      previous section, and do not pose a problem for inter-domain
      routing. As above, the routing information exchanged across the
      private links sees very limited distribution, usually only to the
      routing domain at the other end of the link. Thus, there are no
      address abstraction requirements beyond those inherent in the
      address prefixes exchanged across the private link.

      However, it is important that zero-homed routing domains use valid
      globally unique IP addresses. Suppose that the zero-homed routing
      domain is connected through a private link to a routing domain.
      Further, this routing domain participates in an internet that
      subscribes to the global IP addressing plan. This domain must be
      able to distinguish between the zero-homed routing domain's IP
      addresses and any other IP addresses that it may need to route to.
      The only way this can be guaranteed is if the zero-homed routing
      domain uses globally unique IP addresses.

5.7   Continental aggregation

      Another level of hierarchy may also be used in this addressing
      scheme to further reduce the amount of routing information
      necessary for inter-continental routing.  Continental aggregation
      is useful because continental boundaries provide natural barriers
      to topological connection and administrative boundaries.  Thus, it
      presents a natural boundary for another level of aggregation of
      inter-domain routing information.  To make use of this, it is
      necessary that each continent be assigned an appropriate subset of
      the address space.  Providers (both direct and indirect) within
      that continent would allocate their addresses from this space.
      Note that there are numerous exceptions to this, in which a
      service provider (either direct or indirect) spans a continental
      division.  These exceptions can be handled similarly to multi-
      homed routing domains, as discussed above.

      Note that, in contrast to the case of providers, the aggregation
      of continental routing information may not be done on the
      continent to which the prefix is allocated.  The cost of inter-
      continental links (and especially trans-oceanic links) is very
      high.  If aggregation is performed on the "near" side of the link,
      then routing information about unreachable destinations within

      that continent can only reside on that continent.  Alternatively,
      if continental aggregation is done on the "far" side of an inter-
      continental link, the "far" end can perform the aggregation and
      inject it into continental routing.  This means that destinations
      which are part of the continental aggregation, but for which there
      is not a corresponding more specific prefix can be rejected before
      leaving the continent on which they originated.

      For example, suppose that Europe is assigned a prefix of
      <194.0.0.0 254.0.0.0>, such that European routing also contains
      the longer prefixes <194.1.0.0 255.255.0.0> and <194.2.0.0
      255.255.0.0>.  All of the longer European prefixes may be
      advertised across a trans-Atlantic link to North America.  The
      router in North America would then aggregate these routes, and
      only advertise the prefix <194.0.0.0 255.0.0.0> into North
      American routing.  Packets which are destined for 194.1.1.1 would
      traverse North American routing, but would encounter the North
      American router which performed the European aggregation.  If the
      prefix <194.1.0.0 255.255.0.0> is unreachable, the router would
      drop the packet and send an ICMP Unreachable without using the
      trans-Atlantic link.

5.8   Transition Issues

      Allocation of IP addresses based on connectivity to TRDs is
      important to allow scaling of inter-domain routing to an internet
      containing millions of routing domains. However, such address
      allocation based on topology implies that in order to maximize the
      efficiency in routing gained by such allocation, certain changes
      in topology may suggest a change of address.

      Note that an address change need not happen immediately.  A domain
      which has changed service providers may still advertise its prefix
      through its new service provider.  Since upper levels in the
      routing hierarchy will perform routing based on the longest
      prefix, reachability is preserved, although the aggregation and
      scalability of the routing information has greatly diminished.
      Thus, a domain which does change its topology should change
      addresses as soon as convenient.  The timing and mechanics of such
      changes must be the result of agreements between the old service
      provider, the new provider, and the domain.

      This need to allow for change in addresses is a natural,
      inevitable consequence of routing data abstraction. The basic
      notion of routing data abstraction is that there is some
      correspondence between the address and where a system (i.e., a
      routing domain, subnetwork, or end system) is located. Thus if the
      system moves, in some cases the address will have to change. If it

      were possible to change the connectivity between routing domains
      without changing the addresses, then it would clearly be necessary
      to keep track of the location of that routing domain on an
      individual basis.

      In the short term, due to the rapid growth and increased
      commercialization of the Internet, it is possible that the
      topology may be relatively volatile. This implies that planning
      for address transition is very important. Fortunately, there are a
      number of steps which can be taken to help ease the effort
      required for address transition. A complete description of address
      transition issues is outside of the scope of this paper. However,
      a very brief outline of some transition issues is contained in
      this section.

      Also note that the possible requirement to transition addresses
      based on changes in topology imply that it is valuable to
      anticipate the future topology changes before finalizing a plan
      for address allocation. For example, in the case of a routing
      domain which is initially single-homed, but which is expecting to
      become multi-homed in the future, it may be advantageous to assign
      IP addresses based on the anticipated future topology.

      In general, it will not be practical to transition the IP
      addresses assigned to a routing domain in an instantaneous "change
      the address at midnight" manner. Instead, a gradual transition is
      required in which both the old and the new addresses will remain
      valid for a limited period of time. During the transition period,
      both the old and new addresses are accepted by the end systems in
      the routing domain, and both old and new addresses must result in
      correct routing of packets to the destination.

      During the transition period, it is important that packets using
      the old address be forwarded correctly, even when the topology has
      changed.  This is facilitated by the use of "longest match"
      inter-domain routing.

      For example, suppose that the XYZ Corporation was previously
      connected only to the NorthSouthNet regional. The XYZ Corporation
      therefore went off to the NorthSouthNet administration and got an
      IP address prefix assignment based on the IP address prefix value
      assigned to the NorthSouthNet regional. However, for a variety of
      reasons, the XYZ Corporation decided to terminate its association
      with the NorthSouthNet, and instead connect directly to the
      NewCommercialNet public data network. Thus the XYZ Corporation now
      has a new address assignment under the IP address prefix assigned
      to the NewCommercialNet. The old address for the XYZ Corporation
      would seem to imply that traffic for the XYZ Corporation should be

      routed to the NorthSouthNet, which no longer has any direct
      connection with XYZ Corporation.

      If the old TRD (NorthSouthNet) and the new TRD (NewCommercialNet)
      are adjacent and cooperative, then this transition is easy to
      accomplish.  In this case, packets routed to the XYZ Corporation
      using the old address assignment could be routed to the
      NorthSouthNet, which would directly forward them to the
      NewCommercialNet, which would in turn forward them to XYZ
      Corporation. In this case only NorthSouthNet and NewCommercialNet
      need be aware of the fact that the old address refers to a
      destination which is no longer directly attached to NorthSouthNet.

      If the old TRD and the new TRD are not adjacent, then the
      situation is a bit more complex, but there are still several
      possible ways to forward traffic correctly.

      If the old TRD and the new TRD are themselves connected by other
      cooperative transit routing domains, then these intermediate
      domains may agree to forward traffic for XYZ correctly. For
      example, suppose that NorthSouthNet and NewCommercialNet are not
      directly connected, but that they are both directly connected to
      the BBNet backbone.  In this case, all three of NorthSouthNet,
      NewCommercialNet, and the BBNet backbone would need to maintain a
      special entry for XYZ corporation so that traffic to XYZ using the
      old address allocation would be forwarded via NewCommercialNet.
      However, other routing domains would not need to be aware of the
      new location for XYZ Corporation.

      Suppose that the old TRD and the new TRD are separated by a non-
      cooperative routing domain, or by a long path of routing domains.
      In this case, the old TRD could encapsulate traffic to XYZ
      Corporation in order to deliver such packets to the correct
      backbone.

      Also, those locations which do a significant amount of business
      with XYZ Corporation could have a specific entry in their routing
      tables added to ensure optimal routing of packets to XYZ. For
      example, suppose that another commercial backbone
      "OldCommercialNet" has a large number of customers which exchange
      traffic with XYZ Corporation, and that this third TRD is directly
      connected to both NorthSouthNet and NewCommercialNet. In this case
      OldCommercialNet will continue to have a single entry in its
      routing tables for other traffic destined for NorthSouthNet, but
      may choose to add one additional (more specific) entry to ensure
      that packets sent to XYZ Corporation's old address are routed
      correctly.

      Whichever method is used to ease address transition, the goal is
      that knowledge relating XYZ to its old address that is held
      throughout the global internet would eventually be replaced with
      the new information.  It is reasonable to expect this to take
      weeks or months and will be accomplished through the distributed
      directory system.  Discussion of the directory, along with other
      address transition techniques such as automatically informing the
      source of a changed address, are outside the scope of this paper.

      Another significant transition difficulty is the establishment of
      appropriate addressing authorities.  In order not to delay the
      deployment of this addressing scheme, if no authority has been
      created at an appropriate level, a higher level authority may
      allocated addresses instead of the lower level authority.  For
      example, suppose that the continental authority has been allocated
      a portion of the address space and that the service providers
      present on that continent are clear, but have not yet established
      their addressing authority.  The continental authority may foresee
      (possibly with information from the provider) that the provider
      will eventually create an authority.  The continental authority
      may then act on behalf of that provider until the provider is
      prepared to assume its addressing authority duties.

      Finally, it is important to emphasize, that a change of addresses
      due to changes in topology is not mandated by this document.  The
      continental level addressing hierarchy, as discussed in Section
      5.7, is intended to handle the aggregation of reachability
      information in the cases where addresses do not directly reflect
      the connectivity between providers and subscribers.

5.9   Interaction with Policy Routing

      We assume that any inter-domain routing protocol will have
      difficulty trying to aggregate multiple destinations with
      dissimilar policies.  At the same time, the ability to aggregate
      routing information while not violating routing policies is
      essential. Therefore, we suggest that address allocation
      authorities attempt to allocate addresses so that aggregates of
      destinations with similar policies can be easily formed.

6.  Recommendations

      We anticipate that the current exponential growth of the Internet
      will continue or accelerate for the foreseeable future. In
      addition, we anticipate a rapid internationalization of the
      Internet. The ability of routing to scale is dependent upon the
      use of data abstraction based on hierarchical IP addresses. As
      CIDR [1] is introduced in the Internet, it is therefore essential

      to choose a hierarchical structure for IP addresses with great
      care.

      It is in the best interests of the internetworking community that
      the cost of operations be kept to a minimum where possible. In the
      case of IP address allocation, this again means that routing data
      abstraction must be encouraged.

      In order for data abstraction to be possible, the assignment of IP
      addresses must be accomplished in a manner which is consistent
      with the actual physical topology of the Internet. For example, in
      those cases where organizational and administrative boundaries are
      not related to actual network topology, address assignment based
      on such organization boundaries is not recommended.

      The intra-domain routing protocols allow for information
      abstraction to be maintained within a domain.  For zero-homed and
      single-homed routing domains (which are expected to remain zero-
      homed or single-homed), we recommend that the IP addresses
      assigned within a single routing domain use a single address
      prefix assigned to that domain.  Specifically, this allows the set
      of all IP addresses reachable within a single domain to be fully
      described via a single prefix.

      We anticipate that the total number of routing domains existing on
      a worldwide Internet to be great enough that additional levels of
      hierarchical data abstraction beyond the routing domain level will
      be necessary.

      In most cases, network topology will have a close relationship
      with national boundaries. For example, the degree of network
      connectivity will often be greater within a single country than
      between countries.  It is therefore appropriate to make specific
      recommendations based on national boundaries, with the
      understanding that there may be specific situations where these
      general recommendations need to be modified.

6.1   Recommendations for an address allocation plan

      We anticipate that public interconnectivity between private
      routing domains will be provided by a diverse set of TRDs,
      including (but not necessarily limited to):

      - backbone networks (Alternet, ANSnet, CIX, EBone, PSI,
        SprintLink);

      - a number of regional or national networks; and,

      - a number of commercial Public Data Networks.

   These networks will not be interconnected in a strictly hierarchical
   manner (for example, there is expected to be direct connectivity
   between regionals, and all of these types of networks may have direct
   international connections).  However, the total number of such TRDs
   is expected to remain (for the foreseeable future) small enough to
   allow addressing of this set of TRDs via a flat address space. These
   TRDs will be used to interconnect a wide variety of routing domains,
   each of which may comprise a single corporation, part of a
   corporation, a university campus, a government agency, or other
   organizational unit.

   In addition, some private corporations may be expected to make use of
   dedicated private TRDs for communication within their own
   corporation.

   We anticipate that the great majority of routing domains will be
   attached to only one of the TRDs. This will permit hierarchical
   address aggregation based on TRD. We therefore strongly recommend
   that addresses be assigned hierarchically, based on address prefixes
   assigned to individual TRDs.

   To support continental aggregation of routes, we recommend that all
   addresses for TRDs which are wholly within a continent be taken from
   the continental prefix.

   For the proposed address allocation scheme, this implies that
   portions of IP address space should be assigned to each TRD
   (explicitly including the backbones and regionals). For those leaf
   routing domains which are connected to a single TRD, they should be
   assigned a prefix value from the address space assigned to that TRD.

   For routing domains which are not attached to any publically
   available TRD, there is not the same urgent need for hierarchical
   address abbreviation. We do not, therefore, make any additional
   recommendations for such "isolated" routing domains.  Where such
   domains are connected to other domains by private point-to-point
   links, and where such links are used solely for routing between the
   two domains that they interconnect, again no additional technical
   problems relating to address abbreviation is caused by such a link,
   and no specific additional recommendations are necessary.

   Further, in order to allow aggregation of IP addresses at national
   and continental boundaries into as few prefixes as possible, we
   further recommend that IP addresses allocated to routing domains
   should be assigned based on each routing domain's connectivity to
   national and continental Internet backbones.

6.2   Recommendations for Multi-Homed Routing Domains

   There are several possible ways that these multi-homed routing
   domains may be handled, as described in Section 5.4.  Each of these
   methods vary with respect to the amount of information that must be
   maintained for inter-domain routing and also with respect to the
   inter-domain routes. In addition, the organization that will bear the
   brunt of this cost varies with the possible solutions. For example,
   the solutions vary with respect to:

      - resources used within routers within the TRDs;

      - administrative cost on TRD personnel; and,

      - difficulty of configuration of policy-based inter-domain routing
        information within leaf routing domains.

   Also, the solution used may affect the actual routes which packets
   follow, and may effect the availability of backup routes when the
   primary route fails.

   For these reasons it is not possible to mandate a single solution for
   all situations. Rather, economic considerations will require a
   variety of solutions for different routing domains, service
   providers, and backbones.

6.3   Recommendations for the Administration of IP addresses

   A companion document [3] provides recommendations for the
   administrations of IP addresses.

7.  Acknowledgments

   The authors would like to acknowledge the substantial contributions
   made by the authors of RFC 1237 [2], Richard Colella, Ella Gardner,
   and Ross Callon.  The significant concepts (and a large portion of
   the text) in this document are taken directly from their work.

   The authors would like to acknowledge the substantial contributions
   made by the members of the following two groups, the Federal
   Engineering Planning Group (FEPG) and the International Engineering
   Planning Group (IEPG). This document also reflects many concepts
   expressed at the IETF Addressing BOF which took place in Cambridge,
   MA in July 1992.

   We would also like to thank Peter Ford (Los Alamos National
   Laboratory), Elise Gerich (MERIT), Steve Kent (BBN), Barry Leiner
   (ADS), Jon Postel (ISI), Bernhard Stockman (NORDUNET/SUNET), Claudio

   Topolcic (CNRI), and Kannan Varadhan (OARnet) for their review and
   constructive comments.

8.  References

   [1] Fuller, V., Li, T., Yu, J., and K. Varadhan, "Supernetting: an
       Address Assignment and Aggregation Strategy", RFC 1338, BARRNet,
       cicso, Merit, OARnet, June 1992.

   [2] Colella, R., Gardner, E, and R. Callon, "Guidelines for OSI NSAP
       Allocation in the Internet", RFC 1237, JuNIST, Mitre, DEC, July
       1991.

   [3] Gerich, E., "Guidelines for Management of IP Address Space", RFC
       1466, Merit, May 1993.

   [4] Cerf, V., "IAB Recommended Policy on Distributing Internet
       Identifier Assignment and IAB Recommended Policy Change to
       Internet "Connected" Status", RFC 1174, CNRI, August 1990.

9.  Security Considerations

   Security issues are not discussed in this memo.

10.  Authors' Addresses

   Yakov Rekhter
   T.J. Watson Research Center, IBM Corporation
   P.O. Box 218
   Yorktown Heights, NY 10598

   Phone:  (914) 945-3896
   EMail:  yakov@watson.ibm.com

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

   EMail: tli@cisco.com

 

User Contributions:

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

CAPTCHA