Annotation of 43BSDReno/usr.sbin/named/doc/rfc1101.lpr, revision 1.1.1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.