INTERNET DRAFT                                               Matt Thomas
Internet Draft                               AltaVista Internet Software
                                                              April 1997

               The Use of End System Designators in IPv6

                      draft-thomas-ipv6-esd-00.txt

Abstract

   There is a proposal to split unicast IPv6 addresses into two 8 byte
   quantities.  The first 8 bytes will contain routing information
   which is used to reach a subnetwork.  The last 8 bytes will contain
   a identifier of a node on that subnet.  This identifier is globally
   unique and is called an End System Designator (ESD).  The ESD (not
   the entire 16 byte address) will be used to accept packets and
   identify connections, among other things.

Status of This Memo

   This document is a submission to the IPng Working Group of the
   Internet Engineering Task Force (IETF).  Comments should be
   submitted to the ipng@sunroof.eng.sun.com mailing list.  This
   document is not at this time a product of the IPng Working Group,
   but a proposal to become a product of the IPng Working Group.

   This document is an Internet-Draft.  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.''

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts
   Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).

   Distribution of this document is unlimited.


Table Of Contents

       1. Introduction                                                 3
       2. Concepts                                                     3
          2.1. EUI-48                                                  3
          2.2. EUI-60                                                  4
       3. Methods of obtaining an ESD when a EUI-64 is not available   4

Expires August 1997                                             [Page 1]


Internet Draft         IPv6 End System Designators            April 1997

          3.1. EUI-64 from IPv4 address                                4
          3.2. EUI-64 from Autonomous System Number                    4
          3.3. EUI-64 from random number                               4
       4. Usage of End System Designators                              5
       5. Issues for Further Consideration                             5
          5.1. IPv4 Compatible Addresses                               5
          5.2. IPv4 Mapped Addresses                                   6
       6. Acknowledgments                                              6
       7. References                                                   6
       8. Authors' Addresses                                           6











































Expires August 1997                                             [Page 2]


Internet Draft         IPv6 End System Designators            April 1997

1. Introduction

   There is a proposal to split unicast IPv6 addresses into two 8 byte
   quantities.  The first 8 bytes will contain routing information
   which is used to reach a subnetwork.  The last 8 bytes will contain
   a identifier of a node on that subnet.  This identifier is globally
   unique and is called an End System Designator (ESD).  The ESD (not
   the entire 16 byte address) will be used to accept packets and
   identify connections, among other things.

2. Concepts

   An End System Designator is an 8 byte globally unique value that is
   placed in the last 8 bytes of IPv6 address.  An ESD uses the same
   format as an EUI-64 which is defined in the IEEE EUI-64 standard
   [EUI64].  The first 3 bytes is an IEEE-assigned "company_id"
   followed by 5 bytes of vendor supplied identification.

   Over an IEEE 802 media, the 24 bits of a company_id are transmitted
   from left to right:

      00010000 00000000 11010100        (example company_id of 08-00-2B)
      guxxxxxx yyyyyyyy zzzzzzzz

   where g is the group/individual bit and u is the universal/local
   bit. These two bits of the IEEE company_id are reserved for future
   use by the IEEE.  "x" represents the remaining bits of the first
   byte.  "y" and "z" represent the bits of the second and third bytes,
   respectively.  The canonical representation of a company is 3 bytes
   expressed in hexadecimal; bit 0 of each byte is the first
   transmitted bit of that byte.

   The EUI-64 format is used by IEEE 1394 (FireWire) and other media.

2.1. EUI-48

   Ethernet (and other IEEE 802 compatible media) adapters or systems
   with Ethernet adapters are shipped with at least one 48-bit unique
   identifier (which will be the address used by the adapter and/or
   system).  This 48-bit identifier (EUI-48) is divided into 2 parts.
   The first part is a 3 byte OUI (organizationally unique identifier)
   and is the same as an IEEE company_id.  The last 3 bytes of the
   identifier are vendor supplied identification (VSID).

   The defined method of transforming an EUI-48 identifier into an
   EUI-64 identifier is to insert 2 bytes (with the hexadecimal values
   FF and FE, respectively) between the OUI and the VSID.

        ccccccFFFEvvvvvv

      where cccccc is the company_id and vvvvvv is vendor supplied
      identifier




Expires August 1997                                             [Page 3]


Internet Draft         IPv6 End System Designators            April 1997

2.2. EUI-60

   FibreChannel uses a 60 bit EUI format.  The first 24 bits correspond
   to an IEEE-assigned company_id and the last 36 bits consist of
   vendor supplied indentification.  As this point in time, there is no
   canonical way of transforming an EUI-60 into an EUI-64.  In
   addition, FibreChannel considers its VSIDs to unique to FibreChannel
   media only. These issues have been raised to the FibreChannel
   committee.

3. Methods of obtaining an ESD when a EUI-64 is not available

   Some systems (e.g. PPP servers) may not have enough vendor-supplied
   identifiers to generate an ESD for every link on the system.  It
   also may not be able to supply an ESD for the remote side of a
   point-to-point link.  Therefore at least one alternative way of
   generating globally unique ESDs is required.  It is desireable to
   not create another centralized allocation scheme if at all possible.

   IANA was been assigned the company_id of 00-00-5E [RFC1700].  Since
   this company_id has only been used to construct IEEE 802 group
   addresses, some or all of the remaining 40 bits (subject to IANA's
   approval) are available to be used to construct EUI-64 identifiers.

