Network Working Group                               Philip J. Nesser II
draft-ietf-v6ops-ipv4survey-subip-00.txt     Nesser & Nesser Consulting
Internet Draft                                            February 2003
                                                    Expires August 2003

           Survey of IPv4 Addresses in Currently Deployed
                      IETF Sub-IP Area Standards

This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.

Status of this Memo

Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups.  Note that other
groups may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents at
any time.  It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."

The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt

The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.


Abstract

This document seeks to document all usage of IPv4 addresses in currently
deployed IETF Sub-IP Area documented standards.  In order to
successfully transition from an all IPv4 Internet to an all IPv6 Internet,
many interim steps will be taken. One of these steps is the evolution of
current protocols that have IPv4 dependencies.  It is hoped that these
protocols (and their implementations) will be redesigned to be network
address independent, but failing that will at least dually support IPv4
and IPv6.  To this end, all Standards (Full, Draft, and Proposed) as well
as Experimental RFCs will be surveyed and any dependencies will be documented.



1.0 Introduction

This work began as a megolithic document draft-ietf-ngtrans-
ipv4survey-XX.txt.  In an effort to rework the information into a more
manageable form, it has been broken into 8 documents conforming to the
current IETF areas (Application, General, Internet, Manangement & Operations,
Routing, Security, Sub-IP and Transport).


1.1 Short Historical Perspective

There are many challenges that face the Internet Engineering community.
The foremost of these challenges has been the scaling issue.  How to grow
a network that was envisioned to handle thousands of hosts to one that
will handle tens of millions of networks with billions of hosts.  Over the
years this scaling problem has been overcome with changes to the network
layer and to routing protocols.  (Ignoring the tremendous advances in
computational hardware)

The first "modern" transition to the network layer occurred in during the
early 1980's from the Network Control Protocol (NCP) to IPv4.  This
culminated in the famous "flag day" of January 1, 1983.  This version of
IP was documented in RFC 760.  This was a version of IP with 8 bit network
and 24 bit host addresses.  A year later IP was updated in RFC 791 to
include the famous A, B, C, D, & E class system.

Networks were growing in such a way that it was clear that a need for
breaking networks into smaller pieces was needed.  In October of 1984 RFC
917 was published formalizing the practice of subnetting.

By the late 1980's it was clear that the current exterior routing protocol
used by the Internet (EGP) was not sufficient to scale with the growth of
the Internet.  The first version of BGP was documented in 1989 in RFC
1105.

The next scaling issues to became apparent in the early 1990's was the
exhaustion of the Class B address space.  The growth and commercialization
of the Internet had organizations requesting IP addresses in alarming
numbers.  In May of 1992 over 45% of the Class B space was allocated.  In
early 1993 RFC 1466 was published directing assignment of blocks of Class
C's be given out instead of Class B's.  This solved the problem of address
space exhaustion but had significant impact of the routing infrastructure.

The number of entries in the "core" routing tables began to grow
exponentially as a result of RFC 1466.  This led to the implementation of
BGP4 and CIDR prefix addressing.  This may have solved the problem for the
present but there are still potential scaling issues.

Current Internet growth would have long overwhelmed the current address
space if industry didn't supply a solution in Network Address Translators
(NATs).  To do this the Internet has sacrificed the underlying
"End-to-End" principle.

In the early 1990's the IETF was aware of these potential problems and
began a long design process to create a successor to IPv4 that would
address these issues.  The outcome of that process was IPv6.

The purpose of this document is not to discuss the merits or problems of
IPv6.  That is a debate that is still ongoing and will eventually be
decided on how well the IETF defines transition mechanisms and how
industry accepts the solution.  The question is not "should," but "when."


1.2 A Brief Aside

Throughout this document there are discussions on how protocols might be
updated to support IPv6 addresses.  Although current thinking is that IPv6
should suffice as the dominant network layer protocol for the lifetime of
the author, it is not unreasonable to contemplate further upgrade to IP.
Work done by the IRTF Interplanetary Internet Working Group shows one idea
of far reaching thinking.  It may be a reasonable idea (or may not) to
consider designing protocols in such a way that they can be either IP
version aware or independent.  This idea must be balanced against issues
of simplicity and performance.  Therefore it is recommended that protocol
designer keep this issue in mind in future designs.

Just as a reminder, remember the words of Jon Postel:

        "Be conservative in what you send; be liberal in what
         you accept from others."



2.0 Methodology

