Network Working Group S.E. Hardcastle-Kille Requests for Comments 1277 University College London November 1991 Encoding Network Addresses to support operation over non-OSI lower layers Status of this Memo This RFC specifies an IAB standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the ``IAB Official Protocol Standards'' for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract The OSI Directory specifies an encoding of Presentation Address, which utilises OSI Network Addresses as defined in the OSI Network Layer standards [CCI88] [ISO87a]. The OSI Directory, and any OSI application utilising the OSI Directory must be able use these Network Addresses to identify end systems. Currently, OSI applications are often run over lower layers other than the OSI Network Service. It is neither reasonable nor desirable for groups wishing to investigate and use OSI Applications in conjunction with the OSI Directory to be dependent on a global OSI Network Service. This document defines a new network address format, and rules for using some existing network address formats. The scope of this document is: 1. Any TCP/IP network supporting COTS using RFC 1006. 2. Any mapping of COTS onto X.25 (usually X.25(80)), where X.25 is not used to provide CONS (i.e., only DTE and not Network address is carried). The approach could also be extended to use with other means of providing COTS (or CLTS). It is not appropriate for use where CONS or CLNS is used to provide COTS (or CLTS). RFC 1277 Encoding Network Addresses November 1991 1 Introduction The OSI Directory specifies an encoding of Presentation Address, which utilises OSI Network Addresses as defined in the OSI Network Layer standards [CCI88] [ISO87a]. The OSI Directory, and any OSI application utilising the OSI Directory must be able use these Network Addresses to identify end systems. Currently, OSI applications are often run over lower layers other than the OSI Network Service. It is neither reasonable nor desirable for groups wishing to investigate and use OSI Applications in conjunction with the OSI Directory to be dependent on a global OSI Network Service. This RFCdefines mechanisms to encode addressing information within Network Addresses, in order to support this type of working. In particular, support is defined for RFC 1006 mapping of COTS onto TCP/IP and COTS mapped onto X.25(1980) [RC87, CCI80]. Where an OSI application is run over CLNS on the internet, the NSAP Guidelines of RFC 1237 should be followed [CGC91]. This document must be read in the context of ISO 8348 Addendum 2 [ISO87b]. It will not be meaningful on its own. 1.1 Historical Note This document was originally published as UCL Research Note RN/89/13 and as a project THORN internal document [Kil89]. It was devised in response to two projects which faced this requirement, and was agreed as a common approach. The projects were: o The THORN project, which is an Esprit Project building an OSI Directory [SA88]. o The ISODE project [Ros90], and in particular the QUIPU directory being developed at UCL [Kil88]. The proposal has been implemented, and the viability of the solution demonstrated. Hardcastle-Kille Page 1 RFC 1277 Encoding Network Addresses November 1991 2 Problem Statement When utilising the OSI Directory, the OSI location of an End System will be determined by a Network Address, which is taken from a Presentation Address, looked up in the OSI Directory. OSI applications are currently operated over the following lower layers. o An international X.25 network, which routes on the basis of X.121 addresses. By and large this is X.25(80), but some parts are now X.25(84) and will carry Network Addresses as user data. OSI Transport is mapped onto the variant of X.25 which is available. o Large private X.25 networks, which do not have DNICs, but are otherwise similar to the previous (in particular Janet). o Isolated networks running Connection Oriented Network Service (e.g., Pink Book Ethernets). o Isolated networks running Connectionless Network Service (e.g., MAP LANs). o The Connectionless Network Service Protocol (CLNP) pilot, currently taking place in the NSFNet and NORDUNet communities. o Isolated TCP/IP LANs, utilising RFC 1006 to support the OSI Transport Service[RC87]. o The DARPA/NSF Internet, using RFC 1006. In general, these systems need to be interconnected by the use of transport bridging or application relaying. Operation of transport bridges causes a number of problems which it is desirable to avoid. Only some applications can support relaying, and this is not always satisfactory. 2.1 The ``Right Solution'' It is worth noting briefly what the intended (OSI) solution is. There is a single global network service. Network Addresses are globally allocated, and do not imply anything about routing or location. An Hardcastle-Kille Page 2 RFC 1277 Encoding Network Addresses November 1991 End System is attached to one or more subnetworks at Subnetwork Points of Attachment (SNPAs). Intermediate Systems join subnetworks, again being attached at SNPAs. Routing is achieved by repeated binding of Network Address to SNPA (initially at the Originating End System, and then at each Intermediate System). This binding is achieved by network level routing mechanisms. This can only work in a pure OSI environment with a single ubiquitous network service (either connectionless or connection-oriented), and so is not sufficient for the problem being addressed by this note. 2.2 General Approach This section describes the use of network addresses, and gives a functional overview of the problem being takceled. The means of connecting to a remote Application Entity is broadly as follows. 1. Look up the Application Entity in the OSI Directory to obtain the Presentation Address 1. 2. Extract each Network Address from the Presentation Address, and determine if it can be used (and how). 3. Determine an order of preference for the Network Addresses. 4. Attempt to connect to one or more of the Network Addresses. This note is concerned with the second step, and will probably have implications on the third. There is currently no directory service to provide step 2, and so this (interim) approach must be algorithmic. All addressing information required for the network must be extracted from the network address. This note describes the use of Network Addresses for networks which do not provide the OSI Network Service (CLNS or CONS), and places constraints on the use of X.121 form network addresses when used for an OSI Network Service. The following types of Network Address are discussed in this note: ---------------------------- 1. Strictly an Application Entity should have only one Presentation Address. In practice it may have several, and the network addresses of each Presentation Address should be considered. Hardcastle-Kille Page 3 RFC 1277 Encoding Network Addresses November 1991 o Use of X.121 form Network Addresses. o A special encoding of Telex form Network Addresses. 3 Network addresses with X.121 AFI This note defines an approach for use of network addresses with the X.121 AFI. The IDP of network addresses is used to allow worldwide administration of the NSAP address space. As such, not all values of the IDP will in practice have topological significance (which implies that in some cases the IDP will not be sufficient for network layer routing). However, it is recommended that any End System using the Connection Oriented Network Service and with access to the international X.25 service uses the X.121 form of NSAP address relative to its access point. This allows routing across the worldwide X.25 based public data networks to be based on the X.121 addresses. Allocation of DSP (Domain Specific Part) within this form of address is a private issue. The IDP is primarily an allocation mechanism, and the user (end system) cannot in principle assume any implied routing. However, due to the lack of a network directory service, it is recommended that any End System with Connection Oriented Network Service and access to the international X.25 service uses X.121 form relative to its access point. Allocation of DSP (Domain Specific Part) is a private issue. Conversely it is recommended that if an X.121 IDP (Initial Domain Part) form Network Address is interpreted, then the X.121 address will provide a route (by defining an SNPA on the international X.25 network). There may be additional and perhaps preferable routes which can be determined by private means. If the DSP is absent, the form should be interpreted as implying a mapping of Transport onto X.25(80). 4 New Network Address Format This section defines a new network address format. The scope of this format is currently: 1. Any TCP/IP network supporting COTS using RFC 1006. Hardcastle-Kille Page 4 RFC 1277 Encoding Network Addresses November 1991 2. Any mapping of COTS onto X.25 (usually X.25(80)), where X.25 is not used to provide CONS (i.e., only DTE and not Network address is carried), except where the international X.25 service is used and no PID or CUDF is required. These exceptions are the cases which are handled by use of X.121 AFI (Section 3). The intention is to use the X.121 AFI wherever possible, and the formats defined in this section are for the remaining cases. The approach could also be extended to use with other means of providing COTS (or CLTS). It is not appropriate for use where CONS or CLNS is used to provide COTS (or CLTS). 4.1 Requirements The requirements for use of OSI over existing networks not supporting CONS or CLNS, when using the OSI Directory are: 1. The information for the layers below Transport must be obtained from the Network Address. This is essential, because we wish to use the OSI Directory in a standard manner, and the Network Address is the information available. 2. The Network Addresses must be globally unique, as they can be looked up by anyone with access to the Directory. 3. The Network Address should be allocated so that confusion with a ``real'' Network Address (i.e., one which defines an NSAP using CONS or CLNS as opposed to X.25(80) or RFC 1006) is unlikely. 4. Network Addresses must be interpretable on the basis of a well known information, or on information which can be obtained from the (application level) OSI Directory. (This RFConly uses well known information). 5. The identity of the network in question must be deducible from the Network Address 6. All network specific addressing information (including the SNPA) must be deducible from the Network Address Hardcastle-Kille Page 5 RFC 1277 Encoding Network Addresses November 1991 4.2 IDP Choice The IDP is used with Telex AFI. The Telex AFI is used because: o It gives the largest DSP o It is less likely than other forms to be used for ``real'' Network Addresses The following AFIs might have been chosen, but are not used for the reasons given: o Local (the values must be globally unique) o X.121 (because it may be confused with other uses of OSI network addresses) o DCC and ICD (because it may be confused with other uses of OSI network addresses) The IDI should be assigned in a manner appropriate to the use of the encoding. For example, for operation on a private network within an organisation, the telex number of that organisation would be a good choice. Some well known networks are given assignments in Appendix A. 4.3 The DSP Encoding The network address is used as follows. o A (sub)network is identified by the IDP and a small part of the DSP. o The remainder of the DSP encodes network specific information The DSP format is now defined. The top level format is independent of the means used to provde COTS. Two formats for the remainder of the DSP are then defined, for specific means of providing COTS. A decimal abstract encoding is defined for the DSP. The ECMA 117 format might have been used, but it is not suitable. [TC386]. Use of a binary encoding, with the DSP structured in ASN.1 would have been a Hardcastle-Kille Page 6 RFC 1277 Encoding Network Addresses November 1991 very attractive approach. However, there is insufficient space in the Network Address for this to be feasible. The following structure is defined: ____________________________________ |_Digit___||1-2__|______3-27_______|_ |_Meaning_||PrefixN|etwork_Specific_| 2 digits Prefix. This allows for multiple usage of the same DSP, by not consuming it all. It also allows for the DSP to be used with different encodings. Network Specific The network specific allocation should be less than 20 digits if this DSP structure is to be used with any IDI format. This is increased to 27 for the Telex format. The IDP + 2 digit prefix identify a subnetwork in which the value of the remainder of the DSP (Network Specific Part) is to be interpreted. 4.4 X.25(80) Network Specific Format The IDP/Prefix identifies an X.25(80) subnetwork. There is a need to represent a DTE Number, and optionally an X.25 Protocol ID or CUDF (many implementations require these due to shortage of X.121 address space) in the DSP. This is structured in one of two possible ways: ________________________ |_Digit___||1R|emainder_| |_Meaning_||0_|_DTE____|_ ____________________________________________________________ |_Digit___||_1___|_______2________|3_--_(n*3)+2_|Remainder_|_ |_Meaning_||Type__|PID/CUDF_Length_|_PID/CUDF___|___DTE____|_ |_Values__||1_or_2_|_____n________|_____________|__________|_ The network specific part is structured as follows: Type This has the following values 0 DTE only 1 DTE + PID Hardcastle-Kille Page 7 RFC 1277 Encoding Network Addresses November 1991 2 DTE + CUDF 3-9 Reserved PID/CUDF Length The length of the PID/CUDF in octets PID/CUDF The PID/CUDF takes as many digits as indicated by 3 times octet 2. Each octet of the PID/CUDF is encoded as three decimal digits, representing the decimal value of the octet. DTE The DTE is terminated by the end of the Network Address. For example, the JANET DTE 000005111600 with ASCII CUDF ``12'' would be encoded in the following way. The first lines describe the abstract notation. Note that where the IDI is not of maximum length, that the translation to concrete decimal is not mechanical _______________________________________________________________________________ |Part___|_|_____IDP_________|_______________________DSP_______________________|_ |Comp___|_|AFI__|___IDI_____|Prefix_|Dte+Cudf_|Len|________CUDF_+_DTE_________|_ |Octet__|_|____|____________|_1-2___|___3_____|_4_|___________5-20____________|_ |Value__|T|elex_|007_28722__|__02___|___2_____|_2_|____049050_000005111600____|__ |Ct_Dec_|_|54___|007_28722__|__02___|___2_____|_2_|____049050_000005111600____|_ |Ct_Bin_|_|54___|00_72_87_22_|_02___|_____22______|04_90_50_00_00_51_11_60_0f_|_ Note that concrete binary is representing octets in hexadecimal. This is the syntax most likely to be used in practice. The CUDF is represented by two octets 049 and 050 (decimal), which map to six digits. 4.5 TCP/IP (RFC 1006) Network Specific Format The IDP and 2 digit prefix identifies a TCP/IP network where RFC 1006 is applied. It is necessary to use an IP Address, as there are insufficient bits to fit in a domain. It is structured as follows: __________________________________________________________ |_Digit___||_1-12____|13-17_(optional)_|18-22_(optional)_|_ |_Meaning_||IP_Address_|____port_______|__Transport_Set__|_ Hardcastle-Kille Page 8 RFC 1277 Encoding Network Addresses November 1991 For TCP/IP there shall be a 20 digit long network-specific part. First 12 digits are for the IP address. The port number can be up to 65535, and needs 5 digits (this is optional, and is defaulted as defined in RFC 1006). Finally, there is a third part to the address, which is defined here as ``transport set'' that indicates what kind of IP-based transport protocols is used. This is a decimal number from 0-65535 which is really a 16-bit flag word. 1 is TCP, 2 is UDP. Further values of this code are assigned by the IANA. If the transport set is not there or no bits are set, it means ``default'' which is TCP. This is encoded in 5 digits. For example, the IP Address 10.0.0.6 with port 9 over UDP is encoded as: ____________________________________________________________________________ |Part______|_|_____IDP_________|____________________DSP____________________|_ |Component_|_|AFI__|___IDI_____|Prefix_|___IP_Address_____|_Port__|_T_Set__|_ |Octet_____|_|____|____________|_1-2___|______3-14________|_15-19_|_20-24__|_ |Value_____|T|elex_|007_28722__|__03___|_010_000_000_006__|_00009_|_00002__|__ |Cncrt_Dec_|_|54___|007_28722__|__03___|_010_000_000_006__|_00009_|_00002__|_ |Cncrt_Bin_|_|54___|00_72_87_22_|_03___|01_00_00_00_00_06_|00_00_9|0_00_02_|_ 5 Encoding This document describes allocation of Network Addresses, with the DSP considered in Abstract Decimal. The encoding of this for use in protocols (typically as Concrete Binary) is described in ISO 8348 Addendum 2 [ISO87a]. 6 References References [CCI80] CCITT. Recommendation X.25, interface between DTE and DCE for packet mode terminals, 1980. [CCI88] The Directory --- overview of concepts, models and services, December 1988. CCITT X.500 Series Recommendations. [CGC91] R. Colella, E. Gardner, and R. Callon. Guidelines for OSI NSAP Allocation in the Internet. Request for Comments 1237, Hardcastle-Kille Page 9 RFC 1277 Encoding Network Addresses November 1991 NIST, July 1991. [ISO87a] Information processing systems - data communications - network services definition: Addendum 2 - network layer addressing, March 1987. ISO TC 97/SC 6. [ISO87b] ISO DIS 7498-3 on naming and addressing, May 1987. ISO/IEC/JTC-1/SC 21. [Kil88] S.E. Kille. The QUIPU directory service. In IFIP WG 6.5 Conference on Message Handling Systems and Distributed Applications, pages 173--186. North Holland Publishing, October 1988. [Kil89] S.E. Kille. An interim approach to use of network addresses. Research Note RN/89/13, Department of Computer Science, University College London, February 1989. [RC87] Marshall T. Rose and Dwight E. Cass. ISO Transport Services on top of the TCP. Request for Comments 1006, Northrop Corporation Technology Center, May 1987. [Ros90] M.T. Rose. The ISO development environment: User's manual (version 6.0), January 1990. [SA88] F. Sirovich and M. Antonellini. The THORN X.500 distributed directory environment. In Esprit Conference Week, November 1988. [TC386] ECMA TC32. Domain specific part of network layer addresses. ECMA Standard 117, ECMA, June 1986. 7 Security Considerations Security considerations are not discussed in this memo. 8 Author's Address Steve Hardcastle-Kille Department of Computer Science University College London Hardcastle-Kille Page 10 RFC 1277 Encoding Network Addresses November 1991 Gower Street WC1E 6BT England Phone: +44-71-380-7294 EMail: S.Kille@CS.UCL.AC.UK Hardcastle-Kille Page 11 RFC 1277 Encoding Network Addresses November 1991 A Allocations for well known networks A.1 Values This appendix gives an allocation for three well known networks. All are allocated on the basis of the supposed Telex number 00728722. This number is being used in pilot operations, and so is retained here. _______________________________________ |_________Net__________Telex____Prefix_| | International X.25 |007 28722 01 | | Janet |007 28722 02 | | Darpa/NSF Internet |007 28722 03 | |_IXI________________|007_28722_06_____| The international X.25 allocation is only used where a CUDF or PID is needed. In other cases, an X.121 form Network Address with no DSP should be used. A.2 Delegation The values assigned in this document are now in widespread use. As the number is arbitrary, it would be undesirable to change the numbers without a sound technical reason. However, it is important to guarantee that the numbers are stable. This Internet Draft commits UCL not to reassign the portions of the number space allocated here. The DARPA/NSF Internet space (Prefix 03) is delegated to the IANA. Hardcastle-Kille Page 12