rfc1931.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 620 行 · 第 1/2 页

TXT
620
字号






Network Working Group                                        D. Brownell
Request For Comments: 1931                        Sun Microsystems, Inc.
Category: Informational                                       April 1996


                      Dynamic RARP Extensions for
                 Automatic Network Address Acquisition

Status of this Memo

   This memo provides information for the Internet community.  This memo
   does not define an Internet standard of any kind.  Distribution of
   this memo is unlimited.

1.  Introduction

   This memo describes extensions to the Reverse Address Resolution
   Protocol (RARP [2]) and called Dynamic RARP (DRARP, pronounced D-
   RARP).  The role of DRARP, and to some extent the configuration
   protocol used in conjunction with it, has subsequently been addressed
   by the DHCP protocol [9].  This memo is being published now to
   document this protocol for the record.

   DRARP is used to acquire (or allocate) a protocol level address given
   the fixed hardware address for a host.  Its clients are systems being
   installed or reconfigured, and its servers are integrated with other
   network administration services.  The protocol, along with adjunct
   protocols as briefly described here, supports several common styles
   of "Intranet" administration including networks which choose not to
   support the simplified installation and reconfiguration features
   enabled by DRARP.

   The rest of this introductory section summarizes the system design of
   which the DRARP protocol was a key part.  The second section presents
   the DRARP protocol, and the third section discusses requirements
   noted for an "Address Authority" managing addresses in conjunction
   with one or more cooperating DRARP servers.

1.1  Automatic System Installation

   Dynamic RARP was used by certain Sun Microsystems platforms beginning
   in 1988.  (These platforms are no longer sold by Sun.) In conjunction
   with other administrative protocols, as summarized in the next
   subsection, it was part of a simplified network and domain
   administration framework for SunOS 4.0.  Accordingly, there was a
   product requirement to extend (rather than replace) the RARP/TFTP two
   phase booting model [3], in order to leverage the existing system
   infrastructure.  This is in contrast to the subsequent DHCP [9] work,



Brownell                     Informational                      [Page 1]

RFC 1931                      Dynamic RARP                    April 1996


   which extended BOOTP.

   The "hands-off" installation of all kinds of systems (including
   diskless workstations, and servers) was required, as supported by
   LocalTalk networks [8].  However, Internet administrative models are
   not set up to allow that: there is no way to set up a completely
   functional IP network by just plugging machines into a cable and
   powering them up.  That procedure doesn't have a way to input the
   network number (and class) that must be used, or to bootstrap the
   host naming system.  An approach based on administered servers was
   needed for IP-based "Intranet" systems, even though that
   unfortunately called for networks to be initially set up by
   knowledgeable staff before any "hands-off" installations could be
   performed.

1.2  System Overview

   DRARP was used by systems in the first phase of joining a network, to
   acquire a network address without personal intervention by a network
   administrator.  Once a system was given a network address, it would
   perform whatever network operations it desired, subject to a site's
   access control policies.  During system installation, those network
   operations involved a (re)configuration protocol ("Plug'n'Play", or
   PNP).  Diskless sytems used TFTP to download code which could speak
   the PNP protocol.

   The PNP protocol would register the names of newly installed hosts in
   the naming service, using the address which was acquired using DRARP.
   These names could be chosen by users installing the system, but could
   also be assigned automatically.  Diskless systems used the PNP
   protocol to assign booting resources (e.g. filesystem space) on
   servers.  All systems were assigned public and private keys, also
   initial (quasi-secret) "root" passwords, so that they could use what
   was then the strongest available ONC RPC authentication system.

   Servers for DRARP and for the configuration protocol (as well as
   other administrative tools) needed to consult an authoritative
   database of which Internet addresses which were allocated to which
   hosts (as identified by hardware addresses).  This "address
   authority" role was implemented using a name service (NIS) and an
   RPC-based centralized IP address allocation protocol ("IPalloc").
   Address allocation could be performed only by authorized users,
   including network administrators and DRARP servers.

   Most systems used DRARP and PNP each time they started, to
   automatically reconfigure applicable system and network policies.
   For example, network addresses and numbers were changed using these
   protocols; host names changed less often.  The naming service (NIS)