To perform this study each class of IETF standards are investigated in
order of maturity:  Full, Draft, and Proposed, as well as Experimental.
Informational RFC are not addressed.  RFCs that have been obsoleted by
either newer versions or as they have transitioned through the standards
process are not covered.

Please note that a side effect of this choice of methodology is that
some protocols that are defined by a series of RFC's that are of different
levels of standards maturity are covered in different spots in the
document.  Likewise other natural groupings (i.e. MIBs, SMTP extensions,
IP over FOO, PPP, DNS, etc.) could easily be imagined.


2.1 Scope

The procedure used in this investigation is an exhaustive reading of the
applicable RFC's.  This task involves reading approximately 25000 pages
of protocol specifications.  To compound this, it was more than a process
of simple reading.  It was necessary to attempt to understand the purpose
and functionality of each protocol in order to make a proper determination
of IPv4 reliability.  The author has made ever effort to make this effort
and the resulting document as complete as possible, but it is likely that
some subtle (or perhaps not so subtle) dependence was missed.  The author
encourage those familiar (designers, implementers or anyone who has an
intimate knowledge) with any protocol to review the appropriate sections
and make comments.


2.2 Document Organization

The rest of the document sections are described below.

Sections 3, 4, 5, and 6 each describe the raw analysis of Full, Draft,
and Proposed Standards, and Experimental RFCs.  Each RFC is discussed in
its turn starting with RFC 1 and ending with RFC 3247.  The comments for
each RFC is "raw" in nature.  That is, each RFC is discussed in a vacuum
and problems or issues discussed do not "look ahead" to see if the
problems have already been fixed.

Section 7 is an analysis of the data presented in Sections 3, 4, 5, and
6.  It is here that all of the results are considered as a whole and the
problems that have been resolved in later RFCs are correlated.



3.0 Full Standards

Full Internet Standards (most commonly simply referred to as "Standards")
are fully mature protocol specification that are widely implemented and
used throughout the Internet.


3.1 RFC 1390 Transmission of IP and ARP over FDDI Networks

This RFC documents the use of IPv4 address on FDDI networks. It is clear
that a new RFC defining the use of IPv6 addresses in a similar manner
is required.  In particular the value of the Protocol Type Code (2048 for
IPv4) and a corresponding Protocol Address length (4 bytes for IPv4) needs
to be created.  A discussion of broadcast and multicast addressing
techniques
is also included, and similarly must be updated for IPv6 networks.  The
defined
MTU limitation of 4096 octets of data (with 256 octets reserved header
space)
should remain sufficient for IPv6.


3.2 RFC 826 An Ethernet Address Resolution Protocol

There are no IPv4 dependencies in this protocol.


3.3 RFC 903 A Reverse Address Resolution Protocol

There are no IPv4 dependencies in this protocol.


3.4 RFC 1132 Standard for the transmission of 802.2 packets over IPX
networks,

This document is clearly intended to only be valid for IPv4 addresses but
could be extended for IPv6 packets.  The specification is not tightly
written since it assumes 20 byte IP headers, but adds the term "usually"
which has most likely been implemented as a hard value.  A new, more tightly
specified, RFC could be written to allow IPv6 packets,


3.5 RFC 2427 Multiprotocol Interconnect over Frame Relay

Section 11.  Appendix A - NLPIDS and PIDs

   List of Commonly Used NLPIDs

   0x00    Null Network Layer or Inactive Set
           (not used with Frame Relay)
   0x08    Q.933 [2]
   0x80    SNAP
   0x81    ISO CLNP
   0x82    ISO ESIS
   0x83    ISO ISIS
   0x8E    IPv6
   0xB0    FRF.9 Data Compression [14]
   0xB1    FRF.12 Fragmentation [18]
   0xCC    IPv4
   0xCF    PPP in Frame Relay [17]

already has a NLPID defined for the transmission of IPv6 packets.



4.0 Draft Standards

Draft Standards represent the penultimate standard level in the IETF.
A protocol can only achieve draft standard when there are multiple,
independent, interoperable implementations.  Draft Standards are usually
quite mature and widely used.


4.1 RFC 1188 Proposed Standard for the Transmission of IP Datagrams
    over FDDI Networks

In the "Packet Format" Section the following text is seen:

        The 24-bit Organization Code in the SNAP must be zero, and
        the remaining 16 bits are the EtherType from Assigned
        Numbers [13] (IP = 2048, ARP = 2054).


