RFC 1671 INFORMATIONAL TRANSITION · IPV4 · MIGRATION

IPng Transition: IPng White Paper on Transition and Other Considerations

Key requirements for switching from IPv4 to the next-generation Internet protocol.

On rfc-editor.org ↗
PUBLISHED
August 1994
AUTHORS
B. Carpenter
STREAM
Legacy
TRANSITION TIMEFRAME
Years to decades
ADDRESS MAPPING METHOD
IPv4 address plus site prefix
REQUIRED HOST BEHAVIOR
Dual-stack support for all IPng hosts
DNS REQUIREMENT
Dual IPv4 and IPng address records
DOI
10.17487/RFC1671

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                       B. Carpenter
Request for Comments: 1671                                          CERN
Category: Informational                                      August 1994


        IPng White Paper on Transition and Other Considerations

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

   This document was submitted to the IETF IPng area in response to RFC
   1550.  Publication of this document does not imply acceptance by the
   IPng area of any ideas expressed within.  Comments should be
   submitted to the big-internet@munnari.oz.au mailing list.

Summary

   This white paper outlines some general requirements for IPng in
   selected areas. It identifies the following requirements for stepwise
   transition:

   A) Interworking at every stage and every layer.
   B) Header translation considered harmful
   C) Coexistence.
   D) IPv4 to IPng address mapping.
   E) Dual stack hosts.
   F) DNS.
   G) Smart dual-stack code.
   H) Smart management tools.

   Some remarks about phsysical and logical multicast follow, and it is
   suggested that a model of how IPng will run over ATM is needed.

   Finally, the paper suggests that the requirements for policy routing,
   accounting, and security firewalls will in turn require all IPng
   packets to carry a trace of the type of transaction involved as well
   as of their source and destination.

