Network Working Group
Request for Comments: 1236
L. Morales
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.
   
   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.

      |        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.

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

   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:

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).
   
   [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