home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1900s / rfc1931.txt < prev    next >
Text File  |  1996-03-31  |  28KB  |  620 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        D. Brownell
  8. Request For Comments: 1931                        Sun Microsystems, Inc.
  9. Category: Informational                                       April 1996
  10.  
  11.  
  12.                       Dynamic RARP Extensions for
  13.                  Automatic Network Address Acquisition
  14.  
  15. Status of this Memo
  16.  
  17.    This memo provides information for the Internet community.  This memo
  18.    does not define an Internet standard of any kind.  Distribution of
  19.    this memo is unlimited.
  20.  
  21. 1.  Introduction
  22.  
  23.    This memo describes extensions to the Reverse Address Resolution
  24.    Protocol (RARP [2]) and called Dynamic RARP (DRARP, pronounced D-
  25.    RARP).  The role of DRARP, and to some extent the configuration
  26.    protocol used in conjunction with it, has subsequently been addressed
  27.    by the DHCP protocol [9].  This memo is being published now to
  28.    document this protocol for the record.
  29.  
  30.    DRARP is used to acquire (or allocate) a protocol level address given
  31.    the fixed hardware address for a host.  Its clients are systems being
  32.    installed or reconfigured, and its servers are integrated with other
  33.    network administration services.  The protocol, along with adjunct
  34.    protocols as briefly described here, supports several common styles
  35.    of "Intranet" administration including networks which choose not to
  36.    support the simplified installation and reconfiguration features
  37.    enabled by DRARP.
  38.  
  39.    The rest of this introductory section summarizes the system design of
  40.    which the DRARP protocol was a key part.  The second section presents
  41.    the DRARP protocol, and the third section discusses requirements
  42.    noted for an "Address Authority" managing addresses in conjunction
  43.    with one or more cooperating DRARP servers.
  44.  
  45. 1.1  Automatic System Installation
  46.  
  47.    Dynamic RARP was used by certain Sun Microsystems platforms beginning
  48.    in 1988.  (These platforms are no longer sold by Sun.) In conjunction
  49.    with other administrative protocols, as summarized in the next
  50.    subsection, it was part of a simplified network and domain
  51.    administration framework for SunOS 4.0.  Accordingly, there was a
  52.    product requirement to extend (rather than replace) the RARP/TFTP two
  53.    phase booting model [3], in order to leverage the existing system
  54.    infrastructure.  This is in contrast to the subsequent DHCP [9] work,
  55.  
  56.  
  57.  
  58. Brownell                     Informational                      [Page 1]
  59.  
  60. RFC 1931                      Dynamic RARP                    April 1996
  61.  
  62.  
  63.    which extended BOOTP.
  64.  
  65.    The "hands-off" installation of all kinds of systems (including
  66.    diskless workstations, and servers) was required, as supported by
  67.    LocalTalk networks [8].  However, Internet administrative models are
  68.    not set up to allow that: there is no way to set up a completely
  69.    functional IP network by just plugging machines into a cable and
  70.    powering them up.  That procedure doesn't have a way to input the
  71.    network number (and class) that must be used, or to bootstrap the
  72.    host naming system.  An approach based on administered servers was
  73.    needed for IP-based "Intranet" systems, even though that
  74.    unfortunately called for networks to be initially set up by
  75.    knowledgeable staff before any "hands-off" installations could be
  76.    performed.
  77.  
  78. 1.2  System Overview
  79.  
  80.    DRARP was used by systems in the first phase of joining a network, to
  81.    acquire a network address without personal intervention by a network
  82.    administrator.  Once a system was given a network address, it would
  83.    perform whatever network operations it desired, subject to a site's
  84.    access control policies.  During system installation, those network
  85.    operations involved a (re)configuration protocol ("Plug'n'Play", or
  86.    PNP).  Diskless sytems used TFTP to download code which could speak
  87.    the PNP protocol.
  88.  
  89.    The PNP protocol would register the names of newly installed hosts in
  90.    the naming service, using the address which was acquired using DRARP.
  91.    These names could be chosen by users installing the system, but could
  92.    also be assigned automatically.  Diskless systems used the PNP
  93.    protocol to assign booting resources (e.g. filesystem space) on
  94.    servers.  All systems were assigned public and private keys, also
  95.    initial (quasi-secret) "root" passwords, so that they could use what
  96.    was then the strongest available ONC RPC authentication system.
  97.  
  98.    Servers for DRARP and for the configuration protocol (as well as
  99.    other administrative tools) needed to consult an authoritative
  100.    database of which Internet addresses which were allocated to which
  101.    hosts (as identified by hardware addresses).  This "address
  102.    authority" role was implemented using a name service (NIS) and an
  103.    RPC-based centralized IP address allocation protocol ("IPalloc").
  104.    Address allocation could be performed only by authorized users,
  105.    including network administrators and DRARP servers.
  106.  
  107.    Most systems used DRARP and PNP each time they started, to
  108.    automatically reconfigure applicable system and network policies.
  109.    For example, network addresses and numbers were changed using these
  110.    protocols; host names changed less often.  The naming service (NIS)
  111.  
  112.  
  113.  
  114. Brownell                     Informational                      [Page 2]
  115.  
  116. RFC 1931                      Dynamic RARP                    April 1996
  117.  
  118.  
  119.    held most information, such as the locations of printers and users'
  120.    home directories.
  121.  
  122. 2.  Dynamic RARP Extensions
  123.  
  124.    Dynamic RARP (DRARP) service is provided by any of a small active set
  125.    of cooperating server systems on a network segment (network or
  126.    subnetwork).  Those servers are contacted through link level
  127.    procedures, normally a packet broadcast.  One or more servers may
  128.    respond to a given request.  It was intended that network segments
  129.    will be administered together in domains [5] consisting of one or
  130.    more network segments.  Domains sharing a network segment need to
  131.    share information about network addresses, both hardware level and
  132.    protocol level, so an address authority (see section 3) can avoid
  133.    reallocating protocol addresses which are already allocated or in
  134.    use.
  135.  
  136.    Dynamic RARP benefits from link layer addresses which are scoped more
  137.    widely than just the local network segment.  It takes advantage of
  138.    such scoping to detect hosts which move between network segments.
  139.    Such scoping is provided by IEEE 802 48-bit addresses [7], but not by
  140.    all other kinds of network address.  Without such a widely scoped ID,
  141.    the case of systems roaming between networks can't be detected by
  142.    Dynamic RARP.
  143.  
  144. 2.1  Mixing RARP and DRARP Servers
  145.  
  146.    DRARP is an extension to RARP, so that all Dynamic RARP servers are
  147.    also RARP servers.  However, DRARP provides a more manageable service
  148.    model than RARP does:  while RARP allows multiple servers to respond
  149.    to RARP requests, it does not expect all those servers to be able to
  150.    respond, or to respond identically.  A given RARP server can not be
  151.    relied upon to know whether a given link level address can be mapped
  152.    into a protocol address, and some other RARP server may have a
  153.    different answer.
  154.  
  155.    Dynamic RARP addresses this problem by requiring that all Dynamic
  156.    RARP servers on a network segment must communicate with the same
  157.    address authority.  That address authority controls name and address
  158.    bindings, records bindings between host identifiers and addresses,
  159.    makes decisions about how to allocate addresses, and keeps records
  160.    about addresses in use.
  161.  
  162.    This means that in effect there may be a number of independent RARP
  163.    services offered along with a single DRARP service.  DRARP service
  164.    may well be offered through multiple servers, and the persistent
  165.    address bindings it serves will be accessible as from a set of
  166.    coordinated RARP servers.
  167.  
  168.  
  169.  
  170. Brownell                     Informational                      [Page 3]
  171.  
  172. RFC 1931                      Dynamic RARP                    April 1996
  173.  
  174.  
  175.    Not all networks want to support dynamic address allocation services.
  176.    Even those that do support it will need control over implementation
  177.    of the address authority.  So DRARP servers need policy controls such
  178.    as "restricting" them from assigning addresses (applied to an entire
  179.    network segment) as well as disabling use of DRARP entirely.  (One
  180.    may need to disable servers that would otherwise allocate new
  181.    addresses, in order to enable ones which can speak to the "correct"
  182.    address authority.  Standards do not exist for protocols and security
  183.    options used to talk to address authorities.)
  184.  
  185. 2.2  Packet Format
  186.  
  187.    The packet format is identical to RARP and is encapsulated using RARP
  188.    frames, with the same Ethernet/SNAP type field.  [1, 2, 6].  That is,
  189.    a DRARP packet looks like a RARP packet, but it uses opcodes which
  190.    are ignored by RARP servers; DRARP servers must also support RARP
  191.    requests, and hence ARP requests [1].
  192.  
  193. 2.2.1  RARP Packets
  194.  
  195.    The two RARP opcodes are described here, in order to clarify the
  196.    overall presentation.  The name "REVARP", used in the opcode
  197.    descriptions, is a synonym for "RARP".
  198.  
  199.    REVARP_REQUEST (3)
  200.         REVARP_REQUEST packets are sent to RARP servers as a request to
  201.         map the target hardware address (tha) into the corresponding
  202.         target protocol address (tpa), sending the response to the
  203.         source hardware address (sha) as encoded in the packet.  The
  204.         source hardware address will usually be the same as the target
  205.         hardware address, that of the system sending the packet.  RARP
  206.         servers will consult their name and address databases, and
  207.         return a REVARP_REPLY packet if they can perform the reverse
  208.         address resolution as requested.
  209.  
  210.    REVARP_REPLY (4)
  211.         This packet is sent by RARP servers in response to
  212.         REVARP_REQUEST packets.  The target protocol address (tpa) is
  213.         filled in as requested, and the source hardware and protocol
  214.         addresses (sha, spa) correspond to the RARP server.  The target
  215.         hardware address (tha) is from the corresponding REVARP_REQUEST
  216.         packet, and the packet is sent to the source hardware address
  217.         (sha) from that packet.
  218.  
  219.         This packet is also sent by Dynamic RARP servers in response to
  220.         DRARP_REQUEST packets, if the protocol address returned was not
  221.         a temporary one, but was instead what it would have returned
  222.         given an otherwise identical REVARP_REQUEST packet.
  223.  
  224.  
  225.  
  226. Brownell                     Informational                      [Page 4]
  227.  
  228. RFC 1931                      Dynamic RARP                    April 1996
  229.  
  230.  
  231. 2.2.2  Dynamic RARP Packets
  232.  
  233.         There are three opcodes defined for DRARP, in addition to the
  234.         two already defined for RARP:
  235.  
  236.    DRARP_REQUEST (5)
  237.         DRARP_REQUEST packets have the same format as REVARP_REQUEST
  238.         packets, except for the operation code.  The semantics are simi-
  239.         lar, except that in cases where a REVARP_REQUEST would produce
  240.         no REVARP_REPLY (no persistent address mapping is stored in an
  241.         addressing database) a DRARP_REQUEST will normally return a tem-
  242.         porary address allocation in a DRARP_REPLY packet.  A
  243.         DRARP_ERROR packet may also be returned; a Dynamic RARP server
  244.         will always provide a response, unlike a REVARP server.
  245.  
  246.    DRARP_REPLY (6)
  247.         DRARP_REPLY packets have the same format, opcode excepted, as
  248.         REVARP_REPLY packets.  The interpretation of the fields is the
  249.         same.
  250.  
  251.         There are semantic differences between the two packet types.
  252.         First, the protocol address bindings returned in DRARP_REPLY
  253.         packets are temporary ones, which will be recycled after some
  254.         period (e.g. an hour).  Those bindings returned in REVARP_REPLY
  255.         packets are "persistent" addresses which typically change much
  256.         more slowly.  Second, it is explicitly a protocol error for
  257.         DRARP_REPLY packets to be sent which differ except in the sender
  258.         address fields.  Also, DRARP_REPLY packets are generated only in
  259.         response to DRARP_REQUEST packets.
  260.  
  261.         These temporary addresses may be reallocated to another system
  262.         after some time period.  A configuration protocol is normally
  263.         used to ensure that reallocation does not occur.
  264.  
  265.    DRARP_ERROR (7)
  266.         DRARP_ERROR packets may also be sent in response to
  267.         DRARP_REQUESTs.  The format is identical to REVARP_REPLY, except
  268.         for the opcode and that the target protocol address (tpa) field
  269.         is replaced by an error code field.  The error code field must
  270.         be at least one byte long, and the first byte is used to encode
  271.         an error status describing why no target protocol address (tpa)
  272.         is being returned.  The status values are:
  273.  
  274.         DRARPERR_RESTRICTED (1)
  275.              This network does not support dynamic address allocation.
  276.              The response is definitive; the network is controlled so
  277.              that no other DRARP_REPLY (for this hardware address) is
  278.              legal until the network policy on dynamic address
  279.  
  280.  
  281.  
  282. Brownell                     Informational                      [Page 5]
  283.  
  284. RFC 1931                      Dynamic RARP                    April 1996
  285.  
  286.  
  287.              allocation is changed, or until the client is otherwise
  288.              assigned a persistent address binding.  A REVARP_REQUEST
  289.              might yield a REVARP_REPLY, however; non-cooperating RARP
  290.              servers could be the very reason that dynamic address allo-
  291.              cation was disabled.
  292.  
  293.         DRARPERR_NOADDRESSES (2)
  294.              This network supports dynamic address allocation, but all
  295.              available protocol addresses in the local segment are in
  296.              use, so none can be allocated now.
  297.  
  298.         DRARPERR_SERVERDOWN (3)
  299.              The service providing access to the address authority is
  300.              temporarily unavailable.  May also be returned if an
  301.              address allocation was required and the required response
  302.              took a "long time" to generate; this distinguishes the case
  303.              of a network that didn't support DRARP from the case of one
  304.              that does, but is slow.
  305.  
  306.         DRARPERR_MOVED (4)
  307.              Analogous to the DRARPERR_RESTRICTED status in that no
  308.              address was dynamically allocated.  This provides the addi-
  309.              tional status that this client was recognized by the
  310.              administration software for the domain as being on a dif-
  311.              ferent network segment than expected; users will be able to
  312.              remedy the problem by connecting the system to the correct
  313.              network segment.
  314.  
  315.         DRARPERR_FAILURE (5)
  316.              For some reason, no address could be returned.  No defined
  317.              status code known to the server explained the reason.
  318.  
  319.    More opcodes for the Address Resolution Protocol (ARP) family could
  320.    be defined in the future, so unrecognized opcodes (and error codes)
  321.    should be ignored rather than treated as errors.
  322.  
  323. 2.3  Protocol Exchanges
  324.  
  325.    This section describes typical protocol exchanges using RARP and
  326.    Dynamic RARP, and common fault modes of each exchange.
  327.  
  328. 2.3.1.  RARP Address Lookup
  329.  
  330.    To determine a previously published ("persistent") protocol address
  331.    for itself or another system, a system may issue a REVARP_REQUEST
  332.    packet.  If a REVARP_REPLY packet arrives in response, then the
  333.    target protocol address listed there should be used.
  334.  
  335.  
  336.  
  337.  
  338. Brownell                     Informational                      [Page 6]
  339.  
  340. RFC 1931                      Dynamic RARP                    April 1996
  341.  
  342.  
  343.    If no REVARP_REPLY response packet arrives within some time interval,
  344.    a number of errors may have occurred.  The simplest one is that the
  345.    request or reply packet may never have arrived:  most RARP client
  346.    implementations retransmit requests to partially account for this
  347.    error.  There is no clear point at which to stop retransmitting a
  348.    request, so many implementations apply an exponential backoff to the
  349.    retransmit interval, to reduce what is typically broadcast traffic.
  350.  
  351.    Otherwise there are many different errors which all have the same
  352.    failure mode, including: the system might not have a published
  353.    protocol address; it might be on the wrong network segment, so its
  354.    published address is invalid; the RARP servers which can supply the
  355.    published address may be unavailable; it might even be on a network
  356.    without any RARP servers at all.
  357.  
  358. 2.3.2  Dynamic RARP Address Lookup
  359.  
  360.    Dynamic RARP may be used to determine previously published protocol
  361.    addresses by clients who issue DRARP_REQUEST packets.  If the client
  362.    has a published protocol address on the network segment on which the
  363.    DRARP_REQUEST packet was issued, it is returned in a REVARP_REPLY
  364.    packet.
  365.  
  366.    If the client has a published protocol address only on some other
  367.    network segment, then two basic responses are possible.  In the case
  368.    where dynamic address reallocation is enabled, a temporary protocol
  369.    address may be allocated and returned in a DRARP_REPLY packet.
  370.    Otherwise if dynamic address reallocation is disabled, a DRARP_ERROR
  371.    packet is returned with the status DRARPERR_MOVED.  Detection of host
  372.    movement can be provided only with link level addresses that are
  373.    unique over the catenet, such as are provided with IEEE 802 48 bit
  374.    addresses.  Without such uniqueness guarantees, this case looks like
  375.    a request for a new address as described in the next section.
  376.  
  377. 2.3.3  Dynamic RARP Address Allocation
  378.  
  379.    Dynamic RARP clients who issue DRARP_REQUEST packets may acquire
  380.    newly allocated protocol addresses.  If the client has no published
  381.    protocol address, there are three responses:
  382.  
  383.    (a)  When dynamic address allocation is enabled, a temporary protocol
  384.         address is allocated and returned in a DRARP_REPLY packet.
  385.  
  386.    (b)  Errors or delays in the allocation process (with dynamic address
  387.         allocation enabled) are reported in DRARP_ERROR packets with
  388.         error codes such as DRARPERR_SERVERDOWN, DRARPERR_NOADDRESSES,
  389.         DRARPERR_MOVED, or even DRARPERR_FAILURE.
  390.  
  391.  
  392.  
  393.  
  394. Brownell                     Informational                      [Page 7]
  395.  
  396. RFC 1931                      Dynamic RARP                    April 1996
  397.  
  398.  
  399.    (c)  When dynamic address allocation is disabled (or "restricted"), a
  400.         DRARP_ERROR packet with status DRARPERR_RESTRICTED is returned.
  401.  
  402.         DRARP_REQUESTS are normally retransmitted until an address is
  403.         returned, using backoff-style algorithms to minimize needless
  404.         network traffic.  When DRARP_ERROR responses are received, they
  405.         should be reported to the user.  For example, knowing that the
  406.         server is busy could indicate it's time for a cup of Java, but
  407.         if the network is restricted then it might be time to contact a
  408.         network administrator for help instead.
  409.  
  410. 2.3.4  Discovering Other DRARP Servers
  411.  
  412.         The existence of a DRARP server can be discovered by the fact
  413.         that it puts its addressing information in all DRARP_REPLY
  414.         packets that it sends.  DRARP servers can listen for such
  415.         packets, as well as announcing themselves by sending such a
  416.         packet to themselves.
  417.  
  418.         It can be important to discover other DRARP servers.  Users make
  419.         mistakes, and can inappropriately set up DRARP servers that do
  420.         not coordinate their address allocation with that done by the
  421.         other DRARP servers on their network segment.  That causes
  422.         significant administrative problems, which can all but be
  423.         eliminated by DRARP servers which politely announce themselves,
  424.         and when they detect an apparently spurious server, report this
  425.         fact before entering a "restricted" mode to avoid creating any
  426.         problems themselves.
  427.  
  428.         As no further server-to-server protocol is defined here, some
  429.         out-of-band mechanism, such as communication through the address
  430.         authority, must be used to help determine which servers are in
  431.         fact spurious.
  432.  
  433. 2.4  Network Setup Concerns
  434.  
  435.         Some internetwork environments connect multiple network segments
  436.         using link level bridges or routers.  In such environments, a
  437.         given broadcast accessible "local" area network will have two
  438.         problems worth noting.
  439.  
  440.         First, it will extend over several cable segments, and be
  441.         subject to partitioning faults.  Assigning one DRARP server to
  442.         each segment (perhaps on systems acting as routers or bridges,
  443.         to serve multiple segments) can reduce the cost of such faults.
  444.         Assigning more than one such server can help reduce the cost of
  445.         failure to any single network segment; these cooperate in the
  446.         assignment of addresses through the address authority.
  447.  
  448.  
  449.  
  450. Brownell                     Informational                      [Page 8]
  451.  
  452. RFC 1931                      Dynamic RARP                    April 1996
  453.  
  454.  
  455.         Second, those networks are sometimes shared by organizations
  456.         which don't cooperate much on the management of protocol
  457.         addresses, or perhaps aren't even collocated.  A DRARP server
  458.         might need help from link level bridges/routers in order to
  459.         ensure that local clients are tied to local servers (rather
  460.         than, for example, to servers across the country where they are
  461.         prone to availability problems).  Or the server might need to
  462.         run in "restricted" mode so that a network administrator
  463.         manually assigns address and other resources to each system.
  464.  
  465. 3.  The Address Authority
  466.  
  467.         While not part of the DRARP protocol, the Address Authority used
  468.         by the DRARP servers on a network segment is critical to
  469.         providing the address allocation functionality.  It manages the
  470.         data needed to implement such service, which is required not
  471.         just for dynamic address allocation tools.  This section is
  472.         provided to record one set of requirements for such an
  473.         authority, ignoring implementation isssues such as whether
  474.         protocol support for replication or partitioning is needed.
  475.  
  476. 3.1  Basic Requirements
  477.  
  478.         For each network segment under its control, an Address Authority
  479.         maintains at least:
  480.  
  481.         -    persistent bindings between hardware and protocol addresses
  482.              (for at least those hosts which are DRARP clients);
  483.  
  484.         -    temporary bindings between such addresses;
  485.  
  486.         -    protocol addresses available for temporary bindings;
  487.  
  488.    The Address Authority is also responsible for presenting and managing
  489.    those bindings.  DRARP clients need it to support:
  490.  
  491.         -    creating temporary bindings initially,
  492.  
  493.         -    looking up bindings (the distinction between temporary and
  494.              persistent bindings is not usually significant here),
  495.  
  496.         -    deleting temporary or persistent bindings on request,
  497.  
  498.         -    purging them automatically by noticing that a binding is
  499.              now persistent or that the temporary address is available
  500.              for reuse.
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Brownell                     Informational                      [Page 9]
  507.  
  508. RFC 1931                      Dynamic RARP                    April 1996
  509.  
  510.  
  511.    Those clients will frequently make concurrent requests, and should be
  512.    required to pass some kind of authorization check before they create
  513.    or change any bindings.  They may also need to know about other
  514.    clients, in order to determine (for example) if a given DRARP server
  515.    is spurious.
  516.  
  517. 3.2  Multiple Authorities and Segments
  518.  
  519.    Note there is only a single address authority on a given network
  520.    segment.  It may be desirable to partition that authority, though
  521.    that complicates implementation and administration of the authority
  522.    substantially.
  523.  
  524.    If detection of systems moving between network segments is to be
  525.    provided, then the authorities for those two network segments must
  526.    either be the same or (equivalently) must communicate with one
  527.    another.  Also, as noted earlier, hardware addresses must be scoped
  528.    widely enough that the two segments do not assign the same link level
  529.    address to different hosts.
  530.  
  531. 3.3  Quality of Service
  532.  
  533.    The records of temporary address bindings must be persistent for at
  534.    least long enough to install a system and propagate its records
  535.    through the site's administrative databases, even in the case of
  536.    server or network faults.  A timeout mechanism could be used to
  537.    ensure that the limited address space was not used up too quickly.
  538.    The initial implementation found that an hour's worth of caching,
  539.    before deleting temporary bindings, was sufficient.
  540.  
  541.    Experience has shown that many networks have addresses in use which
  542.    are not listed in their name services (or other administrative
  543.    databases).  On such networks, the Address Authority should have a
  544.    way to learn when an address which it thinks is available for
  545.    allocation is instead being actively used.  Probing the network for
  546.    "the truth" before handing out what turns out to be a duplicate IP
  547.    address is a worthwhile.  Both ARPing for the address and ICMP echo
  548.    request have been used for this.
  549.  
  550. 4.  Security Considerations
  551.  
  552.    Security concerns are not addressed in this memo.  They are
  553.    recognized as significant, but they also interact with site-specific
  554.    network administration policies.  Those policies need to be addressed
  555.    at higher levels before ramifications at this level can be
  556.    understood.
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Brownell                     Informational                     [Page 10]
  563.  
  564. RFC 1931                      Dynamic RARP                    April 1996
  565.  
  566.  
  567. 5.  References
  568.  
  569.    [1]  Plummer, D., "An Ethernet Address Resolution Protocol", STD 37,
  570.         RFC 826, MIT, November 1982.
  571.  
  572.    [2]  Finlayson, R., Mann, T., Mogul, J., and M. Theimer, "A Reverse
  573.         Address Resolution Protocol", STD 38, RFC 903, Stanford, June
  574.         1984.
  575.  
  576.    [3]  Finlayson, R., "Bootstrap Loading using TFTP", RFC 906,
  577.         Stanford, June 1984.
  578.  
  579.    [4]  Postel, J., "Multi-LAN Address Resolution", RFC 925,
  580.         USC/Information Sciences Institute, October 1984.
  581.  
  582.    [5]  Mockapetris, P., "Domain Names -- Concepts and Facilities", STD
  583.         13, RFC 1034, USC/Information Sciences Institute, November 1987.
  584.  
  585.    [6]  Postel, J., and J. Reynolds, "A Standard for the Transmission of
  586.         IP Datagrams over IEEE802 Networks", STD 43, RFC 1042,
  587.         USC/Information Sciences Institute, February 1988.
  588.  
  589.    [7]  IEEE; "IEEE Standards for Local Area Networks:  Logical Link
  590.         Control" (IEEE 802.2); IEEE, New York, NY; 1985.
  591.  
  592.    [8]  United States Patent No. 4,689,786; "Local Area Network with
  593.         Self Assigned Address Method"; Issued August 25, 1987;
  594.         Inventors:  Sidhu, et al.; Assignee:  Apple Computer, Inc.
  595.  
  596.    [9]  Droms, R., "Dynamic Host Configuration Protocol", RFC 1541,
  597.         Bucknell University, October 1993.
  598.  
  599.    [10] Srinivasan, R., "RPC:  Remote Procedure Call Protocol
  600.         Specification, Version 2", RFC 1831, Sun Microsystems, August
  601.         1995.
  602.  
  603. Author's Address:
  604.  
  605.    David Brownell
  606.    SunSoft, Inc
  607.    2550 Garcia Way, MS 19-215
  608.    Mountain View, CA  94043
  609.  
  610.    Phone:  +1-415-336-1615
  611.    EMail:  dbrownell@sun.com
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Brownell                     Informational                     [Page 11]
  619.  
  620.