Transition and deployment

   It is clear that the transition will take years and that every site
   will have to decide its own staged transition plan. Only the very
   smallest sites could envisage a single step ("flag day") transition,
   presumably under pressure from their Internet service providers.
   Furthermore, once the IPng decision is taken, the next decade (or
   more) of activity in the Internet and in all private networks using
   the Internet suite will be strongly affected by the process of IPng
   deployment. User sites will look at the decision whether to change
   from IPv4 in the same way as they have looked in the past at changes
   of programming language or operating system. It may not be a foregone
   conclusion that what they change to is IPng.  Their main concern will
   be to minimise the cost of the change and the risk of lost
   production.

   This concern immediately defines strong constraints on the model for
   transition and deployment of IPng. Some of these constraints are
   listed below, with a short explanation of each one.

   Terminology: an "IPv4 host" is a host that runs exactly what it runs
   today, with no maintenance releases and no configuration changes. An
   "IPng host" is a host that has a new version of IP, and has been
   reconfigured.  Similarly for routers.

   A) Interworking at every stage and every layer.

   This is the major constraint. Vendors of computer systems, routers,
   and applications software will certainly not coordinate their product
   release dates. Users will go on running their old equipment and
   software.  Therefore, any combination of IPv4 and IPng hosts and
   routers must be able to interwork (i.e., participate in UDP and TCP
   sessions). An IPv4 packet must be  able to find its way from any IPv4
   host, to any other IPv4 or IPng host, or vice versa, through a
   mixture of IPv4 and IPng routers, with no (zero, null) modifications
   to the IPv4 hosts. IPv4 routers must need no modifications to
   interwork with IPng routers.  Additionally, an application package
   which is "aware" of IPv4 but still "unaware" of IPng must be able to
   run on a computer system which is running IPv4, but communicating
   with an IPng host.  For example an old PC in Europe should be able to
   access a NIC server in the USA, even if the NIC server is running
   IPng and the transatlantic routing mechanisms are only partly
   converted.  Or a Class C network in one department of a company
   should retain full access to corporate servers which are running
   IPng, even though nothing whatever has been changed inside the Class
   C network.

   (This does NOT require an IPv4-only application to run on an IPng
   host; thus we accept that some hosts cannot be upgraded until all
   their applications are IPng-compatible. In other words we accept that
   the API may change to some extent. However, even this relaxation is
   debatable and some vendors may want to strictly preserve the IPv4 API
   on an IPng host.)

   B) Header translation considered harmful.

   This author believes that any transition scenario which REQUIRES
   dynamic header translation between IPv4 and IPng packets will create
   almost insurmountable practical difficulties:


     B1) It is taken for granted for the purposes of this paper that
         IPng functionality will be a superset of IPv4 functionality.
         However, successful translation between protocols requires
         that the functionalities of the two protocols which are to be
         translated are effectively identical. To achieve this,
         applications will need to know when they are interworking,
         via the IPng API and a translator somewhere in the network,
         with an IPv4 host, so as to use only IPv4 functionality. This
         is an unrealistic constraint.

     B2) Administration of translators will be quite impracticable for
         large sites, unless the translation mechanism is completely
         blind and automatic. Specifically, any translation mechanism
         that requires special tags to be maintained manually for each
         host in tables (such as DNS tables or router tables) to
         indicate the need for translation will be impossible to
         administer. On a site with thousands of hosts running many
         versions and releases of several operating systems, hosts
         move forwards and even backwards between software releases in
         such a way that continuously tracking the required state of
         such tags will be impossible. Multiplied across the whole
         Internet, this will lead to chaos, complex failure modes, and
         difficult diagnosis. In particular, it will make the
         constraint of paragraph B1) impossible to respect.

         In practice, the knowledge that translation is needed should
         never leak out of the site concerned if chaos is to be
         avoided, and yet without such knowledge applications cannot
         limit themselves to IPv4 functionality when necessary.

   To avoid confusion, note that header translation, as discussed here,
   is not the same thing as address translation (NAT). This paper does
   not discuss NAT.

   This paper does not tackle performance issues in detail, but clearly
   another disadvantage of translation is the consequent overhead.

   C) Coexistence.

   The Internet infrastructure (whether global or private) must allow
   coexistence of IPv4 and IPng in the same routers and on the same
   physical paths.

   This is a necessity, in order that the network infrastructure can be
   updated to IPng without requiring hosts to be updated in lock step
   and without requiring translators.

   Note that this requirement does NOT impose a decision about a common
   or separate (ships-in-the-night) approach to routing.  Nor does it
   exclude encapsulation as a coexistence mechanism.

   D) IPv4 to IPng address mapping.

   Human beings will have to understand what is happening during
   transition. Although auto-configuration of IPng addresses may be a
   desirable end point, management of the transition will be greatly
   simplified if there is an optional simple mapping, on a given site,
   between IPv4 and IPng addresses.

   Therefore, the IPng address space should include a mapping for IPv4
   addresses, such that (if a site or service provider wants to do this)
   the IPv4 address of a system can be transformed mechanically into its
   IPng address, most likely by adding a prefix.  The prefix does not
   have to be the same for every site; it is likely to be at least
   service-provider specific.

   This does not imply that such address mapping will be used for
   dynamic translation (although it could be) or to embed IPv4 routing
   within IPng routing (although it could be). Its main purpose is to
   simplify transition planning for network operators.

   By the way, this requirement does not actually assume that IPv4
   addresses are globally unique.

   Neither does it help much in setting up the relationship, if any,
   between IPv4 and IPng routing domains and hierarchies. There is no
   reason to suppose these will be in 1:1 correspondence.

   E) Dual stack hosts.

   Stepwise transition without translation is hard to imagine unless a
   large proportion of hosts are simultaneously capable of running IPng
   and IPv4.  If A needs to talk to B (an IPng host) and to C (an IPv4
   host) then either A or B must be able to run both IPv4 and IPng. In
   other words, all hosts running IPng must still be able to run IPv4.
   IPng-only hosts are not allowed during transition.

   This requirement does not imply that IPng hosts really have two
   completely separate IP implementations (dual stacks and dual APIs),
   but just that they behave as if they did.  It is compatible with
   encapsulation (i.e., one of the two stacks encapsulates packets for
   the other).

   Obviously, management of dual stack hosts will be simplified by the
   address mapping just mentioned. Only the site prefix has to be
   configured (manually or dynamically) in addition to the IPv4 address.

   In a dual stack host the IPng API and the IPv4 API will be logically
   distinguishable even if they are implemented as a single entity.
   Applications will know from the API whether they are using IPng or
   IPv4.

   F) DNS.

   The dual stack requirement implies that DNS has to reply with both an
   IPv4 and IPng address for IPng hosts, or with a single reply that
   encodes both.

   If a host is attributed an IPng address in DNS, but is not actually
   running IPng yet, it will appear as a black hole in IPng space - see
   the next point.

   G) Smart dual-stack code.

   The dual-stack code may get two addresses back from DNS; which does
   it use?  During the many years of transition the Internet will
   contain black holes. For example, somewhere on the way from IPng host
   A to IPng host B there will sometimes (unpredictably) be IPv4-only
   routers which discard IPng packets.  Also, the state of the DNS does
   not necessarily correspond to reality. A host for which DNS claims to
   know an IPng address may in fact not be running IPng at a particular
   moment; thus an IPng packet to that host will be discarded on
   delivery.  Knowing that a host has both IPv4 and IPng addresses gives
   no information about black holes. A solution to this must be proposed
   and it must not depend on manually maintained information.  (If this
   is not solved, the dual stack approach is no better than the packet
   translation approach.)

   H) Smart management tools.

   A whole set of management tools is going to be needed during the
   transition. Why is my IPng route different from my IPv4 route?  If
   there is translation, where does it happen?  Where are the black
   holes? (Cosmologists would like the same tool :-) Is that host REALLY
   IPng-capable today?...

