Network Working Group                                         L. Morales
Request for Comments: 1236                                      P. Hasse
                                                                 USAISEC
                                                               June 1991


                  IP to X.121 Address Mapping for DDN

Status of this Memo

   This memo defines a standard way of converting IP addresses to CCITT
   X.121 addresses and is the recommended standard for use on the
   Internet, specifically for the Defense Data Network (DDN).  This memo
   provides information for the Internet community.  It does not specify
   an Internet standard.  Distribution of this memo is unlimited.

1.  Overview

   The Defense Communication Agency (DCA) has stated that "DDN specifies
   a standard for mapping Class A addresses to X.121 addresses."
   Additionally DCA has stated that Class B and C IP to X.121 address
   mapping "standards are the responsibility of the administration of
   the Class B or C network in question".  Therefore, there is NO
   defined single standard way of converting Class B and Class C IP
   addresses to X.121 addresses.

   This is an important issue because currently there is no way for
   administrators to define IP to X.121 address mapping.  Without a
   single standard, in a multi-vendor network environment, there is no
   assurance that devices using IP and DDN X.25 will communicate with
   each other.

   The IP to X.121 address mapping of Class B and Class C IP addresses
   shall be implemented as described below.  This translation method is
   a direct expansion of the algorithm described in the "MIL-STD:  X.25,
   DDN X.25 Host Interface Specification" [1].  The translation method
   described below is TOTALLY independent of IP subnetting and of any
   masking that may be used in support of IP subnetting.

2.  Background

   All Internet hosts are assigned a four octet (32 bit) address
   composed of a network field and a local address field also known as
   the REST field [2] (see Figure 1 thru 3).  Two basic forms of
   addresses are provided:  (1) Physical addresses, correspond to the
   node number and DCE port number of the node to which the DTE is
   connected.  (2) Logical addresses, are mapped transparently by DCE
   software into a corresponding physical network address.



Morales & Hasse                                                 [Page 1]


RFC 1236          IP to X.121 Address Mapping for DDN          June 1991


   To provide flexibility, Internet addresses are divided into 3 primary
   classes:  Class A, Class B, and Class C.  These classes allow for a
   large number of small and medium sized networks.  The network
   addresses used within the Internet in Class A, B, and C networks are
   divided between Research, Defense, Government, (Non-Defense) and
   Commercial uses.

   As described in the MIL-STD:  X25, an IP address consists of the
   ASCII text string representation of four decimal numbers separated by
   periods, corresponding to the four octets of a thirty-two bit
   Internet address.  The four decimal numbers are referred to in this
   memo as network (n), host (h), logical address (l), and Interface
   Message Processor (IMP) or Packet Switch Node (PSN) (i).  Thus, an
   Internet address maybe represented as "n.h.l.i" (Class A), "n.n.h.i"
   (Class B), or "n.n.n.hi" (Class C), depending on the Internet address
   class.  Each of these four numbers will have either one, two, or
   three decimal digits and will never have a value greater than 255.
   For example, in the Class A IP address "26.9.0.122", n=26 h=9, l=0,
   and i=122.

   The different classes of Internet addresses [3] are illustrated
   below:

   Class A:

   The highest-order bit is set to 0.
   7-bits define the network number.
   24-bits define the local address.
   This allows  up to 126 class A networks.
   Networks 0 and 127 are reserved.


      |       n       |       h       |       l       |       i       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |0|   NETWORK   |                 Local Address                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             7 Bits                  24 Bits (REST Field)

                                   Figure 1

   Class B:

   The two highest-order bits are set to 1-0.
   14-bits define the network number.
   16-bits define the local address.
   This allows up to 16,384 class B networks.





Morales & Hasse                                                 [Page 2]


RFC 1236          IP to X.121 Address Mapping for DDN          June 1991


      |        n      |       n       |       h       |       i       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1 0|           NETWORK         |          Local Address        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                      14 Bits                 16 Bits (REST Field)

                                   Figure 2

   Class C:

   The three highest-order bits are set to 1-1-0.
   21-bits define the network number.
   8-bits define the local address.
   This allows up to 2,097,152 class C networks


      |       n       |       n       |       n       |   h   |   i   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1 1 0|                 NETWORK                 | Local Address |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                              21 Bits                8 Bits (REST Field)

                                   Figure 3

   The fourth type of address, class D, is used as a multicast address.
   The four highest-order bits are set to 1-1-1-0.  Note:  No addresses
   are allowed with the four highest-order bits set to 1-1-1-1.  These
   addresses, called "class E", are reserved.

   The "MIL-STD:  X.25" states "All DDN addresses are either twelve or
   fourteen BCD (binary-coded decimal) digits in length.".  The last two
   digits are referred to as the Sub-Address and are not used on the
   DDN.  The Sub-Address is carried across the network without
   modification.  Its presence is optional.  Therefore, a DTE may
   generate EITHER a twelve or fourteen BCD X.121 address, but must
   accept both twelve and fourteen BCD X.121 addresses.

3.  Standard IP to X.121 Address Mapping

   This section describes the algorithm that should be used to convert
   IP addresses to X.121 addresses [1].  You will note that "h" is
   always listed as greater than or less than the number 64.  This
   number is used to differentiate between PSN physical and logical host
   port addresses.  Note that at the time of this writing, the DDN does
   not make use of the PSN's logical addressing feature, which allows
   hosts to be addressed independently of their physical point of
   attachment to the network.




