Network Working Group H. Berkowitz Request for Comments: 2072 PSC International Category: Informational January 1997 Router Renumbering Guide Status of this Memo This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Abstract IP addresses currently used by organizations are likely to undergo changes in the near to moderate term. Change can become necessary for a variety of reasons, including enterprise reorganization, physical moves of equipment, new strategic relationships, changes in Internet Service Providers (ISP), new applications, and the needs of global Internet connectivity. Good IP address management may in general simplify continuing system administration; a good renumbering plan is also a good numbering plan. Most actions taken to ease future renumbering will ease routine network administration. Routers are the components that interconnect parts of the IP address space identified by unique prefixes. Obviously, they will be impacted by renumbering. Other interconnection devices, such as bridges, layer 2 switches (i.e., specialized bridges), and ATM switches may be affected by renumbering. The interactions of these lower-layer interconnection devices with routers must be considered as part of a renumbering effort. Routers interact with numerous network infrastructure servers, including DNS and SNMP. These interactions, not just the pure addressing and routing structure, must be considered as part of router renumbering. Berkowitz Informational [Page 1] RFC 2072 Router Renumbering Guide January 1997 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Motivations for Renumbering . . . . . . . . . . . . . . . . 3 4. Numbering and Renumbering. . . . . . . . . . . . . . . . . . 9 5. Moving toward a Renumbering-Friendly Enterprise. . . . . . . 13 6. Potential Pitfalls in Router Renumbering. . . . . . . . . 20 7. Tools and Methods for Renumbering . . . . . . . . . . . . 25 8. Router Identifiers . . . . . . . . . . . . . . . . . . . . . 29 9. Filtering and Access Control . . . . . . . . . . . . . . . . 35 10. Interior Routing . . . . . . . . . . . . . . . . . . . . . . 37 11. Exterior Routing . . . . . . . . . . . . . . . . . . . . . . 39 12. Network Management . . . . . . . . . . . . . . . . . . . . . 41 13. IP and Protocol Encapsulation . . . . . . . . . . . . . . . 43 14. Security Considerations. . . . . . . . . . . . . . . . . . . 44 15. Planning and Implementing the Renumbering . . . . . . . . . 44 16. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 46 17. References . . . . . . . . . . . . . . . . . . . . . . . . . 47 18. Author's Address . . . . . . . . . . . . . . . . . . . . . . 48 1. Introduction Organizations can decide to renumber part or all of their IP address space for a variety of reasons. Overall motivations for renumbering are discussed in [RFC2071]. This document deals with the router- related aspects of a renumbering effort, once the decision to renumber has been made. A renumbering effort must be well-planned if it is to be successful. This document deals with planning and implementation guidelines for the interconnection devices of an enterprise. Of these devices, routers have the clearest association with the IP numbering plan. Planning begins with understanding the problem to be solved. Such understanding includes both the motivation for renumbering and the technical issues involved in renumbering. 1. Begin with a short and clear statement of the reason to renumber. Section 3 of this document discusses common reasons. 2. Understand the principles of numbering in the present and planned environments. Section 4 reviews numbering and suggests a method for describing the scope of renumbering. Berkowitz Informational [Page 2] RFC 2072 Router Renumbering Guide January 1997 3. Before the actual renumbering, it can be useful to evolve the current environment and current numbering to a more "renumbering-friendly" system. Section 5 discusses ways to introduce renumbering friendliness into current systems. 4. Be aware of potential pitfalls. These are discussed in Section 6. 5. Identify potential requirements for tools, discussed in Section 7. 6. Evaluate the specific router mechanisms that will be affected by renumbering. See Sections 8 through 13. 7. Set up a specific transition plan framework. Guidelines for such planning are in Section 15. When trying to understand the interactions of renumbering on routers, remember there different aspects to the problem, depending on the scope of the renumbering involved. Remember that even an enterprise-wide renumbering probably will not affect all IP addresses visible within the enterprise, since some addresses (e.g., Internet service providers, external business partners) are outside the address space under the control of the enterprise. 2. Disclaimer The main part of this document is intended to be vendor-independent. Not all features discussed, of course, have been implemented on all routers. This document should not be used as a general comparison of the richness of features of different implementations. References here are only to those features affected by renumbering. Some illustrative examples may be used that cite vendor-specific characteristics. These examples do not necessarily reflect the current status of products. 3. Motivations for Renumbering Reasons to renumber can be technological, organizational, or both. Technological reasons fall into several broad categories discussed below. Just as there can be both technological and organizational motivations for renumbering [RFC2071], there can be multiple technological reasons. There may not be a clear line between organizational and technical reasons for renumbering. While networks have a charm and beauty all their own, the organizational reasons should be defined first in order to justify the budget for the technical renumbering. There Berkowitz Informational [Page 3] RFC 2072 Router Renumbering Guide January 1997 also may be pure technnical reasons to renumber, such as changes in technology (e.g., from bridging to routing). While this document is titled "Router Renumbering Guide," it recognizes that renumbering may be required due to the initial installation of routers in a bridged legacy network. Organizations may have had an adequate bridging solution that did not scale with growth. Some organizations could not able to move to routers until router forwarding performance improved [Carpenter] to be comparable to bridges. Other considerations include compliance with routing outside the organization. Routing issues here are primarily those of the global Internet, but may also involve bilateral private links to other enterprises. Certain new transmission technologies have tended to redefine the basic notion of an IP subnet. The numbering plan needs to work with these new ideas. Legacy bridged networks and leading-edge workgroup switched networks may very well need changes in the subnetting structure. Renumbering needs may also develop with the introduction of new WAN technologies, especially nonbroadcast multiaccess (NBMA) services such as frame relay. Other WAN technologies, dialup media using modems or ISDN, also may have new routing and numbering requirements. Switched virtual circuit services such as ATM, X.25, or switched frame relay also interact with routing and addressing. 3.1 Internet Global Routing Many discussions of renumbering emphasize interactions among organizations' numbering plans and those of the global Internet [RFC1900]. There can be equally strong motivations for renumbering in organizations that never connect to the global Internet. According to RFC1900, "Unless and until viable alternatives are developed, extended deployment of Classless Inter-Domain Routing (CIDR) is vital to keep the Internet routing system alive and to maintain continuous uninterrupted growth of the Internet....To contain the growth of routing information, whenever such an organization changes to a new service provider, the organization's addresses will have to change. Occasionally, service providers themselves may have to change to a new and larger block of address space. In either of these cases, to contain the growth of routing information, the organizations concerned would need to renumber.... If the organization does not renumber, then some of the potential consequences may include (a) limited (less than Internet-wide) IP connectivity, or (b) extra cost Berkowitz Informational [Page 4] RFC 2072 Router Renumbering Guide January 1997 to offset the overhead associated with the organization's routing information that Internet Service Providers have to maintain, or both." 3.2 Bridge Limitations; Internal Use of LAN Switching Introducing workgroup switches may introduce subtle renumbering needs. Fundamentally, workgroup switches are specialized, high- performance bridges, which make their main forwarding decisions based on Layer 2 (MAC) address information. Even so, they rarely are independent of Layer 3 (IP) address structure. Pure Layer 2 switching has a "flat" address space that will need to be renumbered into a hierarchical, subnetted space consistent with routing. Traditional bridged networks share many of the problems of workgroup switches, but have additional performance problems when bridged connectivity extends across slow WAN links. Introducting single switches or stacks of switches may not have significant impact on addressing, as long as it is remembered that each system of switches is a single broadcast domain. Each broadcast domain should map to a single IP subnet. Virtual LANs (VLAN) further extend the complexity of the role of workgroup switches. It is generally true that moving an end station from one switch port to another within the same "color" VLAN will not cause major changes in addressing. Many discussions of this technology do not make it clear that moving the same end station between different colors will move the end station into another IP subnet, requiring a significant address change. Switches are commonly managed by SNMP applications. These network management applications communicate with managed devices using IP. Even if the switch does not do IP forwarding, it will itself need IP addresses if it is to be managed. Also, if the clients and servers in the workgroup are managed by SNMP, they will need IP addresses. The workgroup, therefore, will need to appear as one or more IP subnets. Increasingly, internetworking products are not purely Layer 2 or Layer 3 devices. A workgroup switch product often includes a router function, so the numbering plan must support both flat Layer 2 and hierarchical Layer 3 addresses. Berkowitz Informational [Page 5] RFC 2072 Router Renumbering Guide January 1997 3.3 Internal Use of NBMA Cloud Services "Cloud" services such as frame relay often are more economical than traditional services. At first glance, when converting existing enterprise networks to NBMA, it might appear that the existing subnet structure should be preserved, but this is often not the case. Many organizations often began by treating the "cloud" as a single subnet, but experience has shown it is often better to treat the individual virtual circuits as separate subnets. When the individual point-to-point VCs become separate subnets, efficient address utilization requires the use of /30 prefixes for these subnets. This typically means the addressing and routing plan must support multiple prefix lengths, establishing one or more prefix lengths for LAN media with more than two hosts, and subdividing one or more of these shorter prefixes into longer /30 prefixes that minimize address loss. There are alternative ways to configure routing over NBMA, using special mechanisms to exploit or simulate point-to-multipoint VCs. These often have a significant performance impact on the router, and may be less reliable because a single point of failure is created. Mechanics of these alternatives are discussed later in this section, but the motivations for such alternatives tend to include: 1. A desire not to use VLSM. This is often founded in fear rather than technology. 2. Router implementation issues that limit the number of subnets or interfaces a given router can support. 3. An inherently point-to-multipoint application (e.g., remote hosts to a data center). In such cases, some of the limitations are due to the dynamic routing protocol in use. In such "star" applications, static routing may actually be preferable from performance and flexibility standpoints, since it does not produce routing traffic and is unaffected by split horizon. To understand how use of NBMA services affects the addressing structure and routers, it is worth reviewing what would appear to be very basic concepts of IP subnets. The traditional view is that a single subnet is associated with a single physical medium. All hosts physically connected to this medium are assumed to be able to reach all other hosts on the same medium, using data link level services. These services are medium specific: hosts connected to a LAN medium can broadcast to one another, while hosts connected to a point-to- point line simply need to transmit to the other end. Berkowitz Informational [Page 6] RFC 2072 Router Renumbering Guide January 1997 When one host desires to transmit to another, it first determines if the destination is local or remote. A local destination is on the same subnet and assumed to be reachable through data link services. A remote destination is on a different subnet, and it is assumed that router intervention is needed to reach it. The first NBMA problem comes up when a single subnet is implemented over an NBMA service. Frame Relay provides single virtual circuits between hosts that have connectivity. It is quite common to design Frame Relay services as partial meshes, where not all hosts have VCs to all others. When the set of hosts in a partial mesh is in a single IP subnet, partial mesh violates the local model of full connectivity. Even when there is full meshing, a pessimistic but reasonable operational model must consider that individual VCs do fail, and full connectivity may be lost transiently. There are several ways to deal with this violation, each with their own limitations. If a specific "central" host has connectivity to N all other hosts, that central host can replicate all frames it receives from one host onto outgoing VCs connecting it with the (N-1) other hosts in the subnet. Such replication usually causes an appreciable CPU load in the replicating router. The replicating router also is a single point of failure for the subnet. This method does not scale well when extended to fuller meshes within the subnet. In a routing protocol, such as OSPF, that has a concept of designated routers, explicit configuration usually is needed. Other problems in using a meshed subnet is that all VCs may not have the same performance, but the router cannot prefer individual paths within the subnet. One of the simplest methods is not to attempt to emulate a broadcast medium, but simply to treat each VC as a separate subnet. This will cause a need for renumbering. Efficient use of the address space dictates a /30 prefix be used for the per-VC subnets. Such a prefix often needs VLSM support in the routers. 3.4 Expansion of Dialup Services Dialup services, especially public Internet access providers, are undergoing explosive growth. This success represents a particular drain on the available address space, especially with a commonly used practice of assigning unique addresses to each customer. Berkowitz Informational [Page 7] RFC 2072 Router Renumbering Guide January 1997 In this practice, individual users announce their address to the access server using PPP's IP configuration option [RFC1332]. The server may validate the proposed address against some user identifier, or simply make the address active in a subnet to which the access server (or set of bridged access servers) belongs. These access server functions may be part of the software of a "router" and thus are within the scope of this Guide. The preferred technique [Hubbard] is to allocate dynamic addresses to the user from a pool of addresses available to the access server. Various mechanisms are used actually to do this assignment, and are discussed in Section 5.5. 3.5 Internal Use of Switched Virtual Circuit Services Services such as ATM virtual circuits, switched frame relay, etc., present challenges not considered in the original IP design. The basic IP decision in forwarding a packet is whether the destination is local or remote, in relation to the source host's subnet. Address resolution mechanisms are used to find the medium address of the destination in the case of local destinations, or to find the medium address of the router in the case of remote routers. In these new services, there are cases where it is far more effective to "cut-through" a new virtual circuit to the destination. If the destination is on a different subnet than the source, the cut-through typically is to the egress router that serves the destination subnet. The advantage of cut-through in such a case is that it avoids the latency of multiple router hops, and reduces load on "backbone" routers. The cut-through decision is usually made by an entry router that is aware of both the routed and switched environments. This entry router communicates with a address resolution server using the Next Hop Resolution Protocol (NHRP) [Cansever] [Katz]. This server maps the destination network address to either a next-hop router (where cut-through is not appropriate) or to an egress router reached over the switched service. Obviously, the data base in such a server may be affected by renumbering. Clients may have a hard- coded address of the server, which again may need to change. While the NHRP work is in progress at the time of this writing, commercial implementations based on drafts of the protocol standard are in use. Berkowitz Informational [Page 8] RFC 2072 Router Renumbering Guide January 1997 4. Numbering and Renumbering What is the role of any numbering plan? To understand the general problem, it can be worthwhile to review the basic principles of routers. While most readers will have a good intuitive sense of this, the principles have refined in the current usage of IP. A router receives an inbound IP datagram on one of its interfaces, and examines some number of bits of the destination address. The sequence of bits examined by the router always begin at the left of the address (i.e., the most significant bit). We call this sequence a "prefix." Routing decisions are made on totalPrefix bits, which start at the leftmost (i.e., most significant) bit position of the IP address. Those totalPrefix bits may be completely under the control of the enterprise (e.g., if they are in the private address space), or the enterprise may control the lowOrderPrefix bits while the highOrderPrefix bits are assigned by an outside organization. The router looks up the prefix in its routing table (formally called a Forwarding Information Base). If the prefix is in the routing table, the router then selects an outgoing interface that will take the routed packet to the next hop IP address in the end-to-end route. If the prefix cannot be found in the routing table, the router returns an ICMP Destination Unreachable message to the source address in the received datagram. Assuming the prefix is found in the routing table, the router then transmits the datagram through the indicated outgoing interface. If multicast routing is in effect, the datagram may be copied and sent out multiple outgoing interfaces. Berkowitz Informational [Page 9] RFC 2072 Router Renumbering Guide January 1997 4.1 Categorizing the topology From the router renumbering perspective, renumbering impact is apt to be greatest in highly connected parts of "backbones," and least in "stub" parts of the routing domain that have a single route to the backbone. Global Internet ^ | | Back1-------------------Back2 | | +-----------+ +----------+ | | | | Reg1.1------Reg1.2 Reg2.1-----Reg2.2 | | | | | | | | Branch Branch Branch Branch 1.1.1 to 1.2.1 to 2.1.1 to 2.2.1 to 1.1.N 1.2.N 2.1.N 2.2.N In this drawing, assume Back1 and Back2 exchange full routes; Back1 is also the exterior router. Regional routers (Reg) exchange full routes with one another and aggregate addresses to the backbone routers. Branch routers default to regional routers. From a pure topological standpoint, the higher in the hierarchy, the greater are apt to be the effects of renumbering. This is a first approximation to scoping the task, assuming addresses have been assigned systematically. Systematic address space is rarely the case in legacy networks. Berkowitz Informational [Page 10] RFC 2072 Router Renumbering Guide January 1997 4.2 Categorizing the address space An inventory of present and planned address space is a prerequisite to successful renumbering. Begin by identifying the prefixes in or planned into your network, and whether they have been assigned in a systematic and hierarchical manner. +--Unaffected by renumbering [A] | | +--Existing prefixes to be renumbered | | | | | +----To be directly renumbered on "flag day" | | | | | +----Initially to be renumbered to temporary address | | +--Existing prefixes to be retired | | +--Planned new prefixes | | +---totalPrefix change, no length change | | +---highOrderPart change only, no length change | | +---lowOrderPart change only, no length change | | +---highOrderPart change only, high length change | | +---lowOrderPart change only, low length change | | +---totalPrefix change only, changes in high and low | | +---highOrderPart change only, no length change Ideally, a given prefix should either be "unchanged," "old," or "new." Renumbering will be easiest when each "old" prefix can be mapped to a single "new" prefix. Berkowitz Informational [Page 11] RFC 2072 Router Renumbering Guide January 1997 Unfortunately, the ideal often will not be attainable. It may be necessary to run parts of the new and old address spaces in parallel. Renumbering applies first to prefixes and then to host numbers to the right of the prefix. To understand the scope of renumbering, it is essential to: 1. Identify the prefixes (and possibly host fields) potentially affected by the renumbering operation. 2. Identify the authority that controls the values of the prefix, or part of the prefix, affected by renumbering. In a given enterprise, prefixes may be present that will be under the complete or partial control of the enterprise, as well as totally outside the control of the enterprise. Let us review the principles of control over address space. More commonly, the most significant bits of the prefix are assigned to the enterprise by an address registry (e.g., InterNIC, RIPE, or APNIC) or by an Internet Service Provider (ISP). This assignment of a value in the most significant bit positions historically has been called a "network number," when the assigned high-order part is 8, 16, or 24 bits long. More recent usage does not limit the assigned part to a byte boundary. The preferred term for the assigned part is a "CIDR block" of a certain number of bits [RFC1518]. The enterprise then extends the prefix to the right, creating "subnets." It is critical to realize that routers make routing decisions based on the total prefix of interest, regardless of who controls which bits. In other words, the router really doesn't know or care about subnet boundaries. The way to think about subnetting is that it creates a longer prefix. Even before CIDR, we collapsed multiple subnets into a single network number advertisement sent to external routers. In a more general way, we now think of extending the prefix to the right as subnetting and collapsing it to the left as supernetting, aggregating, or summarizing. Depending on the usage of subnetting or aggregation, different prefix lengths are significant at different router interfaces. 4.3 Renumbering Scope Prefixes may be taken from the private address space [RFC1918] that is not routable on the global Internet. Since these addresses are not routable on the global Internet, changing parts of private address space prefixes is an enterprise-local decision. Berkowitz Informational [Page 12] RFC 2072 Router Renumbering Guide January 1997 If a prefix is totally outside the control of the enterprise, it is external, and will be minimally affected by routing. Potential interactions of external prefixes with enterprise renumbering include: 1) Inadvertent alteration or deletion of external addresses as part of router reconfiguration. 2) Loss of connectivity to application servers inside the enterprise, because the external client no longer knows the internal address of the server. 3) DNS/BGP 4) Security Prefixes partially under the control of the enterprise may change. The scope of this will vary depending on whether only the externally controlled part of the prefix changes, or if part of the internally controlled part is to be renumbered. If the length of either the high-order or low-order parts change, the process becomes more complex. High-order-part-only renumbering is most common when an organization changes ISPs, and needs to renumber into the new provider's space. The old prefix may have been assigned to the enterprise but will no longer be used for global routing, or the old prefix may have been assigned to the previous provider. Note that administrative procedures may be necessary to return the previous prefix, although this usually will be done by the previous provider. There often will need to be a period of coexistence between the old and new prefixes. Low-order-part-only renumbering can occur when an enterprise modifies its internal routing structure, and the changes only affect the internal subnet structure of the enterprise network. This is typical of efforts involved in increasing the number of available subnets (e.g., for more point-to-point media) or increasing the number of hosts on a medium (e.g., in greater use of workgroup switches). Both the high-order and low-order parts may change. This might happen when the enterprise changes to a new ISP, who assigns address space from a CIDR block rather than a classful network previously used. With a different high-order prefix length, the enterprise might be forced to change its subnet structure. 5. Moving toward a Renumbering-Friendly Enterprise Renumbering affects both the configuration of specific router "boxes," and the overall system of routers in a routing domain. The emphasis of this section is on making the current enterprise more renumbering-friendly, before any prefixes are actually changed. Berkowitz Informational [Page 13] RFC 2072 Router Renumbering Guide January 1997 Renumbering will have the least impact when the minimum number of reconfiguration options are needed. When planning renumbering on routers, consider that many existing configurations may contain hard-coded IP addresses that may not be necessary, even if renumbering were not to occur. Part of a router renumbering effort should include, wherever possible, replacing router mechanisms based on hard-coded addresses with more flexible mechanisms. Renumbering will also generally be easier if the configuration changes can be made offline on appropriate servers, and then downloaded to the router if the router implementation permits. 5.1 Default Routes A well-known method for reducing the amount of reference by one router to other routers is to use a default route to a higher-level, better-connected router. This assumes a hierarchical network design, which is generally desirable in the interest of scaling. Default routes are most appropriate for stub routers inside a routing domain, and for boundary routers that connect the domain to a single ISP. 5.2 Route Summarization and CIDR When routes need to be advertised, summarize as much as is practical. Summarization is most effective when address prefixes have been assigned in a consistent and contiguous manner, which is often not the case in legacy networks. Nevertheless, there is less to change when we can refer to blocks of prefixes. Not all routing mechanisms support general summarization. Interior routing mechanisms that do include RIPv2, OSPF, EIGRP, IS-IS, and systems of static routes. RIPv1 and IGRP do support classful summarization (i.e., at Class A/B/C network boundaries only). If existing addresses have been assigned hierarchically, it may be possible to renumber below the level of summarization, while hiding the summarization to the rest of the network. In other words, if all the address bits being renumbered are to the right of the summarized prefix length, the change can be transparent to the overall routing system. Even when effective summarization is possible to hide the details of routing, DNS, filters, and other services may be affected by any renumbering. Berkowitz Informational [Page 14] RFC 2072 Router Renumbering Guide January 1997 5.3 Server References in Routers Routers commonly communicate with an assortment of network management and other infrastructural servers. Examples of these servers are given in the "Network Management" section below. DNS itself, however, may be an important exception. Wherever possible, servers should be referenced by DNS name rather than by IP address. If a specific router implementation only supports explicit address references, this should be documented as part of the renumbering plan. Routers may also need to forward end host broadcasts to other infrastructure services (e.g., DNS, DHCP/BOOTP). Configurations that do this are likely to contain hard-coded IP addresses of the destination hosts or their subnets, which will need to be changed as part of renumbering. 5.4 DNS and Router Renumbering The Domain Name Service is a powerful tool in any renumbering effort, and can help routers as well as end hosts. If traceroute displays DNS names rather than IP addresses, certain debugging options can be transparent through the address transition. Be aware that dynamically learned names and addresses may be cached in router tables. For a router to learn changes in address to name correspondence, it may be necessary to restart the router or explicitly clear the cache. Alternatively, router configuration files may contain hard-coded address/name correspondences that will not be affected by a change in the DNS server. Different DNS databases are affected by renumbering. For example, the enterprise usually controls its own "forward" data base, but the reverse mapping data base may be maintained by its ISP. This can require coordination when changing providers. Commonly, router renumbering goes through a transition period. During this transition, old and new addresses may coexist in the routing system. Coexistence over a significant period of time is especially likely for DNS references to addresses that are known in the global Internet [deGroot]. Various DNS servers throughout the world may cache addresses for periods of days. Berkowitz Informational [Page 15] RFC 2072 Router Renumbering Guide January 1997 If, for example, a given router interface may have a coexisting new and old address, it can be appropriate to introduce the new address as an additional A record for the new address. DNS RR statements can end with a semicolon, indicating the rest of the line is a comment. This can be used as the basis of tools to renumber DNS names for router addresses, by putting a comment (e.g., ";newaddr") at the end of the A statements for the new addresses. At an appropriate time, a script could generate a new zone file in which the new addresses become the primary definitions on A records, and the old addresses could become appropriately commented A records. At a later time, these commented entries could be removed. Care should be taken to assure that PTR reverse mapping entries are defined for new addresses, because some router vendor tools depend on reverse mapping. 5.5 Dynamic Addressing Renumbering is easiest when addresses need to be changed in the least possible number of places. Dynamic address assignment is especially attractive for end hosts, and routers may play a key role in this process. Routers may act as servers and actually assign addresses, or may be responsible for forwarding end host address assignment requests to address assignment servers. The most common use of dynamic address assignment is to provide IP addresses to end systems. Dynamic address assignment, however, is also used to assign IP addresses to router interfaces. An address assignment server may assign an IP address to a router either in the usual DHCP way, based on a MAC address in the router, or simply based on the physical connectivity of the new router. In other words, any router connected on a specific interface of the configuring router would be assigned the same IP address. 5.5.1 Router Roles in LAN-based DHCP Address Assignment End hosts attached to LANs often obtain address assignments from BOOTP or DHCP servers. If the server is not on the same medium as the end hosts, routers may need to play a role in establishing connectivity between the end host and the address server. If the client is not on the same medium as the address assignment server, routers either must act as address assignment services, or forward limited broadcasts to the location of appropriate servers. Berkowitz Informational [Page 16] RFC 2072 Router Renumbering Guide January 1997 If the router acts as an address assignment server, its database of addresses that it can assign may change during renumbering. If the router forwards to a DHCP or BOOTP server, it must know the address of that server. That server address can itself change as a result of renumbering. While the usual perception of DHCP is that it assigns addresses from a pool, such that assignments to a given host at a given time is random within the pool, DHCP can also return a constant IP address for a specific MAC address. This may be much easier to manage and troubleshoot, especially during renumbering. Clearly, if the DHCP server identifies end hosts based on their MAC address, consideration must be given to making that address unique, and changing the DHCP database if either the MAC address or the IP address changes. One way to reduce such reconfiguration is to use Locally-Administered Addresses (LAA) on end hosts, rather than globally unique addresses stored in read-only memory (ROM). Using LAAs solves the problem of MAC addresses changing when a network interface card changes, but LAAs have their own management problems of configuration into end systems and maintaining uniqueness within the enterprise. 5.5.2 Router Roles in Dialup Address Assignment There are several possible ways in which an dialup end host interacts with address assignment. Routers/access servers can play critical roles in this process, either to provide connectivity between client and server, or directly to assign addresses. Different vendors handle address assignment in different ways. Methods include: 1. The access server forwards the request to a DHCP server, using a unique 48-bit identifier associated with the client. Note that this usually should not be the MAC address of the access server, since the same MAC address would then be associated with different hosts. 2. The server forwards the request to an authentication server, which in turn gets a dynamic address either from: a. internal pools b. a DHCP server to which it forwards 3. The server selects an address from locally configured pools and provides it to the dialing host without the intervention of other services. Berkowitz Informational [Page 17] RFC 2072 Router Renumbering Guide January 1997 When the router contains assignable addresses, these may need to change as part of renumbering. Alternatively, hard-coded references to address assignment or authentication servers may need to change. 5.5.3 Router Autoonfiguration This initial address assignment may provide an address only for a single connection (i.e., between the new and configuring routers). The newly assigned address may then be used to "bootstrap" a full configuration into the new router. Dynamic address assignment to routers is probably most common at outlying "stub" or "edge" routers that connect via WAN links to a central location with a configuration server. Such edge devices may be shipped to a remote site, plugged in to a WAN line, and use proprietary methods to acquire part or all of their address configuration. When such autoconfiguration is used on edge routers, it may be necessary to force a restart of the edge router after renumbering. Restarting may be the only way to force the autoconfigured router to learn its new address. Other out-of-band methods may be available to change the edge router addresses. 5.6 Network Address Translation Network address translation (NAT) is a valuable technique for renumbering, or even for avoiding the need to renumber significant parts of an enterprise [RFC1631]. It is not always transparent to network layer protocols, upper layer protocols, and network management tools, and must not be regarded as a panacea. In the classic definition of NAT, certain parts of the routing system are designated as stub domains, and connect to the global domain only through NAT functions. The NAT contains a translation mechanism that maps a stub address to a global address. This mechanism may map statically or dynamically. A more general NAT mechanism often is implemented in firewall bastion hosts, which isolate "inside" and "outside" addresses through transport- or application-level authenticated gateways. Mappings from a "local" or "inside" address to a global address often is not one-to-one, because an inside address is dynamically mapped to a TCP or UDP port on an outside interface address. In general, if there are multiple NATs, their translation mechanisms should be synchronized. There are specialized cases when a given stub address appears in more than one stub domain, and ambiguity Berkowitz Informational [Page 18] RFC 2072 Router Renumbering Guide January 1997 develops if one wishes to map, say, from 10.1.0.1/16 in stub domain A to 10.1.0.1/16 in stub domain B. In this case, both 10.1.0.1 addresses identify different hosts. Special mechanisms would have to exist to map the domain A local address into one global address, and to map the domain B local address into a different global address. NAT can have a valuable role in renumbering. Its intelligent use can greatly minimize the amount of renumbering that needs to be done. NAT, however, is not completely transparent. Specifically, it can interfere with the proper operation of any protocol that carries an IP address as data, since NAT does not understand passenger fields and is unaware numbers need to change. Examples of protocols affected are: --TCP and UDP checksums that are in part based on the IP header. This includes end-to-end encryption schemes that include the TCP/UDP checksum --ICMP messages containing IP addresses --DNS queries that return addresses or send addresses --FTP interactions that use an ASCII-encoded IP address as part of the PORT command It may be possible to avoid conflict if only certain hosts use affected protocols. Such hosts could be assigned only global addresses, if the network topology and routing plan permit. Early NAT experiments suggested that it needs a sparse end-to-end traffic mapping database for reasonable performance. This may or may not be an issue in more hardware-based NAT implementations. Another concern with NAT is that unique host addresses are hidden outside the local stub domains. This may in fact be desirable for security, but may present network management problems. One possibility would be to develop a NAT MIB that could be queried by SNMP to find the specific local-to-global mappings in effect. There are also issues for DNS, DHCP, and other address management services. There presumably would need to be local servers within stub domains, so address requests would be resolved uniquely in each stub (or would return appropriate global addresses). Berkowitz Informational [Page 19] RFC 2072 Router Renumbering Guide January 1997 6. Potential Pitfalls in Router Renumbering One way to categorize potential pitfalls is to look at those associated with the overall numbering plan itself and routing advertisement, and those associated with protocol behavior. In general, the former case is static and the latter is dynamic. 6.1 Static Problems can be implicit to the address/routing structure itself. These can include failures of components to understand arbitrary prefix addressing (i.e., classless routing), reachability due to inappropriate default or aggregated routes, etc. 6.1.1 Classless Routing Considerations Among the major reasons to renumber is to gain globally routable address space. In the global Internet, routable address space is based on arbitrary-length prefixes rather than traditional address classes. Classless Inter-Domain Routing (CIDR) is the administrative realization of prefix addressing in the global Internet. Inside enterprises, arbitrary prefix length addressing often is called Variable Length Subnet Masking (VLSM) or "subnetting a subnet." The general rules of prefix addressing must be followed in CIDR. Among these are permitting use of the all-zeroes and all-one subnets [RFC1812], and not assuming that a route to a "Class A/B/C network number" implies routes to all subnets of that network. Assumptions also should not be made that a prefix length is implied by the structure of the high-order bits of the IP address (i.e., the "First Octet Rule"). This ideal, unfortunately, is not understood by a significant number of routers (and terminal access servers that participate in routing), and an even more significant number of host IP implementations. When planning renumbering, network designers must know if the new address has been allocated using CIDR rules rather than traditional classful addressing. If CIDR rules have been followed in address assignment, then steps need to be taken to assure the router understands them, or appropriate steps need to be taken to interface the existing environment to the CIDR environment. Current experience suggests that it is best, when renumbering, to maintain future compatibility by moving to a CIDR-supportive routing environment. While this is usually thought to mean introducing a classless dynamic routing protocol, this need not mean that routing become much more complex. In a RIPv1 environment, moving to RIPv2 Berkowitz Informational [Page 20] RFC 2072 Router Renumbering Guide January 1997 may be a relatively simple change. Alternative simple methods include establishing a default route from a non-CIDR-compliant routing domain to a CIDR-compliant service provider, or making use of static routes that are CIDR-compliant. Some routers support classless routing without further configuration, other routers support classless routing but require specific configuration steps to enable it, while other routers only understand classful routing. In general, most renumbering will eventually require classless routing support. It is essential to know if a given router can support classless routing. If it does not, workarounds may be possible. Workarounds are likely to be necessary. 6.1.1.1 Aggregation Problems In experimenting with the CIDR use of a former Class A network number, it was shown in RFC1879 that CIDR compliance rules must be enabled explicitly in some routers, while other routers do not understand CIDR rules. RFC 1897 demonstrated problems with some existing equipment, especially "equipment that depends on use of a classful routing protocol, such as RIPv1 are prone to misconfiguration. Tested examples are current Ascend and Livingston gear, which continue to use RIPv1 as the default/only routing protocol. RIPv1 use will create an aggregate announcement.... The Ascend was told to announce 39.1.28/24, but since RIPv1 can't do this, the Ascend instead sent 39/8." RIPv1, like all classful interior protocols, is obsolescent. 6.1.1.2 Discontiguous Networks Another problem that can occur with routers or routing mechanisms that do not understand arbitrary length prefix addressing is that of discontiguous networks. This problem is easy to create inadvertently when renumbering. In the example below, assume the enterprise has been using 10.0.0.0/8 as its primary prefix, but has introduced an ISP whose registered addresses were in 172.31.0.0/16. Berkowitz Informational [Page 21] RFC 2072 Router Renumbering Guide January 1997 Assume a RIPv1 system of three routers: 10.1.0.1/16 10.2.0.1/16 | | | | +-------------------------------------+ | Router 1 | +-------------------------------------+ | 172.31.1.1/24 | | | 172.31.1.2/24 +-------------------------------------+ | Router 2 |<------OUTSIDE +-------------------------------------+ | 172.31.2.1/24 | | | 172.31.2.2/24 +-------------------------------------+ | Router 3 | +-------------------------------------+ | | | | 10.3.0.1/16 10.4.0.1/16 Router 1 can reach its two locally connected subnets, 10.1.0.0/16 and 10.2.0.0/16. It will aggregate them into a single announcement of 10.0.0.0/8 when it advertises out the 172.31.1.1 interface. In like manner, Router 3 can reach its two locally connected subnets, 0.3.0.0/16 and 10.4.0.0/16. It will aggregate them into a single announcement of 10.0.0.0/8 when it advertises out the 172.31.2.2 interface. When Router 2 receives a packet from its "outside" interface destined, say, to 10.1.1.56/16, where does it send it? Router 2 has received two advertisements of 10.0.0.0 on different interfaces, without any detail of subnets inside 10.0.0.0. Router 2 has an ambiguous routing table in terms of the next hop to a subnet of 10.0.0.0. We call this problem, when parts of the same classful network are separated by different networks, discontigous subnets. Two problems occur in this configuration. Router 2 does not know where to send outside packets destined for a subnet of 10.0.0.0. Connectivity, however, also will break between Routers 1 and 3, because Router 2 does not know the next hop for any subnet of 10.0.0.0. Berkowitz Informational [Page 22] RFC 2072 Router Renumbering Guide January 1997 There are several workarounds to this problem. Obviously, one would be to change to a routing mechanism that does advertise subnets. An alternative would be to establish an IP-over-IP tunnel through Router 2, and give this a subnet in 10.0.0.0. This additional subnet would be visible only in Routers 1 and 3. It would solve the connectivity problem between Routers 1 and 3, but Router 2 would still not be able to forward outside packets. This might be a perfectly acceptable solution if Router 2 is simply being used to connect two parts of 10.0.0.0. Another way to deal with the discontiguous network problem is to assign secondary addresses in 10.0.0.0 to the R1-R2 and R2-R3 interfaces, which would allow the 10.0.0.0 subnets to be advertised to R2. This would work as long as there is no problem in advertising the 10.0.0.0 subnets into the R2 routing system. There would be a problem, for example, if the 10.0.0.0 address were in the private address space but the R2 primary addresses were registered, and R2 advertised the 10.0.0.0 addresses to the outside. This problem can be handled if R2 has filtering mechanisms that can selectively block 10.0.0.0 advertisements to the outside world. The configuration, however, will become more and more complicated. 6.1.1.3 Router-Host Interactions The situation may not be as bleak if hosts do not understand prefix addressing but routers do. Methods exist for hiding a VLSM structure from end hosts that do not understand it. These do involve protocol mechanisms as workarounds, but the fundamental problem is hosts' understanding of arbitrary prefix lengths. A key mechanism is proxy ARP [Carpenter]. The basic mechanism of using proxy ARP in prefix-based renumbering is to have the hosts issue an ARP whenever they want to communicate with a destination. If the destination is actually on the same subnet, it will respond directly to the ARP. If the destination is not, the router will respond as if it were the destination, and the originating host will send the datagram to the router. Once the datagram is in the router, the VLSM-aware router can forward it. Many end hosts, however, will only issue an ARP if they conclude the destination is on their own subnet. All other traffic is sent to a hard-coded default router address. In such cases, workarounds may be needed to force the host to ARP for all destinations. One workaround involves a deliberate misconfiguration of hosts. Hosts that only understand default routers also are apt only to understand classful addressing. If the host is told its major (i.e., Berkowitz Informational [Page 23] RFC 2072 Router Renumbering Guide January 1997 classful) network is not subnetted, even though the address plan actually is subnetted, this will often persuade it to ARP to all destinations. This also works for hosts that do not understand subnetting at all. An example will serve for both levels of host understanding. Assume the enterprise uses 172.31.0.0/16 as its major address, which is in the Class B format. This is actually subnetted with eight bits of subnetting -- 172.31.0.0/24. Individual hosts unaware of VLSM, however, either infer Class B from the address value, or are told that the subnet mask in effect is 255.255.0.0. Yet another approach that helps hosts find routers is to run passive RIP on the hosts, so that they hear routing updates. They assume any host that issues routing updates must be a router, so traffic for non- local destinations can be forwarded there. While RIPv1 does not support arbitrary prefixes, the router(s) issuing the routing updates may have additional capabilities that let them correctly forward such traffic. The priority, therefore, is to get the non-local routers to a router that understands the overall routing structure, and passive RIP may be a viable way to do this. It may be appropriate to cut over on a site-by-site basis [Lear]. In such an approach, some sites have VLSM-aware hosts but others do not. As long as the routing structure supports VLSM, workarounds can be applied where needed. 6.1.2 MAC Address Interactions While it is uncommon now for a router to acquire any of its interface addresses as a DHCP client, this may become more common. When a router so acquires addresses, care must be taken that the MAC address presented to the DHCP server is in fact unique. Modern routers usually support protocol architectures besides IP. Some of these architectures, notably DECnet, Banyan VINES, Xerox Network Services, and IPX, may modify MAC addresses of routers such that a given MAC address appears on more than one interface. While this is normally not a problem, it could cause difficulties when the MAC address is assumed to be unique. Other situations occur when the same MAC address can appear on more than one interface. There are high-availability IBM options which establish primary and backup instances of the same MAC address on different physical interfaces of 37x5 communications controllers. Berkowitz Informational [Page 24] RFC 2072 Router Renumbering Guide January 1997 Some end hosts running protocol stacks other than IP, notably DECnet, may change their MAC address from the globally assigned built-in address. 6.2 Dynamic Dynamic protocol mechanisms that to some extent depend on IP addresses may be affected by router renumbering. These include mechanisms that assign or resolve addresses (e.g., DHCP, DNS), mechanisms that use IP addresses for identification (e.g., SNMP), security and authentication mechanisms, etc. The listed mechanisms are apt to have configuration files that will be affected by renumbering. Another area of dynamic behavior that can be affected is caching. Application servers, directory functions such as DNS, etc., may cache IP addresses. When the router is renumbered, these servers may point to old addresses. Certain proxy server functions may reside on routers, and the router may need to be restarted to reset the cache. The endpoints of TCP tunnels terminating on routers may be internally identified by address/port pairs at each end. If the address changes, even if the port remains the same, the tunnel is likely to need to be reestablished. 7. Tools and Methods for Renumbering The function of a renumbering tool can be realized either as manual procedures as well as software. This section deals with functionality of hypothetical yet general renumbering tools rather than their implementation. General caveat: tools should know whether the environment supports classless addressing. If it does not, newly generated addresses should be checked to see they do not fall into the all-zeroes or all-ones subnet values. 7.1 Search Mechanisms Tools will be needed to search configuration files and other databases to identify addresses and names that will be affected by reorganization. This search should be based on the address inventory described above. Especially when searching for names, common search tools using regular expressions (e.g., grep) may be very useful. Some additional search tools may be needed. One would convert dotted decimal search arguments to binary and only then makes the comparison. Berkowitz Informational [Page 25] RFC 2072 Router Renumbering Guide January 1997 The comparison may need to be done under the constraint of a mask. Such a comparator would also be relevant as the second phase that looks for ipAddress and other relevant strings in MIBs. 7.2 Address Modification The general mechanism for address modification is substitution of an arbitrary number of bits in an address. In the simplest cases, there is a one-to-one correspondence between old and new bit positions. Especially when address modification is manual, it should be remembered that the affected bits can be obscured by dotted decimal notation. Work in, or at least consider, binary notation to assure accuracy. Several basic functions can be defined: zerobits(position,length): clear bits starting at orbits(position,length,newbits) OR the bit string of starting at In these examples, the index [j] is used to identify entries in the address inventory database for existing addresses, while [k] identifies new addresses. Remember that these tools operate at a bit level, so the new address will have to be converted back into dotted decimal, MIB ASN.1, or other notation before it can be replaced into configuration files. 7.2.1 Prefix Change, No Change in Length If the entire new prefix has the same number of bits as the old external part, requiring no change to subnetting, the router part of renumbering may be fairly simple. If the router configurations are available in machine-readable form, as text files or parsable SNMP data, it is a relatively simple task to define a tool to examine IP addresses in the configuration, identify those beginning with the old prefix, and substitute the new prefix bit-by-bit. for each address[j], zerobits(0,PrefixLength[j]) orbits(0,PrefixLength[j],NewPrefix[j]) Note that the host part is unaffected. Both subnet specifications (e.g., for route advertisements) and specific host references will be changed correctly in this simple case. Berkowitz Informational [Page 26] RFC 2072 Router Renumbering Guide January 1997 7.2.2 highOrderPart change Matters are slightly more complex when the change applies only to the externally-controlled part of the prefix, as might be the case when an organization changes ISPs and renumbers into the ISP's address space, without changing the internal subnet structure. The substitution process is much as the previous case, except only the high-order bits change: for each address, zerobits(0,highOrderPartLength[j]) orbits(0,highOrderPartLength,newHighOrderPart[k]) 7.2.3 lowOrderPart change Organizations might renumber only the lowOrderPart (i.e., the subnet field) of their address space. This might be done to clean up an address space into contiguous blocks prior to introducing a routing system that aggregates addresses, such as OSPF. for each address[j], zerobits(highOrderPartLength[j],lowOrderPartLength[j]) orbits(highOrderPartLength[j], lowOrderPartLength[j],newLowOrderPart[k]) 7.2.4 lowOrderPart change, Change in lowOrderPart length When the length of the subnet field changes in all or part of the address space, things become significantly more complex. A fairly simple case arises when the host field is consistently too long, at least in the affected subnets. This is common, for example, when address space is being recovered in an existing Class B network with 8 bits of subnetting. Certain /24 bit prefixes are being extended to /30 and reallocated to point-to-point real or virtual (e.g., DLCI) media. for each address [j] if address is affected by renumbering if newLowOrderPartLength[k] > oldLowOrderPartLength[j] then zerobits(highOrderPartLength[k],newLowOrderPartLength[k]) orbits(highOrderPartLength[k],newLowOrderPart[k]) end Berkowitz Informational [Page 27] RFC 2072 Router Renumbering Guide January 1997 7.2.5 highOrderPart change, Change in highOrderPart length When the length of the high-order part changes, but it is desired to keep the existing subnet structure, constraints apply. The situation is fairly simple if the new high-order part is shorter than the existing high order part. If the new high-order part is longer than the old high order part, constraints are more complex. The key is to see if any of the most significant bits of the oldHighOrderPart, which overlap the least significant bits of the newHighOrderPart, are nonzero. If no bits are