Multicasts high and low

   It is taken for granted that multicast applications must be supported
   by IPng. One obvious architectural rule is that no multicast packet
   should ever travel twice over the same wire, whether it is a LAN or
   WAN wire. Failure to observe this would mean that the maximum number
   of simultaneous multicast transactions would be halved.

   A negative feature of IPv4 on LANs is the cavalier use of physical
   broadcast packets by protcols such as ARP (and various non-IETF
   copycats).  On large LANs this leads to a number of undesirable
   consequences (often caused by poor products or poor users, not by the
   protcol design itself).  The obvious architectural rule is that
   physical broadcast should be replaced by unicast (or at worst,
   multicast) whenever possible.

ATM

   The networking industry is investing heavily in ATM. No IPng proposal
   will be plausible (in the sense of gaining management approval)
   unless it is "ATM compatible", i.e., there is a clear model of how it
   will run over an ATM network. Although a fully detailed document such
   as RFC 1577 is not needed immediately, it must be shown that the
   basic model works.

   Similar remarks could be made about X.25, Frame Relay, SMDS etc. but
   ATM is the case with the highest management hype ratio today.

Policy routing and accounting

   Unfortunately, this cannot be ignored, however much one would like
   to.  Funding agencies want traffic to flow over the lines funded to
   carry it, and they want to know afterwards how much traffic there
   was.  Accounting information can also be used for network planning
   and for back-charging.

   It is therefore necessary that IPng and its routing procedures allow
   traffic to be routed in a way that depends on its source and
   destination in detail. (As an example, traffic from the Physics
   department of MIT might be required to travel a different route to
   CERN than traffic from any other department.)

   A simple approach to this requirement is to insist that IPng must
   support provider-based addressing and routing.

   Accounting of traffic is required at the same level of detail (or
   more, for example how much of the traffic is ftp and how much is
   www?).

   Both of these requirements will cost time or money and may impact
   more than just the IP layer, but IPng should not duck them.

Security Considerations

   Corporate network operators, and campus network operators who have
   been hacked a few times, take this more seriously than many protocol
   experts.  Indeed many corporate network operators would see improved
   security as a more compelling argument for transition to IPng than
   anything else.

   Since IPng will presumably be a datagram protocol, limiting what can
   be done in terms of end-to-end security, IPng must allow more
   effective firewalls in routers than IPv4.  In particular efficient
   traffic barring based on source and destination addresses and types
   of transaction is needed.

   It seems likely that the same features needed to allow policy routing
   and detailed accounting would be needed for improved firewall
   security.  It is outside the scope of this document to discuss these
   features in detail, but it seems unlikely that they are limited to
   implementation details in the border routers.  Packets will have to
   carry some authenticated trace of the (source, destination,
   transaction) triplet in order to check for unwanted traffic, to allow
   policy-based source routing, and/or to allow detailed accounting.
   Presumably any IPng will carry source and destination identifiers in
   some format in every packet, but identifying the type of transaction,
   or even the individual transaction, is an extra requirement.

Disclaimer and Acknowledgements

   This is a personal view and does not necessarily represent that of my
   employer.

   CERN has been through three network transitions in recent years (IPv4
   renumbering managed by John Gamble, AppleTalk Phase I to Phase II
   transition managed by Mike Gerard, and DECnet Phase IV to DECnet/OSI
   routing transition managed by Denise Heagerty).  I could not have
   written this document without having learnt from them. I have also
   benefitted greatly from discussions with or the writings of many
   people, especially various members of the IPng Directorate. Several
   Directorate members gave comments that helped clarify this paper, as
   did Bruce L Hutfless of Boeing.  However the opinions are mine and
   are not shared by all Directorate members.

Author's Address

   Brian E. Carpenter
   Group Leader, Communications Systems
   Computing and Networks Division
   CERN
   European Laboratory for Particle Physics
   1211 Geneva 23, Switzerland

   Phone:  +41 22 767-4967
   Fax:    +41 22 767-7155
   Telex:  419000 cer ch
   EMail: brian@dxcoms.cern.ch

AI ELI5

On this page
PROBLEMThe Internet is too large to switch from IPv4 to IPng overnight. Users will need years to migrate, and different sites will move at different paces, creating complex deployment challenges.
MECHANISMThis white paper outlines eight key requirements for stepwise transition: interworking at every stage, coexistence of IPv4 and IPng, dual-stack hosts that run both protocols, DNS support for both address types, smart code that handles black holes, and management tools to diagnose problems.
FOUNDATION FOR IPV6 ROLLOUTThe transition strategy developed for IPv6 implemented most of these principles, including dual-stack deployment, DNS AAAA records, and address mapping strategies.

