home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_a_c / draft-ietf-cidrd-classless-inaddr-02.txt < prev    next >
Text File  |  1996-11-26  |  16KB  |  503 lines

  1.  
  2. Network Working Group                                     Havard Eidnes
  3. INTERNET-DRAFT                                             SINTEF RUNIT
  4. draft-ietf-cidrd-classless-inaddr-02.txt             Geert Jan de Groot
  5.                                                                RIPE NCC
  6.                                                              Paul Vixie
  7.                                            Internet Software Consortium
  8.                                                           November 1996
  9.  
  10.  
  11.                    Classless IN-ADDR.ARPA delegation
  12.  
  13.  
  14.  
  15. 1. Status of this Memo
  16.  
  17.    This document is an Internet-Draft.  Internet-Drafts are working
  18.    documents of the Internet Engineering Task Force (IETF), its areas,
  19.    and its working groups.  Note that other groups may also distribute
  20.    working documents as Internet-Drafts.
  21.  
  22.    Internet-Drafts are draft documents valid for a maximum of six months
  23.    and may be updated, replaced, or obsoleted by other documents at any
  24.    time.  It is inappropriate to use Internet- Drafts as reference
  25.    material or to cite them other than as ``work in progress.''
  26.  
  27.    To learn the current status of any Internet-Draft, please check the
  28.    ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
  29.    Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  30.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  31.    ftp.isi.edu (US West Coast).
  32.  
  33. 2. Introduction
  34.  
  35.    This document describes a way to do IN-ADDR.ARPA delegation on non-
  36.    octet boundaries.  The proposed method should thus remove one of the
  37.    objections to subnet on non-octet boundaries but perhaps more
  38.    significantly, make it possible to assign IP address space in smaller
  39.    chunks than 24-bit prefixes, without losing the ability to delegate
  40.    authority for the corresponding IN-ADDR.ARPA mappings.  The proposed
  41.    method is fully compatible with the original DNS lookup mechanisms
  42.    specified in [1], i.e. there is no need to modify the lookup
  43.    algorithm used, and there should be no need to modify any software
  44.    which does DNS lookups either.
  45.  
  46.    The document also discusses some operational considerations to
  47.    provide some guidance in implementing this method.
  48.  
  49.  
  50.  
  51.  
  52.  
  53. Eidnes, de Groot, Vixie      Expires 970525                     [Page 1]
  54.  
  55. INTERNET-DRAFT      Classless IN-ADDR.ARPA delegation      November 1996
  56.  
  57.  
  58. 3. Motivation
  59.  
  60.    With the proliferation of classless routing technology, it has become
  61.    feasible to assign address space on non-octet boundaries.  In case of
  62.    a Very Small Organization with only a few hosts, assigning a full
  63.    24-bit prefix (what has traditionally been referred to as a ``class C
  64.    network number'') often leads to inefficient address space
  65.    utilization.
  66.  
  67.    One of the problems encountered when assigning a longer prefix (less
  68.    address space) is that it seems impossible for such an organization
  69.    to maintain its own reverse (``IN-ADDR.ARPA'') zone autonomously.  By
  70.    use of the reverse delegation method described below, the most
  71.    important objection to assignment of longer prefixes to unrelated
  72.    organizations can be removed.
  73.  
  74.    Let us assume we have assigned the address spaces to three different
  75.    parties as follows:
  76.  
  77.         192.0.2.0/25   to organization A
  78.         192.0.2.128/26 to organization B
  79.         192.0.2.192/26 to organization C
  80.  
  81.    In the classical approach, this would lead to a single zone like
  82.    this:
  83.  
  84.    $ORIGIN 2.0.192.in-addr.arpa.
  85.    ;
  86.    1         PTR  host1.A.domain.
  87.    2         PTR  host2.A.domain.
  88.    3         PTR  host3.A.domain.
  89.    ;
  90.    129       PTR  host1.B.domain.
  91.    130       PTR  host2.B.domain.
  92.    131       PTR  host3.B.domain.
  93.    ;
  94.    193       PTR  host1.C.domain.
  95.    194       PTR  host2.C.domain.
  96.    195       PTR  host3.C.domain.
  97.  
  98.    The administration of this zone is problematic.  Authority for this
  99.    zone can only be delegated once, and this usually translates into
  100.    ``this zone can only be administered by one organization.''  The
  101.    other organizations with address space that corresponds to entries in
  102.    this zone would thus have to depend on another organization for their
  103.    address to name translation.  With the proposed method, this
  104.    potential problem can be avoided.
  105.  
  106.  
  107.  
  108.  
  109. Eidnes, de Groot, Vixie      Expires 970525                     [Page 2]
  110.  
  111. INTERNET-DRAFT      Classless IN-ADDR.ARPA delegation      November 1996
  112.  
  113.  
  114. 4. Classless IN-ADDR.ARPA delegation
  115.  
  116.    Since a single zone can only be delegated once we need more points to
  117.    do delegation on to solve the problem above.  These extra points of
  118.    delegation can be introduced by extending the IN-ADDR.ARPA tree
  119.    downwards, e.g. by using the first address or the first address and
  120.    the network mask length (as shown below) in the corresponding address
  121.    space to form the the first component in the name for the zones.  For
  122.    the problem described in the motivation section, the corresponding
  123.    four zone files would look something like this (here shown also with
  124.    network masks and network names in the form specified in [2] as
  125.    well):
  126.  
  127.    $ORIGIN 2.0.192.in-addr.arpa.
  128.    @    IN   SOA  my-ns.my.domain. hostmaster.my.domain. ( ... )
  129.    ;...
  130.    ;  <<0-127>> /25
  131.    0/25      NS   ns.A.domain.
  132.    0/25      NS   some.other.name.server.
  133.    ;
  134.    1         CNAME     1.0/25.2.0.192.in-addr.arpa.
  135.    2         CNAME     2.0/25.2.0.192.in-addr.arpa.
  136.    3         CNAME     3.0/25.2.0.192.in-addr.arpa.
  137.    ;
  138.    ;  <<128-191>> /26
  139.    128/26         NS   ns.B.domain.
  140.    128/26         NS   some.other.name.server.too.
  141.    ;
  142.    129       CNAME     129.128/26.2.0.192.in-addr.arpa.
  143.    130       CNAME     130.128/26.2.0.192.in-addr.arpa.
  144.    131       CNAME     131.128/26.2.0.192.in-addr.arpa.
  145.    ;
  146.    ;  <<192-255>> /26
  147.    192/26         NS   ns.C.domain.
  148.    192/26         NS   some.other.third.name.server.
  149.    ;
  150.    193       CNAME     193.192/26.2.0.192.in-addr.arpa.
  151.    194       CNAME     194.192/26.2.0.192.in-addr.arpa.
  152.    195       CNAME     195.192/26.2.0.192.in-addr.arpa.
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165. Eidnes, de Groot, Vixie      Expires 970525                     [Page 3]
  166.  
  167. INTERNET-DRAFT      Classless IN-ADDR.ARPA delegation      November 1996
  168.  
  169.  
  170.    $ORIGIN 0/25.2.0.192.in-addr.arpa.
  171.    @    IN   SOA  ns.A.domain. hostmaster.A.domain. ( ... )
  172.    @         NS   ns.A.domain.
  173.    @         NS   some.other.name.server.
  174.    @         PTR  networkname.A.domain.
  175.    @         A    255.255.255.128
  176.    ;
  177.    1         PTR  host1.A.domain.
  178.    2         PTR  host2.A.domain.
  179.    3         PTR  host3.A.domain.
  180.  
  181.  
  182.    $ORIGIN 128/26.2.0.192.in-addr.arpa.
  183.    @    IN   SOA  ns.B.domain. hostmaster.B.domain. ( ... )
  184.    @         NS   ns.B.domain.
  185.    @         NS   some.other.name.server.too.
  186.    @         PTR  networkname.B.domain.
  187.    @         A    255.255.255.192
  188.    ;
  189.    129       PTR  host1.B.domain.
  190.    130       PTR  host2.B.domain.
  191.    131       PTR  host3.B.domain.
  192.  
  193.  
  194.    $ORIGIN 192/26.2.0.192.in-addr.arpa.
  195.    @    IN   SOA  ns.C.domain. hostmaster.C.domain. ( ... )
  196.    @         NS   ns.C.domain.
  197.    @         NS   some.other.third.name.server.
  198.    @         PTR  networkname.C.domain.
  199.    @         A    255.255.255.192
  200.    ;
  201.    193       PTR  host1.C.domain.
  202.    194       PTR  host2.C.domain.
  203.    195       PTR  host3.C.domain.
  204.  
  205.    Note that the use of network masks and network names as specified in
  206.    [2] is optional, but is strongly recommended.
  207.  
  208.    This approach to splitting up the responsibility for maintaining the
  209.    IN-ADDR.ARPA mappings makes it necessary to install approximately 256
  210.    CNAME records in the parent zone more or less permanently for each
  211.    size-256 chunk split up this way.  Some people might view this as
  212.    ugly; we will not argue that particular point.  It is however quite
  213.    easy to automatically generate the CNAME resource records in the
  214.    parent zone once and for all, if the way the address space is
  215.    partitioned is known.
  216.  
  217.  
  218.  
  219.  
  220.  
  221. Eidnes, de Groot, Vixie      Expires 970525                     [Page 4]
  222.  
  223. INTERNET-DRAFT      Classless IN-ADDR.ARPA delegation      November 1996
  224.  
  225.  
  226.    The advantage of this approach over the other proposed approaches for
  227.    dealing with this problem is that there should be no need to modify
  228.    any already-deployed software.  In particular, the lookup mechanism
  229.    in the DNS does not have to be modified to accommodate this splitting
  230.    of the responsibility for the IPv4 address to name translation on
  231.    ``non-dot'' boundaries.  Furthermore, this technique has been in use
  232.    for several years in at least one installation, apparently with no
  233.    ill effects.
  234.  
  235.    As usual, a resource record like
  236.  
  237.    $ORIGIN   2.0.192.in-addr.arpa.
  238.    129       CNAME     129.128/26.2.0.192.in-addr.arpa.
  239.  
  240.    can be convienently abbreviated to
  241.  
  242.    $ORIGIN   2.0.192.in-addr.arpa.
  243.    129       CNAME     129.128/26.2
  244.  
  245.    Note also that it is legal to use slash ('/') in the name of the
  246.    resource record (1.0/25.2.0.192.IN-ADDR.ARPA) because these are not
  247.    host names; hence the restriction of [3] does not apply here.
  248.  
  249. 5. Operational considerations
  250.  
  251. 5.1 Recommended secondary name service
  252.  
  253.    Some older versions of name server software will make no effort to
  254.    find and return the pointed-to name in CNAME records if the pointed-
  255.    to name is not already known locally as cached or as authoritative
  256.    data.  This can cause some confusion in resolvers, as only the CNAME
  257.    record will be returned in the response.  To avoid this problem it is
  258.    recommended that the authoritative name servers for the delegating
  259.    zone (the zone containing all the CNAME records) all run as slave
  260.    (secondary) name servers for the ``child'' zones delegated and
  261.    pointed into via the CNAME records.
  262.  
  263. 5.2 Alternative naming conventions
  264.  
  265.    As a result of this method, the location of the zone containing the
  266.    actual PTR records is no longer predefined.  This gives flexibility
  267.    and some examples will be presented here.
  268.  
  269.    An obvious alternative to using the first address or the first
  270.    address and the network mask length in the corresponding address
  271.    space to name the new zones is simply to use some other (non-numeric)
  272.    name.  It is of course also possible to point to an entirely
  273.    different part of the DNS tree (e.g. outside of the IN-ADDR.ARPA
  274.  
  275.  
  276.  
  277. Eidnes, de Groot, Vixie      Expires 970525                     [Page 5]
  278.  
  279. INTERNET-DRAFT      Classless IN-ADDR.ARPA delegation      November 1996
  280.  
  281.  
  282.    tree).  It would be necessary to use one of these alternate methods
  283.    if two organizations somehow shared the same physical subnet (and
  284.    corresponding IP address space) with no "neat" alignment of the
  285.    addresses, but still wanted to administrate their own IN-ADDR.ARPA
  286.    mappings.
  287.  
  288.    The following short example shows how you can point out of the IN-
  289.    ADDR.ARPA tree:
  290.  
  291.    $ORIGIN 2.0.192.in-addr.arpa.
  292.    @    IN   SOA  my-ns.my.domain. hostmaster.my.domain. ( ... )
  293.    ; ...
  294.    1         CNAME     1.A.domain.
  295.    2         CNAME     2.A.domain.
  296.    ; ...
  297.    129       CNAME     129.B.domain.
  298.    130       CNAME     130.B.domain.
  299.    ;
  300.  
  301.  
  302.    $ORIGIN A.domain.
  303.    @    IN   SOA  my-ns.A.domain. hostmaster.A.domain. ( ... )
  304.    ; ...
  305.    ;
  306.    host1          A    192.0.2.1
  307.    1         PTR  host1
  308.    ;
  309.    host2          A    192.0.2.2
  310.    2         PTR  host2
  311.    ;
  312.  
  313.    etc.
  314.  
  315.    Done this way you can actually end up with the name->address and the
  316.    (pointed-to) address->name mapping data in the same zone file -- some
  317.    may view this as an added bonus as no separate set of secondaries for
  318.    the reverse zone is required.  Do however note that the traversal via
  319.    the IN-ADDR.ARPA tree will still be done, so the CNAME records
  320.    inserted there need to point in the right direction for this to work.
  321.  
  322.    An approach as sketched below is an alternative approach using the
  323.    same solution:
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333. Eidnes, de Groot, Vixie      Expires 970525                     [Page 6]
  334.  
  335. INTERNET-DRAFT      Classless IN-ADDR.ARPA delegation      November 1996
  336.  
  337.  
  338.    $ORIGIN 2.0.192.in-addr.arpa.
  339.    @         IN   SOA  my-ns.my.domain. hostmaster.my.domain. ( ... )
  340.    ; ...
  341.    1              CNAME     1.2.0.192.in-addr.A.domain.
  342.    2              CNAME     2.2.0.192.in-addr.A.domain.
  343.  
  344.    $ORIGIN A.domain.
  345.    @         IN   SOA  my-ns.A.domain. hostmaster.A.domain. ( ... )
  346.    ; ...
  347.    ;
  348.    host1               A    192.0.2.1
  349.    1.2.0.192.in-addr   PTR  host1
  350.    host2               A    192.0.2.2
  351.    2.2.0.192.in-addr   PTR  host2
  352.  
  353.    It is clear that many possibilities exist which can be adapted to the
  354.    specific requirements of the situation at hand.
  355.  
  356. 5.3 Other operational issues
  357.  
  358.    Note that one cannot provide CNAME referrals twice for the same
  359.    address space, i.e. you cannot allocate a /25 prefix to one
  360.    organisation, and run IN-ADDR.ARPA this way, and then have the
  361.    organisation subnet the /25 into longer prefixes, and attempt to
  362.    employ the same technique to give each subnet control of its own
  363.    number space. This would result in a CNAME record pointing to a CNAME
  364.    record, which may be less robust overall.
  365.  
  366.    Unfortunately, some old beta releases of the popular DNS name server
  367.    implementation BIND 4.9.3 had a bug which caused problems if a CNAME
  368.    record was encountered when a reverse lookup was made.  The beta
  369.    releases involved have since been obsoleted, and this issue is
  370.    resolved in the released code.  Some software manufacturers have
  371.    included the defective beta code in their product. In the few cases
  372.    we know of, patches from the manufacturers are available or planned
  373.    to replace the obsolete beta code involved.
  374.  
  375. 6. Security Considerations
  376.  
  377.    Security considerations are not discussed in this memo.
  378.  
  379. 7. Conclusion
  380.  
  381.    The suggested scheme gives more flexibility in delegating authority
  382.    in the IN-ADDR.ARPA domain, thus making it possible to assign address
  383.    space more efficiently without losing the ability to delegate the DNS
  384.    authority over the corresponding address to name mappings.
  385.  
  386.  
  387.  
  388.  
  389. Eidnes, de Groot, Vixie      Expires 970525                     [Page 7]
  390.  
  391. INTERNET-DRAFT      Classless IN-ADDR.ARPA delegation      November 1996
  392.  
  393.  
  394. 8. Acknowledgments
  395.  
  396.    Glen A. Herrmannsfeldt described this trick on comp.protocols.tcp-
  397.    ip.domains some time ago.  Alan Barrett and Sam Wilson provided
  398.    valuable comments on the newsgroup.
  399.  
  400.    We would like to thank Rob Austein, Randy Bush, Matt Crawford, Glen
  401.    A. Herrmannsfeldt, Daniel Karrenberg, David Kessens, Tony Li, Paul
  402.    Mockapetris, Eric Wassenaar, Michael Patton, and Peter Koch for their
  403.    review and constructive comments.
  404.  
  405. 9. References
  406.  
  407. [1]  P. Mockapetris, ``Domain Names - Concepts and Facilities'',
  408.      RFC1034, ISI, November 1987.
  409.  
  410. [2]  P. Mockapetris, ``DNS Encoding of Network Names and Other Types'',
  411.      RFC1101, ISI, April 1989.
  412.  
  413. [3]  K. Harrenstien, M. Stahl, E. Feinler, ``DoD Internet Host Table
  414.      Specification'', RFC952, SRI, October 1985.
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445. Eidnes, de Groot, Vixie      Expires 970525                     [Page 8]
  446.  
  447. INTERNET-DRAFT      Classless IN-ADDR.ARPA delegation      November 1996
  448.  
  449.  
  450.    10. Author's Addresses
  451.  
  452.    Havard Eidnes
  453.    SINTEF RUNIT
  454.    N-7034 Trondheim
  455.    Norway
  456.  
  457.    Phone: +47 73 59 44 68
  458.    Fax: +47 73 59 17 00
  459.  
  460.    Email: Havard.Eidnes@runit.sintef.no
  461.  
  462.  
  463.    Geert Jan de Groot
  464.    RIPE Network Coordination Centre
  465.    Kruislaan 409
  466.    1098 SJ Amsterdam
  467.    the Netherlands
  468.  
  469.    Phone: +31 20 592 5065
  470.    Fax: +31 20 592 5090
  471.  
  472.    Email: GeertJan.deGroot@ripe.net
  473.  
  474.  
  475.    Paul Vixie
  476.    Internet Software Consortium
  477.    Star Route Box 159A
  478.    Woodside, CA 94062
  479.    USA
  480.  
  481.    Phone: +1 415 747 0204
  482.  
  483.    Email: paul@vix.com
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501. Eidnes, de Groot, Vixie      Expires 970525                     [Page 9]
  502.  
  503.