In the "Address Resolution" Section the following text is seen:

   The protocol type code for IP is 2048 [13].

   The hardware address length is 6.

   The protocol address length (for IP) is 4.

In the "Multicast Support" Section

   An IP multicast address is mapped to an FDDI group address by placing
   the low order 23 bits of the IP address into the low order 23 bits of
   the FDDI group address 01-00-5E-00-00-00 (in "canonical" order).
   [See 13, page 20.]

   For example, the IP multicast address:

         224.255.0.2

   maps to the FDDI group address:

         01-00-5E-7F-00-02

   in which the multicast (group) bit is the low order bit of the first
   octet (canonical order).  When bit-reversed for transmission in the
   destination MAC address field of an FDDI frame (native order), it
   becomes:

         80-00-7A-FE-00-40

   that is, with the multicast (group) bit as the high order bit of the
   first octet, that being the first bit transmitted on the medium.

There is also a reserved amount of 256 bytes for new header information
which would allow the use of IPv6 addresses without modification of the
overall MTU.


4.2 RFC 1356 Multiprotocol Interconnect on X.25 and ISDN in the
     Packet Mode (IP-X.25)

Section 3.2 defines an NLPID for IP as follows:

    The value hex CC (binary 11001100, decimal 204) is IP [6].
    Conformance with this specification requires that IP be supported.
    See section 5.1 for a diagram of the packet formats.

Clearly a new NLPID would need to be defined for IPv6 packets.


4.3 RFC 2390 Inverse Address Resolution Protocol (IARP)

There are no IPv4 dependencies in this protocol.



5.0 Proposed Standards

Proposed Standards are introductory level documents.  There are no
requirements for even a single implementation.  In many cases Proposed
are never implemented or advanced in the IETF standards process.  They
therefore are often just proposed ideas that are presented to the Internet
community.  Sometimes flaws are exposed or they are one of many competing
solutions to problems.  In these later cases, no discussion is presented
as it would not serve the purpose of this discussion.


5.01 RFC 2467 Transmission of IPv6 Packets over FDDI Networks

This RFC documents a method for transmitting IPv6 packets over
FDDI and is not considered in this discussion.


5.02 RFC 2601 ILMI-Based Server Discovery for ATMARP

This protocol is both IPv4 and IPv6 aware.


5.03 RFC 2602 ILMI-Based Server Discovery for MARS

This protocol is both IPv4 and IPv6 aware.


5.04 RFC 2603 ILMI-Based Server Discovery for NHRP

This protocol is both IPv4 and IPv6 aware.


5.05 RFC 2625 IP and ARP over Fibre Channel

This document states:

  Objective and Scope:

   The major objective of this specification is to promote interoperable
   implementations of IPv4 over FC. This specification describes a
   method for encapsulating IPv4 and Address Resolution Protocol (ARP)
   packets over FC.

Therefore a similar method will need to be defined for IPv6.


5.06 RFC 2684 Multiprotocol Encapsulation over ATM Adaptation
      Layer 5

There are no IPv4 dependencies in this protocol.


5.07 RFC 2685 Virtual Private Networks Identifier (VPN)

There are no IPv4 dependencies in this protocol.


5.08 RFC 3031 Multiprotocol Label Switching Architecture (MPLS)

There are no IPv4 dependencies in this protocol.


5.09 RFC 3032 MPLS Label Stack Encoding

This protocol is both IPv4 and IPv6 aware and needs no changes.


5.10 RFC 3034 Use of Label Switching on Frame Relay Networks
      Specification

There are no IPv4 dependencies in this protocol.


5.11 RFC 3035 MPLS using LDP and ATM VC Switching

There are no IPv4 dependencies in this protocol.


5.12 RFC 3036 LDP Specification

This protocol is both IPv4 and IPv6 aware and needs no changes.


5.13 RFC 3038 VCID Notification over ATM link for LDP

There are no IPv4 dependencies in this protocol.



6.0 Experimental RFCs

Experimental RFCs typically define protocols that do not have widescale
implementation or usage on the Internet.  They are often propriety in
nature or used in limited arenas.  They are documented to the Internet
community in order to allow potential interoperability or some other
potential useful scenario.  In a few cases they are presented as
alternatives to the mainstream solution to an acknowledged problem.


6.1 RFC 1149 Standard for the transmission of IP datagrams on avian
      carriers