Brownell                     Informational                      [Page 2]

RFC 1931                      Dynamic RARP                    April 1996


   held most information, such as the locations of printers and users'
   home directories.

2.  Dynamic RARP Extensions

   Dynamic RARP (DRARP) service is provided by any of a small active set
   of cooperating server systems on a network segment (network or
   subnetwork).  Those servers are contacted through link level
   procedures, normally a packet broadcast.  One or more servers may
   respond to a given request.  It was intended that network segments
   will be administered together in domains [5] consisting of one or
   more network segments.  Domains sharing a network segment need to
   share information about network addresses, both hardware level and
   protocol level, so an address authority (see section 3) can avoid
   reallocating protocol addresses which are already allocated or in
   use.

   Dynamic RARP benefits from link layer addresses which are scoped more
   widely than just the local network segment.  It takes advantage of
   such scoping to detect hosts which move between network segments.
   Such scoping is provided by IEEE 802 48-bit addresses [7], but not by
   all other kinds of network address.  Without such a widely scoped ID,
   the case of systems roaming between networks can't be detected by
   Dynamic RARP.

2.1  Mixing RARP and DRARP Servers

   DRARP is an extension to RARP, so that all Dynamic RARP servers are
   also RARP servers.  However, DRARP provides a more manageable service
   model than RARP does:  while RARP allows multiple servers to respond
   to RARP requests, it does not expect all those servers to be able to
   respond, or to respond identically.  A given RARP server can not be
   relied upon to know whether a given link level address can be mapped
   into a protocol address, and some other RARP server may have a
   different answer.

   Dynamic RARP addresses this problem by requiring that all Dynamic
   RARP servers on a network segment must communicate with the same
   address authority.  That address authority controls name and address
   bindings, records bindings between host identifiers and addresses,
   makes decisions about how to allocate addresses, and keeps records
   about addresses in use.

   This means that in effect there may be a number of independent RARP
   services offered along with a single DRARP service.  DRARP service
   may well be offered through multiple servers, and the persistent
   address bindings it serves will be accessible as from a set of
   coordinated RARP servers.



Brownell                     Informational                      [Page 3]

RFC 1931                      Dynamic RARP                    April 1996


   Not all networks want to support dynamic address allocation services.
   Even those that do support it will need control over implementation
   of the address authority.  So DRARP servers need policy controls such
   as "restricting" them from assigning addresses (applied to an entire
   network segment) as well as disabling use of DRARP entirely.  (One
   may need to disable servers that would otherwise allocate new
   addresses, in order to enable ones which can speak to the "correct"
   address authority.  Standards do not exist for protocols and security
   options used to talk to address authorities.)

2.2  Packet Format

   The packet format is identical to RARP and is encapsulated using RARP
   frames, with the same Ethernet/SNAP type field.  [1, 2, 6].  That is,
   a DRARP packet looks like a RARP packet, but it uses opcodes which
   are ignored by RARP servers; DRARP servers must also support RARP
   requests, and hence ARP requests [1].