3.1. EUI-64 from IPv4 address

   One method to obtain a globally unique EUI-64 value is to use one of
   the system's globally unique IPv4 address (not an IPv4 address with
   a 10/8, 127/8, 172.16/12, or 192.168/16 prefix [RFC1918]).  This can
   be used to generate an EUI-64 in the following manner:

        00-00-5E-10-aa-bb-cc-dd

       aa-bb-cc-dd are the bytes of the IPv4 address in network order

   It is expected that this can be automatically by configuration with
   little or no user intervention.

3.2. EUI-64 from Autonomous System Number

   Another method to generate an ESD is to use an assigned autonomous
   system number (ASN) to create a customer-assignable space from which
   the customer can allocate EUI-64s

           00-00-5E-20-gg-hh-vv-vv

       gg-hh are the bytes of the ASN in network order.
       vv-vv are the bytes the customer can assign.

3.3. EUI-64 from random number

   A third method is generate a 60 bit random (not psuedo-random) and
   use that in conjunction with one of the reserved bits to generate a
   globally unique EUI-64.


Expires August 1997                                             [Page 4]


Internet Draft         IPv6 End System Designators            April 1997

           x2-xx-xx-xx-xx-xx-xx-xx

      x is the 60 bit random number.  The first 4 bits of EUI-64 are 0010.

   Note that a cryptographically good random number generator should be
   used.  If one is not available, use a cryptographic hash function
   and supply as much "unique" or varying information to the hash and
   then truncate the hash output to 60 bits.

4. Usage of End System Designators

   The packet acceptance rules still operate on the entire 16 byte IPv6
   address.  However, once a packet has been deterimined to be
   addressed to the local node and the packet's destination address was
   not an IPv6 multicast address, only the ESD portion of the
   destination address is used to perform connection
   identification/lookup or other functions (e.g. looking security
   assocsiations) where an address would normally be used as an
   identifier.

   This may allow connections to survive renumbering since the ESD will
   not have changed.  However another mechanism is needed to inform the
   remote node that it should be using a new IPv6 address.  This can be
   easily done if the there exists a security association (which
   provides replay protection and integrity checking) from the local
   renumbered node to the remote node.  If a valid packet is received
   by the remote node which is covered by the security association and
   that packet establishes a new upper edge of the replay window (ie.
   it has the highest replay counter received so far), then that packet
   must be the most recent packet transmitted by the renumbered node.

   Whenever this condition is true, the remote node stores the source
   address of the packet as the the remote address for its connection
   and/or paired security association.  This would allow connections to
   securely transition to new addresses as a result of renumbering.

   However, this may not be possible is all cases (long lived UDP or
   datagram; e.g. NFS or RealAudio) and may require application
   awareness to happen.  It is expected that the Advanced API for IPv6
   draft will be amended to allow application control over this
   behavior.

5. Issues for Further Consideration

5.1. IPv4 Compatible Addresses

   IPv4 compatible addresses [RFC1883] are of the form ::aabb:ccdd
   (where aa, bb, cc, and dd are the bytes of the IPv4 address in
   hexadecimal). This would translate into an EUI-64 of
   00-00-00-00-aa-bb-cc-dd.  Since the 00-00-00 company_id is reserved
   [must be confirmed with IEEE.] these addresses are still globally
   unique.




Expires August 1997                                             [Page 5]


Internet Draft         IPv6 End System Designators            April 1997

5.2. IPv4 Mapped Addresses

   IPv4 mapped addresses [RFC1883] are of the form ::FFFF:aabb:ccdd
   (where aa, bb, cc, and dd are the bytes of the IPv4 address in
   hexadecimal).  This would translate into an EUI-64 of
   00-00-FF-FF-aa-bb-cc-dd.  It is not known at this time whether the
   00-00-FF company_id has been assigned.  If not, it should be
   assigned to IANA.  If so, then either a new prefix should be chosen
   for IPv4 mapped addresses or IPv4 mapped addresses can not be
   considered to globally unique and must as treated as a special case.

   The new prefix, if required, should be ::FFFF:FFFF:aabb:cc:dd so
   that the header checksum is preserved and FF-FF-FF company_id is in
   the reserved space of IEEE.

6. Acknowledgments

   This draft could not have been written without the considerable help
   of Matt Crawford, Bob Fink, and Dan Harrington.

7. References

   EUI64           IEEE, "GUIDELINES FOR 64-BIT GLOBAL IDENTIFIER
                   (EUI-64) REGISTRATION AUTHORITY",
                   http://standards.ieee.org/db/oui/tutorials/EUI64.html,
                   March 1997

   RFC1700         Reynolds & Postel, "Assigned Numbers", October 1994

   RFC1883         S. Deering and R. Hinden, "Internet Protocol Version
                   6 (IPv6) Specification", Proposed Standard, December
                   1995

   RFC1884         R. Hinden and S. Deering, "IP Version 6 Addressing
                   Architecture", Proposed Standard, December 1995

   RFC1918         Rekhter, et al, "Address Allocation for Private
                   Internets", Best Current Practice, February 1996

8. Authors' Addresses

       Matt Thomas
       AltaVista Internet Software
       LJO2-1/J8
       30 Porter Rd
       Littleton, MA 01460
       Email: mattthomas@earthlink.net









Expires August 1997                                             [Page 6]