|
|
1.1 ! root 1: ! 2: ! 3: ! 4: ! 5: ! 6: ! 7: Network Working Group P. Mockapetris ! 8: Request for Comments: 1101 ISI ! 9: Updates: RFCs 1034, 1035 April 1989 ! 10: ! 11: ! 12: DNS Encoding of Network Names and Other Types ! 13: ! 14: ! 15: 1. STATUS OF THIS MEMO ! 16: ! 17: This RFC proposes two extensions to the Domain Name System: ! 18: ! 19: - A specific method for entering and retrieving RRs which map ! 20: between network names and numbers. ! 21: ! 22: - Ideas for a general method for describing mappings between ! 23: arbitrary identifiers and numbers. ! 24: ! 25: The method for mapping between network names and addresses is a ! 26: proposed standard, the ideas for a general method are experimental. ! 27: ! 28: This RFC assumes that the reader is familiar with the DNS [RFC 1034, ! 29: RFC 1035] and its use. The data shown is for pedagogical use and ! 30: does not necessarily reflect the real Internet. ! 31: ! 32: Distribution of this memo is unlimited. ! 33: ! 34: 2. INTRODUCTION ! 35: ! 36: The DNS is extensible and can be used for a virtually unlimited ! 37: number of data types, name spaces, etc. New type definitions are ! 38: occasionally necessary as are revisions or deletions of old types ! 39: (e.g., MX replacement of MD and MF [RFC 974]), and changes described ! 40: in [RFC 973]. This RFC describes changes due to the general need to ! 41: map between identifiers and values, and a specific need for network ! 42: name support. ! 43: ! 44: Users wish to be able to use the DNS to map between network names and ! 45: numbers. This need is the only capability found in HOSTS.TXT which ! 46: is not available from the DNS. In designing a method to do this, ! 47: there were two major areas of concern: ! 48: ! 49: - Several tradeoffs involving control of network names, the ! 50: syntax of network names, backward compatibility, etc. ! 51: ! 52: - A desire to create a method which would be sufficiently ! 53: general to set a good precedent for future mappings, ! 54: for example, between TCP-port names and numbers, ! 55: ! 56: ! 57: ! 58: Mockapetris [Page 1] ! 59: ! 60: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 61: ! 62: ! 63: autonomous system names and numbers, X.500 Relative ! 64: Distinguished Names (RDNs) and their servers, or whatever. ! 65: ! 66: It was impossible to reconcile these two areas of concern for network ! 67: names because of the desire to unify network number support within ! 68: existing IP address to host name support. The existing support is ! 69: the IN-ADDR.ARPA section of the DNS name space. As a result this RFC ! 70: describes one structure for network names which builds on the ! 71: existing support for host names, and another family of structures for ! 72: future yellow pages (YP) functions such as conversions between TCP- ! 73: port numbers and mnemonics. ! 74: ! 75: Both structures are described in following sections. Each structure ! 76: has a discussion of design issues and specific structure ! 77: recommendations. ! 78: ! 79: We wish to avoid defining structures and methods which can work but ! 80: do not because of indifference or errors on the part of system ! 81: administrators when maintaining the database. The WKS RR is an ! 82: example. Thus, while we favor distribution as a general method, we ! 83: also recognize that centrally maintained tables (such as HOSTS.TXT) ! 84: are usually more consistent though less maintainable and timely. ! 85: Hence we recommend both specific methods for mapping network names, ! 86: addresses, and subnets, as well as an instance of the general method ! 87: for mapping between allocated network numbers and network names. ! 88: (Allocation is centrally performed by the SRI Network Information ! 89: Center, aka the NIC). ! 90: ! 91: 3. NETWORK NAME ISSUES AND DISCUSSION ! 92: ! 93: The issues involved in the design were the definition of network name ! 94: syntax, the mappings to be provided, and possible support for similar ! 95: functions at the subnet level. ! 96: ! 97: 3.1. Network name syntax ! 98: ! 99: The current syntax for network names, as defined by [RFC 952] is an ! 100: alphanumeric string of up to 24 characters, which begins with an ! 101: alpha, and may include "." and "-" except as first and last ! 102: characters. This is the format which was also used for host names ! 103: before the DNS. Upward compatibility with existing names might be a ! 104: goal of any new scheme. ! 105: ! 106: However, the present syntax has been used to define a flat name ! 107: space, and hence would prohibit the same distributed name allocation ! 108: method used for host names. There is some sentiment for allowing the ! 109: NIC to continue to allocate and regulate network names, much as it ! 110: allocates numbers, but the majority opinion favors local control of ! 111: ! 112: ! 113: ! 114: Mockapetris [Page 2] ! 115: ! 116: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 117: ! 118: ! 119: network names. Although it would be possible to provide a flat space ! 120: or a name space in which, for example, the last label of a domain ! 121: name captured the old-style network name, any such approach would add ! 122: complexity to the method and create different rules for network names ! 123: and host names. ! 124: ! 125: For these reasons, we assume that the syntax of network names will be ! 126: the same as the expanded syntax for host names permitted in [HR]. ! 127: The new syntax expands the set of names to allow leading digits, so ! 128: long as the resulting representations do not conflict with IP ! 129: addresses in decimal octet form. For example, 3Com.COM and 3M.COM ! 130: are now legal, although 26.0.0.73.COM is not. See [HR] for details. ! 131: ! 132: The price is that network names will get as complicated as host ! 133: names. An administrator will be able to create network names in any ! 134: domain under his control, and also create network number to name ! 135: entries in IN-ADDR.ARPA domains under his control. Thus, the name ! 136: for the ARPANET might become NET.ARPA, ARPANET.ARPA or Arpa- ! 137: network.MIL., depending on the preferences of the owner. ! 138: ! 139: 3.2. Mappings ! 140: ! 141: The desired mappings, ranked by priority with most important first, ! 142: are: ! 143: ! 144: - Mapping a IP address or network number to a network name. ! 145: ! 146: This mapping is for use in debugging tools and status displays ! 147: of various sorts. The conversion from IP address to network ! 148: number is well known for class A, B, and C IP addresses, and ! 149: involves a simple mask operation. The needs of other classes ! 150: are not yet defined and are ignored for the rest of this RFC. ! 151: ! 152: - Mapping a network name to a network address. ! 153: ! 154: This facility is of less obvious application, but a ! 155: symmetrical mapping seems desirable. ! 156: ! 157: - Mapping an organization to its network names and numbers. ! 158: ! 159: This facility is useful because it may not always be possible ! 160: to guess the local choice for network names, but the ! 161: organization name is often well known. ! 162: ! 163: - Similar mappings for subnets, even when nested. ! 164: ! 165: The primary application is to be able to identify all of the ! 166: subnets involved in a particular IP address. A secondary ! 167: ! 168: ! 169: ! 170: Mockapetris [Page 3] ! 171: ! 172: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 173: ! 174: ! 175: requirement is to retrieve address mask information. ! 176: ! 177: 3.3. Network address section of the name space ! 178: ! 179: The network name syntax discussed above can provide domain names ! 180: which will contain mappings from network names to various quantities, ! 181: but we also need a section of the name space, organized by network ! 182: and subnet number to hold the inverse mappings. ! 183: ! 184: The choices include: ! 185: ! 186: - The same network number slots already assigned and delegated ! 187: in the IN-ADDR.ARPA section of the name space. ! 188: ! 189: For example, 10.IN-ADDR.ARPA for class A net 10, ! 190: 2.128.IN-ADDR.ARPA for class B net 128.2, etc. ! 191: ! 192: - Host-zero addresses in the IN-ADDR.ARPA tree. (A host field ! 193: of all zero in an IP address is prohibited because of ! 194: confusion related to broadcast addresses, et al.) ! 195: ! 196: For example, 0.0.0.10.IN-ADDR.ARPA for class A net 10, ! 197: 0.0.2.128.IN-ADDR.arpa for class B net 128.2, etc. Like the ! 198: first scheme, it uses in-place name space delegations to ! 199: distribute control. ! 200: ! 201: The main advantage of this scheme over the first is that it ! 202: allows convenient names for subnets as well as networks. A ! 203: secondary advantage is that it uses names which are not in use ! 204: already, and hence it is possible to test whether an ! 205: organization has entered this information in its domain ! 206: database. ! 207: ! 208: - Some new section of the name space. ! 209: ! 210: While this option provides the most opportunities, it creates ! 211: a need to delegate a whole new name space. Since the IP ! 212: address space is so closely related to the network number ! 213: space, most believe that the overhead of creating such a new ! 214: space is overwhelming and would lead to the WKS syndrome. (As ! 215: of February, 1989, approximately 400 sections of the ! 216: IN-ADDR.ARPA tree are already delegated, usually at network ! 217: boundaries.) ! 218: ! 219: ! 220: ! 221: ! 222: ! 223: ! 224: ! 225: ! 226: Mockapetris [Page 4] ! 227: ! 228: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 229: ! 230: ! 231: 4. SPECIFICS FOR NETWORK NAME MAPPINGS ! 232: ! 233: The proposed solution uses information stored at: ! 234: ! 235: - Names in the IN-ADDR.ARPA tree that correspond to host-zero IP ! 236: addresses. The same method is used for subnets in a nested ! 237: fashion. For example, 0.0.0.10.IN-ADDR.ARPA. for net 10. ! 238: ! 239: Two types of information are stored here: PTR RRs which point ! 240: to the network name in their data sections, and A RRs, which ! 241: are present if the network (or subnet) is subnetted further. ! 242: If a type A RR is present, then it has the address mask as its ! 243: data. The general form is: ! 244: ! 245: <reversed-host-zero-number>.IN-ADDR.ARPA. PTR <network-name> ! 246: <reversed-host-zero-number>.IN-ADDR.ARPA. A <subnet-mask> ! 247: ! 248: For example: ! 249: ! 250: 0.0.0.10.IN-ADDR.ARPA. PTR ARPANET.ARPA. ! 251: ! 252: or ! 253: ! 254: 0.0.2.128.IN-ADDR.ARPA. PTR cmu-net.cmu.edu. ! 255: A 255.255.255.0 ! 256: ! 257: In general, this information will be added to an existing ! 258: master file for some IN-ADDR.ARPA domain for each network ! 259: involved. Similar RRs can be used at host-zero subnet ! 260: entries. ! 261: ! 262: - Names which are network names. ! 263: ! 264: The data stored here is PTR RRs pointing at the host-zero ! 265: entries. The general form is: ! 266: ! 267: <network-name> ptr <reversed-host-zero-number>.IN-ADDR.ARPA ! 268: ! 269: For example: ! 270: ! 271: ARPANET.ARPA. PTR 0.0.0.10.IN-ADDR.ARPA. ! 272: ! 273: or ! 274: ! 275: isi-net.isi.edu. PTR 0.0.9.128.IN-ADDR.ARPA. ! 276: ! 277: In general, this information will be inserted in the master ! 278: file for the domain name of the organization; this is a ! 279: ! 280: ! 281: ! 282: Mockapetris [Page 5] ! 283: ! 284: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 285: ! 286: ! 287: different file from that which holds the information below ! 288: IN-ADDR.ARPA. Similar PTR RRs can be used at subnet names. ! 289: ! 290: - Names corresponding to organizations. ! 291: ! 292: The data here is one or more PTR RRs pointing at the ! 293: IN-ADDR.ARPA names corresponding to host-zero entries for ! 294: networks. ! 295: ! 296: For example: ! 297: ! 298: ISI.EDU. PTR 0.0.9.128.IN-ADDR.ARPA. ! 299: ! 300: MCC.COM. PTR 0.167.5.192.IN-ADDR.ARPA. ! 301: PTR 0.168.5.192.IN-ADDR.ARPA. ! 302: PTR 0.169.5.192.IN-ADDR.ARPA. ! 303: PTR 0.0.62.128.IN-ADDR.ARPA. ! 304: ! 305: 4.1. A simple example ! 306: ! 307: The ARPANET is a Class A network without subnets. The RRs which ! 308: would be added, assuming the ARPANET.ARPA was selected as a network ! 309: name, would be: ! 310: ! 311: ARPA. PTR 0.0.0.10.IN-ADDR.ARPA. ! 312: ! 313: ARPANET.ARPA. PTR 0.0.0.10.IN-ADDR.ARPA. ! 314: ! 315: 0.0.0.10.IN-ADDR.ARPA. PTR ARPANET.ARPA. ! 316: ! 317: The first RR states that the organization named ARPA owns net 10 (It ! 318: might also own more network numbers, and these would be represented ! 319: with an additional RR per net.) The second states that the network ! 320: name ARPANET.ARPA. maps to net 10. The last states that net 10 is ! 321: named ARPANET.ARPA. ! 322: ! 323: Note that all of the usual host and corresponding IN-ADDR.ARPA ! 324: entries would still be required. ! 325: ! 326: 4.2. A complicated, subnetted example ! 327: ! 328: The ISI network is 128.9, a class B number. Suppose the ISI network ! 329: was organized into two levels of subnet, with the first level using ! 330: an additional 8 bits of address, and the second level using 4 bits, ! 331: for address masks of x'FFFFFF00' and X'FFFFFFF0'. ! 332: ! 333: Then the following RRs would be entered in ISI's master file for the ! 334: ISI.EDU zone: ! 335: ! 336: ! 337: ! 338: Mockapetris [Page 6] ! 339: ! 340: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 341: ! 342: ! 343: ; Define network entry ! 344: isi-net.isi.edu. PTR 0.0.9.128.IN-ADDR.ARPA. ! 345: ! 346: ; Define first level subnets ! 347: div1-subnet.isi.edu. PTR 0.1.9.128.IN-ADDR.ARPA. ! 348: div2-subnet.isi.edu. PTR 0.2.9.128.IN-ADDR.ARPA. ! 349: ! 350: ; Define second level subnets ! 351: inc-subsubnet.isi.edu. PTR 16.2.9.128.IN-ADDR.ARPA. ! 352: ! 353: in the 9.128.IN-ADDR.ARPA zone: ! 354: ! 355: ; Define network number and address mask ! 356: 0.0.9.128.IN-ADDR.ARPA. PTR isi-net.isi.edu. ! 357: A 255.255.255.0 ;aka X'FFFFFF00' ! 358: ! 359: ; Define one of the first level subnet numbers and masks ! 360: 0.1.9.128.IN-ADDR.ARPA. PTR div1-subnet.isi.edu. ! 361: A 255.255.255.240 ;aka X'FFFFFFF0' ! 362: ! 363: ; Define another first level subnet number and mask ! 364: 0.2.9.128.IN-ADDR.ARPA. PTR div2-subnet.isi.edu. ! 365: A 255.255.255.240 ;aka X'FFFFFFF0' ! 366: ! 367: ; Define second level subnet number ! 368: 16.2.9.128.IN-ADDR.ARPA. PTR inc-subsubnet.isi.edu. ! 369: ! 370: This assumes that the ISI network is named isi-net.isi.edu., first ! 371: level subnets are named div1-subnet.isi.edu. and div2- ! 372: subnet.isi.edu., and a second level subnet is called inc- ! 373: subsubnet.isi.edu. (In a real system as complicated as this there ! 374: would be more first and second level subnets defined, but we have ! 375: shown enough to illustrate the ideas.) ! 376: ! 377: 4.3. Procedure for using an IP address to get network name ! 378: ! 379: Depending on whether the IP address is class A, B, or C, mask off the ! 380: high one, two, or three bytes, respectively. Reverse the octets, ! 381: suffix IN-ADDR.ARPA, and do a PTR query. ! 382: ! 383: For example, suppose the IP address is 10.0.0.51. ! 384: ! 385: 1. Since this is a class A address, use a mask x'FF000000' and ! 386: get 10.0.0.0. ! 387: ! 388: 2. Construct the name 0.0.0.10.IN-ADDR.ARPA. ! 389: ! 390: 3. Do a PTR query. Get back ! 391: ! 392: ! 393: ! 394: Mockapetris [Page 7] ! 395: ! 396: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 397: ! 398: ! 399: 0.0.0.10.IN-ADDR.ARPA. PTR ARPANET.ARPA. ! 400: ! 401: 4. Conclude that the network name is "ARPANET.ARPA." ! 402: ! 403: Suppose that the IP address is 128.9.2.17. ! 404: ! 405: 1. Since this is a class B address, use a mask of x'FFFF0000' ! 406: and get 128.9.0.0. ! 407: ! 408: 2. Construct the name 0.0.9.128.IN-ADDR.ARPA. ! 409: ! 410: 3. Do a PTR query. Get back ! 411: ! 412: 0.0.9.128.IN-ADDR.ARPA. PTR isi-net.isi.edu ! 413: ! 414: 4. Conclude that the network name is "isi-net.isi.edu." ! 415: ! 416: 4.4. Procedure for finding all subnets involved with an IP address ! 417: ! 418: This is a simple extension of the IP address to network name method. ! 419: When the network entry is located, do a lookup for a possible A RR. ! 420: If the A RR is found, look up the next level of subnet using the ! 421: original IP address and the mask in the A RR. Repeat this procedure ! 422: until no A RR is found. ! 423: ! 424: For example, repeating the use of 128.9.2.17. ! 425: ! 426: 1. As before construct a query for 0.0.9.128.IN-ADDR.ARPA. ! 427: Retrieve: ! 428: ! 429: 0.0.9.128.IN-ADDR.ARPA. PTR isi-net.isi.edu. ! 430: A 255.255.255.0 ! 431: ! 432: 2. Since an A RR was found, repeat using mask from RR ! 433: (255.255.255.0), constructing a query for ! 434: 0.2.9.128.IN-ADDR.ARPA. Retrieve: ! 435: ! 436: 0.2.9.128.IN-ADDR.ARPA. PTR div2-subnet.isi.edu. ! 437: A 255.255.255.240 ! 438: ! 439: 3. Since another A RR was found, repeat using mask ! 440: 255.255.255.240 (x'FFFFFFF0'). constructing a query for ! 441: 16.2.9.128.IN-ADDR.ARPA. Retrieve: ! 442: ! 443: 16.2.9.128.IN-ADDR.ARPA. PTR inc-subsubnet.isi.edu. ! 444: ! 445: 4. Since no A RR is present at 16.2.9.128.IN-ADDR.ARPA., there ! 446: are no more subnet levels. ! 447: ! 448: ! 449: ! 450: Mockapetris [Page 8] ! 451: ! 452: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 453: ! 454: ! 455: 5. YP ISSUES AND DISCUSSION ! 456: ! 457: The term "Yellow Pages" is used in almost as many ways as the term ! 458: "domain", so it is useful to define what is meant herein by YP. The ! 459: general problem to be solved is to create a method for creating ! 460: mappings from one kind of identifier to another, often with an ! 461: inverse capability. The traditional methods are to search or use a ! 462: precomputed index of some kind. ! 463: ! 464: Searching is impractical when the search is too large, and ! 465: precomputed indexes are possible only when it is possible to specify ! 466: search criteria in advance, and pay for the resources necessary to ! 467: build the index. For example, it is impractical to search the entire ! 468: domain tree to find a particular address RR, so we build the IN- ! 469: ADDR.ARPA YP. Similarly, we could never build an Internet-wide index ! 470: of "hosts with a load average of less than 2" in less time than it ! 471: would take for the data to change, so indexes are a useless approach ! 472: for that problem. ! 473: ! 474: Such a precomputed index is what we mean by YP, and we regard the ! 475: IN-ADDR.ARPA domain as the first instance of a YP in the DNS. ! 476: Although a single, centrally-managed YP for well-known values such as ! 477: TCP-port is desirable, we regard organization-specific YPs for, say, ! 478: locally defined TCP ports as a natural extension, as are combinations ! 479: of YPs using search lists to merge the two. ! 480: ! 481: In examining Internet Numbers [RFC 997] and Assigned Numbers [RFC ! 482: 1010], it is clear that there are several mappings which might be of ! 483: value. For example: ! 484: ! 485: <assigned-network-name> <==> <IP-address> ! 486: <autonomous-system-id> <==> <number> ! 487: <protocol-id> <==> <number> ! 488: <port-id> <==> <number> ! 489: <ethernet-type> <==> <number> ! 490: <public-data-net> <==> <IP-address> ! 491: ! 492: Following the IN-ADDR example, the YP takes the form of a domain tree ! 493: organized to optimize retrieval by search key and distribution via ! 494: normal DNS rules. The name used as a key must include: ! 495: ! 496: 1. A well known origin. For example, IN-ADDR.ARPA is the ! 497: current IP-address to host name YP. ! 498: ! 499: 2. A "from" data type. This identifies the input type of the ! 500: mapping. This is necessary because we may be mapping ! 501: something as anonymous as a number to any number of ! 502: mnemonics, etc. ! 503: ! 504: ! 505: ! 506: Mockapetris [Page 9] ! 507: ! 508: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 509: ! 510: ! 511: 3. A "to" data type. Since we assume several symmetrical ! 512: mnemonic <==> number mappings, this is also necessary. ! 513: ! 514: This ordering reflects the natural scoping of control, and hence the ! 515: order of the components in a domain name. Thus domain names would be ! 516: of the form: ! 517: ! 518: <from-value>.<to-data-type>.<from-data-type>.<YP-origin> ! 519: ! 520: To make this work, we need to define well-know strings for each of ! 521: these metavariables, as well as encoding rules for converting a ! 522: <from-value> into a domain name. We might define: ! 523: ! 524: <YP-origin> :=YP ! 525: <from-data-type>:=TCP-port | IN-ADDR | Number | ! 526: Assigned-network-number | Name ! 527: <to-data-type> :=<from-data-type> ! 528: ! 529: Note that "YP" is NOT a valid country code under [ISO 3166] (although ! 530: we may want to worry about the future), and the existence of a ! 531: syntactically valid <to-data-type>.<from-data-type> pair does not ! 532: imply that a meaningful mapping exists, or is even possible. ! 533: ! 534: The encoding rules might be: ! 535: ! 536: TCP-port Six character alphanumeric ! 537: ! 538: IN-ADDR Reversed 4-octet decimal string ! 539: ! 540: Number decimal integer ! 541: ! 542: Assigned-network-number ! 543: Reversed 4-octet decimal string ! 544: ! 545: Name Domain name ! 546: ! 547: 6. SPECIFICS FOR YP MAPPINGS ! 548: ! 549: 6.1. TCP-PORT ! 550: ! 551: $origin Number.TCP-port.YP. ! 552: ! 553: 23 PTR TELNET.TCP-port.Number.YP. ! 554: 25 PTR SMTP.TCP-port.Number.YP. ! 555: ! 556: $origin TCP-port.Number.YP. ! 557: ! 558: TELNET PTR 23.Number.TCP-port.YP. ! 559: ! 560: ! 561: ! 562: Mockapetris [Page 10] ! 563: ! 564: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 565: ! 566: ! 567: SMTP PTR 25.Number.TCP-port.YP. ! 568: ! 569: Thus the mapping between 23 and TELNET is represented by a pair of ! 570: PTR RRs, one for each direction of the mapping. ! 571: ! 572: 6.2. Assigned networks ! 573: ! 574: Network numbers are assigned by the NIC and reported in "Internet ! 575: Numbers" RFCs. To create a YP, the NIC would set up two domains: ! 576: ! 577: Name.Assigned-network-number.YP and Assigned-network-number.YP ! 578: ! 579: The first would contain entries of the form: ! 580: ! 581: $origin Name.Assigned-network-number.YP. ! 582: ! 583: 0.0.0.4 PTR SATNET.Assigned-network-number.Name.YP. ! 584: 0.0.0.10 PTR ARPANET.Assigned-network-number.Name.YP. ! 585: ! 586: The second would contain entries of the form: ! 587: ! 588: $origin Assigned-network-number.Name.YP. ! 589: ! 590: SATNET. PTR 0.0.0.4.Name.Assigned-network-number.YP. ! 591: ARPANET. PTR 0.0.0.10.Name.Assigned-network-number.YP. ! 592: ! 593: These YPs are not in conflict with the network name support described ! 594: in the first half of this RFC since they map between ASSIGNED network ! 595: names and numbers, not those allocated by the organizations ! 596: themselves. That is, they document the NIC's decisions about ! 597: allocating network numbers but do not automatically track any ! 598: renaming performed by the new owners. ! 599: ! 600: As a practical matter, we might want to create both of these domains ! 601: to enable users on the Internet to experiment with centrally ! 602: maintained support as well as the distributed version, or might want ! 603: to implement only the allocated number to name mapping and request ! 604: organizations to convert their allocated network names to the network ! 605: names described in the distributed model. ! 606: ! 607: 6.3. Operational improvements ! 608: ! 609: We could imagine that all conversion routines using these YPs might ! 610: be instructed to use "YP.<local-domain>" followed by "YP." as a ! 611: search list. Thus, if the organization ISI.EDU wished to define ! 612: locally meaningful TCP-PORT, it would define the domains: ! 613: ! 614: <TCP-port.Number.YP.ISI.EDU> and <Number.TCP-port.YP.ISI.EDU>. ! 615: ! 616: ! 617: ! 618: Mockapetris [Page 11] ! 619: ! 620: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 621: ! 622: ! 623: We could add another level of indirection in the YP lookup, defining ! 624: the <to-data-type>.<from-data-type>.<YP-origin> nodes to point to the ! 625: YP tree, rather than being the YP tree directly. This would enable ! 626: entries of the form: ! 627: ! 628: IN-ADDR.Netname.YP. PTR IN-ADDR.ARPA. ! 629: ! 630: to splice in YPs from other origins or existing spaces. ! 631: ! 632: Another possibility would be to shorten the RDATA section of the RRs ! 633: which map back and forth by deleting the origin. This could be done ! 634: either by allowing the domain name in the RDATA portion to not ! 635: identify a real domain name, or by defining a new RR which used a ! 636: simple text string rather than a domain name. ! 637: ! 638: Thus, we might replace ! 639: ! 640: $origin Assigned-network-number.Name.YP. ! 641: ! 642: SATNET. PTR 0.0.0.4.Name.Assigned-network-number.YP. ! 643: ARPANET. PTR 0.0.0.10.Name.Assigned-network-number.YP. ! 644: ! 645: with ! 646: ! 647: $origin Assigned-network-number.Name.YP. ! 648: ! 649: SATNET. PTR 0.0.0.4. ! 650: ARPANET. PTR 0.0.0.10. ! 651: ! 652: or ! 653: ! 654: $origin Assigned-network-number.Name.YP. ! 655: ! 656: SATNET. PTT "0.0.0.4" ! 657: ARPANET. PTT "0.0.0.10" ! 658: ! 659: where PTT is a new type whose RDATA section is a text string. ! 660: ! 661: 7. ACKNOWLEDGMENTS ! 662: ! 663: Drew Perkins, Mark Lottor, and Rob Austein contributed several of the ! 664: ideas in this RFC. Numerous contributions, criticisms, and ! 665: compromises were produced in the IETF Domain working group and the ! 666: NAMEDROPPERS mailing list. ! 667: ! 668: ! 669: ! 670: ! 671: ! 672: ! 673: ! 674: Mockapetris [Page 12] ! 675: ! 676: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 677: ! 678: ! 679: 8. REFERENCES ! 680: ! 681: [HR] Braden, B., editor, "Requirements for Internet Hosts", ! 682: RFC in preparation. ! 683: ! 684: [ISO 3166] ISO, "Codes for the Representation of Names of ! 685: Countries", 1981. ! 686: ! 687: [RFC 882] Mockapetris, P., "Domain names - Concepts and ! 688: Facilities", RFC 882, USC/Information Sciences Institute, ! 689: November 1983. ! 690: ! 691: Superseded by RFC 1034. ! 692: ! 693: [RFC 883] Mockapetris, P.,"Domain names - Implementation and ! 694: Specification", RFC 883, USC/Information Sciences ! 695: Institute, November 1983. ! 696: ! 697: Superceeded by RFC 1035. ! 698: ! 699: [RFC 920] Postel, J. and J. Reynolds, "Domain Requirements", RFC ! 700: 920, October 1984. ! 701: ! 702: Explains the naming scheme for top level domains. ! 703: ! 704: [RFC 952] Harrenstien, K., M. Stahl, and E. Feinler, "DoD Internet ! 705: Host Table Specification", RFC 952, SRI, October 1985. ! 706: ! 707: Specifies the format of HOSTS.TXT, the host/address table ! 708: replaced by the DNS ! 709: ! 710: [RFC 973] Mockapetris, P., "Domain System Changes and ! 711: Observations", RFC 973, USC/Information Sciences ! 712: Institute, January 1986. ! 713: ! 714: Describes changes to RFCs 882 and 883 and reasons for ! 715: them. ! 716: ! 717: [RFC 974] Partridge, C., "Mail routing and the domain system", RFC ! 718: 974, CSNET CIC BBN Labs, January 1986. ! 719: ! 720: Describes the transition from HOSTS.TXT based mail ! 721: addressing to the more powerful MX system used with the ! 722: domain system. ! 723: ! 724: ! 725: ! 726: ! 727: ! 728: ! 729: ! 730: Mockapetris [Page 13] ! 731: ! 732: RFC 1101 DNS Encoding of Network Names and Other Types April 1989 ! 733: ! 734: ! 735: [RFC 997] Reynolds, J., and J. Postel, "Internet Numbers", RFC 997, ! 736: USC/Information Sciences Institute, March 1987 ! 737: ! 738: Contains network numbers, autonomous system numbers, etc. ! 739: ! 740: [RFC 1010] Reynolds, J., and J. Postel, "Assigned Numbers", RFC ! 741: 1010, USC/Information Sciences Institute, May 1987 ! 742: ! 743: Contains socket numbers and mnemonics for host names, ! 744: operating systems, etc. ! 745: ! 746: ! 747: [RFC 1034] Mockapetris, P., "Domain names - Concepts and ! 748: Facilities", RFC 1034, USC/Information Sciences ! 749: Institute, November 1987. ! 750: ! 751: Introduction/overview of the DNS. ! 752: ! 753: [RFC 1035] Mockapetris, P., "Domain names - Implementation and ! 754: Specification", RFC 1035, USC/Information Sciences ! 755: Institute, November 1987. ! 756: ! 757: DNS implementation instructions. ! 758: ! 759: Author's Address: ! 760: ! 761: Paul Mockapetris ! 762: USC/Information Sciences Institute ! 763: 4676 Admiralty Way ! 764: Marina del Rey, CA 90292 ! 765: ! 766: Phone: (213) 822-1511 ! 767: ! 768: Email: [email protected] ! 769: ! 770: ! 771: ! 772: ! 773: ! 774: ! 775: ! 776: ! 777: ! 778: ! 779: ! 780: ! 781: ! 782: ! 783: ! 784: ! 785: ! 786: Mockapetris [Page 14] ! 787:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.