§1The Long Transition Challenge

The transition from IPv4 to IPng will take years or even decades. Vendors will not coordinate product releases, and sites will run old equipment alongside new equipment for extended periods. Every site will need its own staged transition plan suited to its situation. Only the smallest sites might attempt a single-flag-day cutover, and even then only under pressure from their Internet service providers.

Users view the transition to IPng the way they view changing programming languages or operating systems—with concern about minimizing cost and risk to production. This perspective defines strong constraints on how IPng can be deployed: any combination of IPv4 and IPng hosts and routers must be able to interwork seamlessly, and the transition must not require changes to existing IPv4 hosts or applications.

You can't just flip a switch and change the whole Internet overnight. Companies will use old Internet for years while trying new Internet, and everything has to work together.

§2Interworking and Coexistence

The fundamental requirement is interworking at every stage and every layer. An IPv4 packet must travel from any IPv4 host to any IPv4 or IPng host through any combination of IPv4 and IPng routers, with zero modifications to the IPv4 hosts. Old IPv4 routers must interwork with IPng routers without modification. An old application that knows only IPv4 must be able to run on an unmodified IPv4 system and communicate with an IPng host on the other side of the network.

Header translation between IPv4 and IPng packets is actively harmful because it creates unrealistic constraints: applications would need to know when they are crossing a translation boundary to limit themselves to IPv4 functionality, and manual administration of translator tables across large sites would quickly become chaotic. Instead, the solution is coexistence: IPv4 and IPng must coexist in the same routers and physical paths, allowing the network infrastructure to migrate to IPng without requiring hosts to update in lock-step.

Old computers must talk to new computers without anyone changing anything on the old computers. You can't try to translate messages between old and new Internet—that causes chaos. Instead, routers handle both kinds at the same time.

§3Address Mapping and Dual-Stack Hosts

During transition, operators need a simple way to understand what is happening. Therefore, IPng's address space should include a mapping for IPv4 addresses, allowing the IPv4 address of a system to be transformed mechanically into its IPng address, typically by adding a prefix. This prefix can be site-specific or provider-specific, simplifying transition planning for network operators without requiring global coordination.

Large-scale transition without translation is only possible if most hosts can run both IPv4 and IPng simultaneously. Dual-stack hosts are essential: if host A needs to talk to both host B (running IPng) and host C (running IPv4), then either A, B, or C must be able to run both protocols. During transition, all IPng hosts must retain the ability to run IPv4. The dual-stack requirement does not mean duplicate implementations; one stack can encapsulate for the other. Only the site prefix needs configuration in addition to the existing IPv4 address.

The new Internet should have a way to turn old addresses into new ones by adding a prefix. Computers switching to the new Internet have to keep running the old Internet too, so they can talk to computers that haven't switched yet.

§4DNS, Smart Code, and Management

DNS must support dual-stack operation by returning both IPv4 and IPng addresses for hosts that have been upgraded. However, during transition, the DNS database may not reflect reality: a host listed as IPng-capable might not actually be running IPng at a given moment, or an IPng packet might encounter IPv4-only routers unpredictably. These black holes in the routing space create delivery failures that cannot be diagnosed by knowing addresses alone.

Smart dual-stack code must handle black holes: when DNS returns both address types, the application must be able to try one, fail, and automatically fall back to the other without manual intervention. Without this fallback behavior, dual-stack deployment offers no advantage over translation. Additionally, smart management tools are needed during transition to answer questions like: Where are black holes? Is that host really running IPng today? Why does my IPng route differ from my IPv4 route? These tools are essential for diagnosing the complex failure modes that arise during long-term coexistence.

Computers ask DNS for both old and new addresses, but DNS might be wrong. Smart software tries one, and if it fails, tries the other. Network administrators need tools to find and fix broken spots in the network.

§5Multicast, ATM, Routing, and Security

IPng must support multicast efficiently, following the architectural rule that no multicast packet should travel twice over the same wire. IPv4's physical broadcast mechanisms (used by protocols like ARP) should be replaced with unicast or multicast wherever possible on large networks. The networking industry is investing heavily in ATM technology, so IPng must have a clear model for running over ATM networks and leveraging their multicast capabilities.

Policy-based routing allows traffic to follow specific paths based on source and destination, enabling network operators to control which lines traffic uses. Detailed accounting must accompany policy routing to track traffic type and volume. Finally, IPng's security model must support improved firewalls in routers. Routers need to bar traffic based on source, destination, and transaction type. This likely requires packets to carry an authenticated trace of the (source, destination, transaction) triplet, which is an extra requirement beyond simple address-based filtering.

The new Internet needs efficient group messages, must work with new switch technology, should let operators control which wires traffic uses, and must have better security walls to keep bad stuff out.

§6References