|
|
1.1 ! root 1: \documentstyle [ucl-rn] {article} ! 2: \rnnumber{RN/89/13} ! 3: \author {S.E. Kille} ! 4: \date {February 1989} ! 5: \title {An interim approach to use of Network Addresses} ! 6: \begin {document} ! 7: \bibliographystyle {alpha} ! 8: \maketitle ! 9: \begin {abstract} The OSI Directory specifies an encoding of ! 10: Presentation Address, which utilises OSI Network Addresses as ! 11: defined in the OSI Network Layer standards \cite{CCITT.Directory} ! 12: \cite{ISO.Network.Naming}. ! 13: The OSI Directory, and any OSI application ! 14: utilising the OSI Directory must be able to deal with these Network ! 15: Addresses. Currently, most environments cannot cope with them. It ! 16: is not reasonable or desirable for groups wishing to investigate and ! 17: use OSI Applications in conjunction with the OSI Directory to have ! 18: to wait for the lower layers to sort out. This note is a proposal ! 19: for mechanisms to utilise Network Addresses in the context of ! 20: existing networks, and is agreed for use in the THORN and ISODE projects. ! 21: This document is also THORN document UCL-58. ! 22: ! 23: \end {abstract} ! 24: ! 25: \section {Scope} ! 26: ! 27: The Author is working on two projects with an immediate need for a ! 28: solution to this problem: ! 29: ! 30: \begin {itemize} ! 31: \item The THORN project, which is an Esprit Project building an OSI ! 32: Directory \cite{THORN.ECW88}. ! 33: ! 34: \item The ISODE project \cite{ISODE.Manual}, and in particular the ! 35: QUIPU directory being developed at UCL \cite{QUIPU.IFIP}. ! 36: \end {itemize} ! 37: ! 38: The initial aim of the note is to specify a solution for these two ! 39: projects. As full interworking between these systems is seen as ! 40: essential (to the author at least!), the same solution should be ! 41: adopted by both projects. ! 42: ! 43: It is likely that other groups will encounter the same problem, and ! 44: so it may be useful for this proposal to be adopted in a wider ! 45: forum. ! 46: ! 47: \begin {description} ! 48: \item[NOTE:] This document must be read in the context of ISO 8348 Addendum 2 ! 49: \cite{ISO.Naming}. ! 50: \end {description} ! 51: ! 52: ! 53: \section {The Problem} ! 54: ! 55: When utilising the OSI Directory, the OSI location of an End System ! 56: will be determined by a Network Address, which is taken from a ! 57: Presentation Address, looked up in the OSI Directory. ! 58: ! 59: The ``real world'' of OSI (at least the one the author is in) consists of: ! 60: ! 61: \begin {itemize} ! 62: \item An international X.25 network, which routes on the basis of ! 63: X.121 addresses. By and large this is X.25(80), but some parts are ! 64: now X.25(84) and will carry Network Addresses as user data. OSI ! 65: Transport is mapped onto the variant of X.25 which is to hand. ! 66: ! 67: \item Large private X.25 networks, which do not have DNICs, but are ! 68: otherwise similar to the previous (in particular Janet). ! 69: ! 70: \item Isolated networks running Connection Oriented Network Service ! 71: (e.g., Pink Book Ethernets). ! 72: ! 73: \item Isolated networks running Connectionless Network Service ! 74: (e.g., MAP LANs). ! 75: ! 76: \item Isolated TCP/IP LANs, utilising RFC 1006 to ! 77: support the OSI Transport Service\cite{RFC-1006}. ! 78: ! 79: \item The DARPA/NSF Internet, also using RFC 1006. ! 80: \end {itemize} ! 81: ! 82: In general, these systems need to be interconnected by the ! 83: unfortunate mechanisms of transport bridging --- but this is another ! 84: story. It is hoped that the mechanisms described in this note will ! 85: reduce the need for Transport Bridging, and make more of these ! 86: networks behave as subnetworks (OSI Terminology). ! 87: ! 88: Where End Systems do have access to Network Service, there is no ! 89: general mechanism for Network Address to SNPA binding (local table ! 90: lookup is the norm). ! 91: ! 92: \section {The ``Right Solution''} ! 93: ! 94: Before diving into ugliness, it is worth noting briefly what the ! 95: intended solution is. Network Addresses are globally allocated, and ! 96: do not imply anything about routing or location. An End System is ! 97: attached to one or more subnetworks at Subnetwork Points of ! 98: Attachment (SNPAs). Intermediate Systems join subnetworks, again ! 99: being attached at SNPAs. Routing is achieved by repeated binding of ! 100: Network Address to SNPA (initially at the Originating End System, ! 101: and then at each Intermediate System). This binding is achieved by ! 102: use of a directory service\footnote{The OSI Directory is almost ! 103: certainly inappropriate for this function --- a special purpose ! 104: network directory is needed.}. ! 105: ! 106: The rest of this section is a polemic --- mainly to make the author ! 107: feel better. Network Addresses have been designed for general ! 108: purpose allocation. Whilst this is one important characteristic of ! 109: a Network Address, others have been entirely neglected. The ! 110: practicalities of routing and lookup in directory service appear to ! 111: have been ignored in the design. The issue of building the ! 112: mechanisms for routing are being discussed as some sort of ! 113: afterthought. This is sad, and it seems to the author that the ! 114: network address specification will need to be entirely rewritten ! 115: before large scale OSI can become a reality. ! 116: ! 117: \section {The General Approach Proposed} ! 118: ! 119: The means of connecting to a remote Application Entity is broadly as ! 120: follows. ! 121: ! 122: \begin {enumerate} ! 123: \item Look up the Application Entity in the OSI Directory to obtain ! 124: the Presentation Address \footnote{Strictly an Application Entity ! 125: should have only one Presentation Address. In practice it may have ! 126: several, and the network addresses of each Presentation Address ! 127: should be considered.}. ! 128: ! 129: \item Take each Network Address, and determine if it can be used ! 130: (and how). ! 131: ! 132: \item Determine an order of preference for the Network Addresses. ! 133: ! 134: \item Attempt to connect to one or more of the Network Addresses. ! 135: \end {enumerate} ! 136: ! 137: This note is concerned with the second step, and will probably have ! 138: implications on the third. The following mechanisms for Network ! 139: Address are discussed in this note: ! 140: ! 141: \begin {itemize} ! 142: \item X.121 form ! 143: \item A special encoding for networks which do not provide Network ! 144: Service. ! 145: \item Other forms ! 146: \end {itemize} ! 147: ! 148: \section {X.121 Form} ! 149: ! 150: In principle, the IDP is only an allocation mechanism, and has no ! 151: routing implications. However, due to the lack of a network ! 152: directory service, it is recommended that any End System with ! 153: Connection Oriented Network Service and access to the international ! 154: X.25 service uses X.121 form relative to its access point. ! 155: Allocation of DSP is a private issue. ! 156: ! 157: Conversely it is recommended that if an X.121 IDP form Network ! 158: Address is interpreted, then the X.121 address will provide a route (by ! 159: defining an SNPA on the international X.25 network). ! 160: There may be additional and perhaps preferable routes which can be ! 161: determined by private means. ! 162: ! 163: If the DSP is absent, the form should be interpreted as implying a mapping ! 164: of Transport onto X.25(80). ! 165: ! 166: \section {Requirements} ! 167: ! 168: The requirements for use of OSI over existing networks, when using the ! 169: OSI Directory are: ! 170: ! 171: \begin {enumerate} ! 172: \item The information for the layers below Transport must be ! 173: obtained from the Network Address. This is essential, because we ! 174: wish to use the OSI Directory in a standard manner, and the Network ! 175: Address is the information available. ! 176: ! 177: \item The Network Addresses must be globally unique, as they can be ! 178: looked up by anyone with access to the Directory. ! 179: ! 180: \item The Network Address should be allocated so that confusion with ! 181: a ``real'' Network Address is minimal. ! 182: ! 183: \item Network Addresses must be interpretable on the basis of a ! 184: well known information, or on information which can be obtained from ! 185: the (application level) OSI Directory. ! 186: ! 187: \item The identity of the network in question must be deduceable from ! 188: the Network Address ! 189: ! 190: \item All network specific addressing information (including the ! 191: SNPA) must be deducible ! 192: from the Network Address ! 193: \end {enumerate} ! 194: ! 195: \section {Proposal} ! 196: ! 197: The following approach is proposed. ! 198: ! 199: \begin {itemize} ! 200: \item A (sub)network is identified by the IDP and a {\em small} part of ! 201: the DSP. ! 202: ! 203: \item The remainder of the DSP encodes network specific information ! 204: ! 205: \item It is suggested that the following IDPs are not used: ! 206: \begin {itemize} ! 207: \item Local (the values must be globally unique) ! 208: \item X.121 (because it will be confused with real Network Addresses) ! 209: \item DCC (because it seems like a bad move) ! 210: \end {itemize} ! 211: ! 212: \item It is suggested that a Telex form IDP is used because: ! 213: \begin {itemize} ! 214: \item It gives the largest DSP ! 215: \item It is less likely than other forms to be used for ``real'' ! 216: Network Addresses ! 217: \end {itemize} ! 218: ! 219: \end {itemize} ! 220: ! 221: The scope of the proposed encoding is where: ! 222: ! 223: \begin {itemize} ! 224: \item The value of the IDP is recognised ! 225: \item The encoding of the DSP is abstract decimal ! 226: \item The first two digits of the DSP are recognised ! 227: \end {itemize} ! 228: ! 229: In these cases, the IDP + 2 digit prefix identify a subnetwork in which the ! 230: value of the DSP is to be interpreted. ! 231: ! 232: \section {The DSP Encoding} ! 233: ! 234: It is proposed to use a decimal abstract encoding for the DSP. This ! 235: is a new encoding, as the only alternative on the table (ECMA 117) ! 236: \cite{ECMA.117}, ! 237: is not entirely suitable. Use of a binary ! 238: encoding, with the DSP structured in ASN.1 would have been a very ! 239: attractive approach. However, it appears that there is insufficient ! 240: space in the Network Address for this to be feasible. ! 241: ! 242: The following structure is proposed: ! 243: ! 244: \begin {center} ! 245: \begin {tabular}{|l||c|c|} ! 246: \hline ! 247: Digit & 1-2 & 3-27 \\ ! 248: \hline ! 249: Meaning & Prefix & Network Specific \\ ! 250: \hline ! 251: \end {tabular} ! 252: \end {center} ! 253: ! 254: \begin {description} ! 255: \item [2 digits] Prefix. This allows for multiple usage of the same DSP, by ! 256: not consuming it all. It also allows for the DSP to be used with different ! 257: encodings. ! 258: ! 259: \item [Network Specific] ! 260: ! 261: The network specific allocation should be less than 20 digits if ! 262: this DSP structure is to be used with any IDI format. This is ! 263: increased to 27 for the Telex format. ! 264: ! 265: ! 266: \end {description} ! 267: ! 268: \subsection {X.25(80) Allocation} ! 269: ! 270: The IDP/Prefix identifies an X.25(80) subnetwork. ! 271: There is a need to represent a DTE Number, and optionally an X.25 ! 272: Protocol ID or CUDF (many implementations require these due ! 273: to shortage of X.121 address space) in the DSP. ! 274: This is structured in one of two possible ways: ! 275: ! 276: \begin {center} ! 277: \begin {tabular}{|l||c|c|} ! 278: \hline ! 279: Digit & 1 & Remainder \\ ! 280: \hline ! 281: Meaning & 0 & DTE \\ ! 282: \hline ! 283: \end {tabular} ! 284: \end {center} ! 285: ! 286: ! 287: \begin {center} ! 288: \begin {tabular}{|l||c|c|c|c|} ! 289: \hline ! 290: Digit & 1 & 2 & 3 -- (n*3)+2 & Remainder \\ ! 291: \hline ! 292: Meaning & 1 or 2 & n & PID or CUDF & DTE \\ ! 293: \hline ! 294: \end {tabular} ! 295: \end {center} ! 296: ! 297: The network specific part is structured as follows: ! 298: ! 299: \begin {description} ! 300: \item [1] This has the following values ! 301: \begin {description} ! 302: \item [0] DTE only ! 303: \item [1] DTE + PID ! 304: \item [2] DTE + CUDF ! 305: \item [3-9] Reserved ! 306: \end {description} ! 307: ! 308: \item[2] ! 309: ! 310: The length of the PID/CUDF in octets ! 311: ! 312: \item [Remainder] The PID/CUDF takes as many digits as indicated by ! 313: 3 times octet 2, and the DTE is terminated by the end of the Network Address. ! 314: Each octet of the PID/CUDF is encoded as three decimal digits, representing ! 315: the decimal value of the octet. ! 316: ! 317: \item ! 318: \end {description} ! 319: ! 320: For example, the JANET DTE 000005111600 with ASCII CUDF ``12'' would be ! 321: encoded in the following way. The first lines describe the abstract ! 322: notation. Note that where the IDI is not of maximum length, that the ! 323: translation to concrete decimal is not mechanical ! 324: ! 325: \begin {center} ! 326: \begin {small} ! 327: \begin {tabular}{|l||c|c|c|c|c|c|} ! 328: \hline ! 329: Part & \multicolumn{2}{c|}{IDP} & \multicolumn{4}{c|}{DSP} \\ ! 330: \hline ! 331: Component & AFI & IDI & Prefix & Dte+Cudf & Len & CUDF + DTE \\ ! 332: \hline ! 333: Octet & & & 1-2 & 3 & 4 & 5-20 \\ ! 334: \hline ! 335: Value & Telex & 007 28722 & 02 & 2 & 2 & 049050 000005111600 \\ ! 336: \hline ! 337: \hline ! 338: Cncrt Decimal & 54 & 007 28722 & 02 & 2 & 2 & 049050 000005111600 \\ ! 339: \hline ! 340: Cncrt Binary & 54 & 00 72 87 22 & 02 & \multicolumn{2}{c|}{22} & 04 90 50 ! 341: 00 00 51 11 60 0f \\ ! 342: \hline ! 343: \end {tabular} ! 344: \end {small} ! 345: \end {center} ! 346: ! 347: Note that concrete binary is representing octets in hexadecimal. This is ! 348: the syntax most likely to be used in practice. ! 349: ! 350: \subsection {TCP/IP (RFC 1006) Allocation} ! 351: ! 352: ! 353: The IDP and 2 digit prefix identifies a TCP/IP network here RFC 1006 is ! 354: applied. ! 355: It is necessary to use an IP Address, as there are insufficient bits ! 356: to fit in a domain. It is structured as follows: ! 357: ! 358: \begin {center} ! 359: \begin {tabular}{|l||c|c|c|} ! 360: \hline ! 361: Digit & 1-12 & 13-17 (optional) & 18-22 (optional) \\ ! 362: \hline ! 363: Meaning & IP Address & port & Transport Set \\ ! 364: \hline ! 365: \end {tabular} ! 366: \end {center} ! 367: ! 368: ! 369: For TCP/IP there shall be a 20 digit long network-specific part. First ! 370: 12 digits are for the IP address. The port number can be upto 65535, and ! 371: needs 5 digits (this is optional, and is defaulted as defined in RFC 1006). ! 372: Finally, ! 373: there is a third part to the address, which is defined here as ! 374: ``transport set'' ! 375: that indicates what kind of IP-based transport protocols is used. ! 376: This is a decimal number from 0-65535 which is really a 16-bit flag ! 377: word. 1 is TCP, 2 is UDP. If the transport set is not there or ! 378: no bits are set, it means ``default'' which is TCP. This is ! 379: encoded in 5 digits. ! 380: ! 381: ! 382: ! 383: Note that RFC 986 is not appropriate \cite{RFC-986}, as this currently applies to a ! 384: different architecture (we are considering RFC 1006 here). ! 385: ! 386: ! 387: For example, the IP Address 10.0.0.6 with port 9 over UDP is ! 388: encoded as: ! 389: ! 390: \begin {center} ! 391: \begin {small} ! 392: \begin {tabular}{|l||c|c|c|c|c|c|} ! 393: \hline ! 394: Part & \multicolumn{2}{c|}{IDP} & \multicolumn{4}{c|}{DSP} \\ ! 395: \hline ! 396: Component & AFI & IDI & Prefix & IP Address & Port & T Set \\ ! 397: \hline ! 398: Octet & & & 1-2 & 3-14 & 15-19 & 20-24 \\ ! 399: \hline ! 400: Value & Telex & 007 28722 & 03 & 010 000 000 006 & 00009 & 00002 \\ ! 401: \hline ! 402: \hline ! 403: Concrete Decimal & 54 & 007 28722 & 03 & 010 000 000 006 & 00009 & 00002 \\ ! 404: \hline ! 405: Concrete Binary & 54 & 00 72 87 22 & 03 & 01 00 00 00 00 06 & 00 00 9 & 0 00 02 \\ ! 406: \hline ! 407: \end {tabular} ! 408: \end {small} ! 409: \end {center} ! 410: ! 411: ! 412: \section {Other Forms} ! 413: ! 414: Recognition of other forms of address is a local matter. ! 415: ! 416: \section {Transport Bridges} ! 417: ! 418: The provision of this form of Network Address encoding will ! 419: facilitate the transparent use of Transport Bridges. Whenever a ! 420: protocol is used which can carry the Network Address, this can be ! 421: used to contact a transport bridge as if it was the end system ! 422: \footnote{This suggests that it would be beneficial to extend RFC ! 423: 1006 to carry Network Addresses.}. ! 424: The hex (concrete) form of network address should be used. ! 425: ! 426: \section {Encoding} ! 427: ! 428: This document describes allocation of Network Addresses, with the DSP ! 429: considered in Abstract Decimal. The encoding of this for use in protocols ! 430: (typically as Concrete Binary) is ! 431: described in ! 432: ISO 8348 Addendum 2 ! 433: \cite{ISO.Network.Naming}. ! 434: ! 435: \section {Conclusions} ! 436: ! 437: This is all pretty horrible, but there do not appear to be any ! 438: better choices. ! 439: ! 440: \section {References} ! 441: ! 442: \bibliography {../../../bib/sek} ! 443: \pagebreak ! 444: \appendix ! 445: \section {Some initial Allocations} ! 446: ! 447: This appendix gives some allocations for a few well known networks. ! 448: All are allocated on the basis of Telex numbers. ! 449: ! 450: \begin {center} ! 451: \begin {tabular}{|l| ll|} ! 452: \hline ! 453: \multicolumn{1}{|c}{Net} & ! 454: \multicolumn{1}{c}{Telex} & ! 455: \multicolumn{1}{c|}{Prefix} \\ ! 456: \hline ! 457: International X.25 & 007 28722 & 01 \\ ! 458: Janet & 007 28722 & 02 \\ ! 459: Darpa/NSF Internet & 007 28722 & 03 \\ ! 460: \hline ! 461: \end {tabular} ! 462: \end {center} ! 463: ! 464: The international X.25 allocation is only used where a CUDF or PID is needed. ! 465: In other cases, an X.121 form Network Address with no DSP may be used. ! 466: ! 467: \end {document}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.