2.2.1  RARP Packets

   The two RARP opcodes are described here, in order to clarify the
   overall presentation.  The name "REVARP", used in the opcode
   descriptions, is a synonym for "RARP".

   REVARP_REQUEST (3)
        REVARP_REQUEST packets are sent to RARP servers as a request to
        map the target hardware address (tha) into the corresponding
        target protocol address (tpa), sending the response to the
        source hardware address (sha) as encoded in the packet.  The
        source hardware address will usually be the same as the target
        hardware address, that of the system sending the packet.  RARP
        servers will consult their name and address databases, and
        return a REVARP_REPLY packet if they can perform the reverse
        address resolution as requested.

   REVARP_REPLY (4)
        This packet is sent by RARP servers in response to
        REVARP_REQUEST packets.  The target protocol address (tpa) is
        filled in as requested, and the source hardware and protocol
        addresses (sha, spa) correspond to the RARP server.  The target
        hardware address (tha) is from the corresponding REVARP_REQUEST
        packet, and the packet is sent to the source hardware address
        (sha) from that packet.

        This packet is also sent by Dynamic RARP servers in response to
        DRARP_REQUEST packets, if the protocol address returned was not
        a temporary one, but was instead what it would have returned
        given an otherwise identical REVARP_REQUEST packet.



Brownell                     Informational                      [Page 4]

RFC 1931                      Dynamic RARP                    April 1996


2.2.2  Dynamic RARP Packets

        There are three opcodes defined for DRARP, in addition to the
        two already defined for RARP:

   DRARP_REQUEST (5)
        DRARP_REQUEST packets have the same format as REVARP_REQUEST
        packets, except for the operation code.  The semantics are simi-
        lar, except that in cases where a REVARP_REQUEST would produce
        no REVARP_REPLY (no persistent address mapping is stored in an
        addressing database) a DRARP_REQUEST will normally return a tem-
        porary address allocation in a DRARP_REPLY packet.  A
        DRARP_ERROR packet may also be returned; a Dynamic RARP server
        will always provide a response, unlike a REVARP server.

   DRARP_REPLY (6)
        DRARP_REPLY packets have the same format, opcode excepted, as
        REVARP_REPLY packets.  The interpretation of the fields is the
        same.

        There are semantic differences between the two packet types.
        First, the protocol address bindings returned in DRARP_REPLY
        packets are temporary ones, which will be recycled after some
        period (e.g. an hour).  Those bindings returned in REVARP_REPLY
        packets are "persistent" addresses which typically change much
        more slowly.  Second, it is explicitly a protocol error for
        DRARP_REPLY packets to be sent which differ except in the sender
        address fields.  Also, DRARP_REPLY packets are generated only in
        response to DRARP_REQUEST packets.

        These temporary addresses may be reallocated to another system
        after some time period.  A configuration protocol is normally
        used to ensure that reallocation does not occur.

   DRARP_ERROR (7)
        DRARP_ERROR packets may also be sent in response to
        DRARP_REQUESTs.  The format is identical to REVARP_REPLY, except
        for the opcode and that the target protocol address (tpa) field
        is replaced by an error code field.  The error code field must
        be at least one byte long, and the first byte is used to encode
        an error status describing why no target protocol address (tpa)
        is being returned.  The status values are:

        DRARPERR_RESTRICTED (1)
             This network does not support dynamic address allocation.
             The response is definitive; the network is controlled so
             that no other DRARP_REPLY (for this hardware address) is
             legal until the network policy on dynamic address



Brownell                     Informational                      [Page 5]

RFC 1931                      Dynamic RARP                    April 1996


             allocation is changed, or until the client is otherwise
             assigned a persistent address binding.  A REVARP_REQUEST
             might yield a REVARP_REPLY, however; non-cooperating RARP
             servers could be the very reason that dynamic address allo-
             cation was disabled.

        DRARPERR_NOADDRESSES (2)
             This network supports dynamic address allocation, but all
             available protocol addresses in the local segment are in
             use, so none can be allocated now.

        DRARPERR_SERVERDOWN (3)
             The service providing access to the address authority is
             temporarily unavailable.  May also be returned if an
             address allocation was required and the required response
             took a "long time" to generate; this distinguishes the case
             of a network that didn't support DRARP from the case of one
             that does, but is slow.

        DRARPERR_MOVED (4)
             Analogous to the DRARPERR_RESTRICTED status in that no
             address was dynamically allocated.  This provides the addi-
             tional status that this client was recognized by the
             administration software for the domain as being on a dif-

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?