There are no IPv4 dependencies in this protocol.  In fact the
flexibility of this protocol is such that all versions of IP should
function within its boundaries, presuming that the packets remains
small enough to be transmitted with the 256 milligrams weight
limitations.


6.2 RFC 1307 Dynamically Switched Link Control Protocol (DSLCP)

This protocol is IPv4 dependent.  See:

3.1  Control Message Format

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Identifier                   |   Total length                |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Function                     |   Event Status                |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                Endpoint 1                                     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                Endpoint 2                                     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                       Message                                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                       Body                                    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Endpoint addresses: 32 bits each

       The internet addresses of the two communicating parties for which
       the link is being prepared.


6.3 RFC 2337 Intra-LIS IP multicast among routers over ATM using
      Sparse Mode PIM

This protocol is designed for IPv4 multicast and a new mechanism
must be defined for IPv6 multicasting.


6.4 RFC 2362 Protocol Independent Multicast-Sparse Mode (PIM-SM):
      Protocol Specification (PIM-SM)

This protocol is both IPv4 and IPv6 aware and needs no changes.


6.5 RFC 2443 A Distributed MARS Service Using SCSP (MARS-SCSP)

This document gives default values for use on IPv4 networks, but
is designed to be extensible so it will work with IPv6 with
appropriate IANA definitions.


6.6 RFC 3063 MPLS Loop Prevention Mechanism

There are no IPv4 dependencies in this protocol.



7.0  Summary of Results

In the initial survey of RFCs 8 positives were identified out of a
total of 27, broken down as follows:

        Standards                                2 of  5 or 40.00%
        Draft Standards                          2 of  3 or 66.67%
        Proposed Standards                       2 of 13 or 15.38%
        Experimental RFCs                        2 of  6 or 33.33%

Of those identified many require no action because they document
outdated and unused protocols, while others are document protocols
that are actively being updated by the appropriate working groups.
Additionally there are many instances of standards that SHOULD be
updated but do not cause any operational impact if they are not
updated.  The remaining instances are documented below.

The author has attempted to organize the results in a format that allows
easy reference to other protocol designers.  The following recommendations
uses the documented terms "MUST", "MUST NOT", "REQUIRED", "SHALL",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
described in RFC 2119.  They should only be interpreted in the context
of RFC 2119 when they appear in all caps.  That is, the word "should" in
the previous SHOULD NOT be interpreted as in RFC 2119.

The assignment of these terms has been based entirely on the authors
perceived needs for updates and should not be taken as an official
statement.


7.1  Standards


7.1.1 STD 36 IP and ARP over FDDI (RFC 1390)

This problem has been fixed by RFC2467, A Method for the Transmission of
IPv6 Packets over FDDI Networks.


7.1.2 STD 49 802.2 Over IPX (RFC 1132)

This protocol specification is not tightly defined and it can easily be
updated to tighten the language and explicitly include IPv6 packets.
Since it defines a generic way of tunneling many protocols over IPX
networks and the large installed base of IPX networks, an updated RFC
SHOULD be written.



7.2 Draft Standards


7.2.1 IP over FDDI (RFC 1188)

See Section 7.1.13.


7.2.2 Multiprotocol Interconnect on X.25 and ISDN in the Packet
        Mode (RFC 1356)

This problem can be fixed by defining a new NLPID for IPv6.



7.3  Proposed Standards


7.3.1  Support for Multicast over UNI 3.0/3.1 based ATM Networks
        (RFC 2022)

The problems MUST be addressed in a new protocol.


7.3.2  IP & ARP Over FibreChannel (RFC 2625)

A new standard MUST be defined to fix these problems.



7.4  Experimental RFCs


7.4.1  Dynamically Switched Link Control Protocol (RFC 1307)

This protocol relies on IPv4 and a new protocol standard SHOULD NOT
be produced.


7.4.2  Intra-LIS IP multicast among routers over ATM using
        Sparse Mode PIM  (RFC 2337)

This protocol relies on IPv4 IGMP Multicast and a new protocol
standard MAY be produced.



8.0 Acknowledgements

The author would like to acknowledge the support of the Internet Society
in the research and production of this document.   Additionally the
author would like to thanks his partner in all ways, Wendy M. Nesser.


9.0 Authors Address

Please contact the author with any questions, comments or suggestions
at:

Philip J. Nesser II
Principal
Nesser & Nesser Consulting
13501 100th Ave NE, #5202
Kirkland, WA 98034

Email:  phil@nesser.com
Phone:  +1 425 481 4303
Fax:    +1 425 48