Morales & Hasse                                                 [Page 3]


RFC 1236          IP to X.121 Address Mapping for DDN          June 1991


3.1  Derivation of DDN X.25 Addresses

   To convert a Class A IP address to a DDN X.25 address:

3.1.1  If the host field (h) is less than 64 (h < 64),
       the address corresponds to the following DDN X.25
       physical address:

   ZZZZ F III HH ZZ (SS)

   where:

   ZZZZ = 0000

   F = 0   because the address is a physical address;

   III     is a three decimal digit representation of "i",
           right-adjusted and padded with leading zeros if required;

   HH      is a two decimal digit representation of h", right-adjusted
           and padded with leading zeros if required;

   ZZ = 00 is optional.

   (SS)    is an optional Sub-Address field which is ignored in the DDN.
           This field is either left out or filled with zeros.

   The address 26.9.0.122 corresponds to the DDN X.25 physical address
   000001220900.

3.1.2.  If the host field (h) is greater than or equal to
        64 (h >= 64), the address corresponds to the following
        DDN X.25 physical address:

   ZZZZ F RRRRR ZZ (SS)

   where:

   ZZZZ = 0000

   F = 1   because the address is a logical address;

   RRRRR   is a five decimal digit representation of the result "r" of
           the calculation

   r = h * 256 + i

   (note that the decimal representation of "r" will always require five



Morales & Hasse                                                 [Page 4]


RFC 1236          IP to X.121 Address Mapping for DDN          June 1991


   digits)

   ZZ = 00

   and

   (SS)   is optional.

   The address 26.83.0.207 corresponds to the DDN X.25 logical address
   000012145500.

3.2.  For Class B IP addresses the "h" and "i" fields will ALWAYS
      consist of 8 bits each taken from the REST field of the Internet
      address.  The mapping follows the same rules as in 3.1.

3.3.  For Class C IP addresses the "h" and "i" fields will ALWAYS
      consist of 4 bits each taken from the REST field of the Internet
      address.  The mapping follows the same rules as in 3.1.

4. Examples

   The following are examples of IP to X.121 address mappings for Class
   A, Class B, and Class C IP addresses.

4.1  Class A

   The mapping of X.121 address for Class A networks:

          for h < 64

          example: 26.29.0.122   format: n.h.l.i

                   ZZZZ F III HH ZZ (SS)
   X.121 address = 0000 0 122 29 00  00

          for h > or = 64

          example: 26.80.0.122   format: n.h.l.i

                    ZZZZ F RRRRR ZZ (SS)
   X.121 address =  0000 1 20602 00  00

                  where R = H * 256 + I

4.2  Class B

   The mapping of X.121 address for Class B networks:




Morales & Hasse                                                 [Page 5]


RFC 1236          IP to X.121 Address Mapping for DDN          June 1991


          for h < 64

          example: 137.80.1.5     format: n.n.h.i

                    ZZZZ F III HH ZZ (SS)
   X.121 address =  0000 0 005 01 00  00

          for h > or = 64

          example: 137.80.75.2    format: n.n.h.i

                    ZZZZ 1 RRRRR ZZ  (SS)
   X.121 address =  0000 1 19202 00  00

                  where R = H * 256 + I

4.3  Class C

   The mapping of X.121 address for Class C networks:

          for h < 64

           example: 192.33.50.19  format: n.n.n.hi

                             H    I
                      n.n.n.0001 0011
                             1    3

              Subnet  1
              Subhost 3

                    ZZZZ F III HH ZZ (SS)
   X.121 address =  0000 0 003 01 00  00

   NOTE:  The mapping of X.121 address for Class C networks for h > 64
   is not applicable since the "h" field can never exceed 15.

5.  References

   [1] MIL-STD:  X.25 "Defense Data Network X.25 Host Interface
       Specification", Defence Communications Agency, BBN Communications
       Corporation, 1983 December, Volume 1 of the "DDN Protocol
       Handbook" (NIC 50004).  Also available online at the DDN NIC as
       NETINFO:X.25.DOC.

   [2] MIL-STD:  1777 "Internet Protocol", 1983 August, Volume 1 of the
       "DDN Protocol Handbook" (NIC 50004).




Morales & Hasse                                                 [Page 6]


RFC 1236          IP to X.121 Address Mapping for DDN          June 1991


   [3] Kirkpatrick, S., M. Stahl, and M. Recker, "Internet Numbers", RFC
       1166, DDN NIC, July 1990.

       (Unless otherwise indicated, copies of federal and military
       specifications, standards, and handbooks are available from the
       Naval Publications and Forms Center, (ATTN:  NPODS), 5801 Tabor
       Avenue, Philadelphia, PA 19120-5099.)


6.  Security Considerations

   Security issues are not discussed in this memo.

7.  Authors' Addresses

   Luis F. Morales, Jr.
   USAISEC
   ASQB-SEP-C
   Ft. Huachuca, AZ 85613-5300

   Phone:  (602) 533-2873

   EMail:  lmorales@huachuca-emh8.army.mil


   Phillip R. Hasse
   USAISEC
   ASQB-SEP-C
   Ft. Huachuca, AZ 85613-5300

   Phone:  (602) 533-2873

   EMail:  phasse@huachuca-emh8.army.mil


















Morales & Hasse                                                 [Page 7]