⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1532.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 4 页
字号:






Network Working Group                                           W. Wimer
Request for Comments: 1532                    Carnegie Mellon University
Updates: 951                                                October 1993
Category: Standards Track


        Clarifications and Extensions for the Bootstrap Protocol

Status of this Memo

   This RFC specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" for the standardization state and status
   of this protocol.  Distribution of this memo is unlimited.

Abstract

   Some aspects of the BOOTP protocol were rather loosely defined in its
   original specification.  In particular, only a general description
   was provided for the behavior of "BOOTP relay agents" (originally
   called BOOTP forwarding agents").  The client behavior description
   also suffered in certain ways.  This memo attempts to clarify and
   strengthen the specification in these areas.

   In addition, new issues have arisen since the original specification
   was written.  This memo also attempts to address some of these.

Table of Contents

   1. Introduction.................................................  2
   1.1 Requirements................................................  2
   1.2 Terminology.................................................  3
   1.3 Data Transmission Order.....................................  4
   2. General Issues...............................................  5
   2.1 General BOOTP Processing....................................  5
   2.2 Definition of the 'flags' Field.............................  5
   2.3 Bit Ordering of Hardware Addresses..........................  7
   2.4 BOOTP Over IEEE 802.5 Token Ring Networks...................  8
   3. BOOTP Client Behavior........................................  9
   3.1 Client use of the 'flags' field.............................  9
   3.1.1 The BROADCAST flag........................................  9
   3.1.2 The remainder of the 'flags' field........................  9
   3.2 Definition of the 'secs' field..............................  9
   3.3 Use of the 'ciaddr' and 'yiaddr' fields..................... 10
   3.4 Interpretation of the 'giaddr' field........................ 11
   3.5 Vendor information "magic cookie"........................... 12
   4. BOOTP Relay Agents........................................... 13



Wimer                                                           [Page 1]

RFC 1532        Clarifications and Extensions for BOOTP     October 1993


   4.1 General BOOTP Processing for Relay Agents................... 13
   4.1.1 BOOTREQUEST Messages...................................... 14
   4.1.2 BOOTREPLY Messages........................................ 16
   5. BOOTP Server Behavior........................................ 18
   5.1 Reception of BOOTREQUEST Messages........................... 18
   5.2 Use of the 'secs' field..................................... 19
   5.3 Use of the 'ciaddr' field................................... 19
   5.4 Strategy for Delivery of BOOTREPLY Messages................. 19
   Acknowledgements................................................ 21
   References...................................................... 21
   Security Considerations......................................... 22
   Author's Address................................................ 22

1. Introduction

   The Bootstrap Protocol (BOOTP) is a UDP/IP-based protocol which
   allows a booting host to configure itself dynamically and without
   user supervision.  BOOTP provides a means to notify a host of its
   assigned IP address, the IP address of a boot server host, and the
   name of a file to be loaded into memory and executed [1].  Other
   configuration information such as the local subnet mask, the local
   time offset, the addresses of default routers, and the addresses of
   various Internet servers can also be communicated to a host using
   BOOTP [2].

   Unfortunately, the original BOOTP specification [1] left some issues
   of the protocol open to question.  The exact behavior of BOOTP relay
   agents formerly called "BOOTP forwarding agents") was not clearly
   specified.  Some parts of the overall protocol specification actually
   conflict, while other parts have been subject to misinterpretation,
   indicating that clarification is needed.  This memo addresses these
   problems.

   Since the introduction of BOOTP, the IEEE 802.5 Token Ring Network
   has been developed which presents a unique problem for BOOTP's
   particular message-transfer paradigm.  This memo also suggests a
   solution for this problem.

   NOTE: Unless otherwise specified in this document or a later
   document, the information and requirements specified througout this
   document also apply to extensions to BOOTP such as the Dynamic Host
   Configuration Protocol (DHCP) [3].

1.1 Requirements

   In this memo, the words that are used to define the significance of
   particular requirements are capitalized.  These words are:




Wimer                                                           [Page 2]

RFC 1532        Clarifications and Extensions for BOOTP     October 1993


      o "MUST"

        This word or the adjective "REQUIRED" means that the item
        is an absolute requirement of the specification.

      o "MUST NOT"

        This phrase means that the item is an absolute prohibition
        of the specification.

      o "SHOULD"

        This word or the adjective "RECOMMENDED" means that there
        may exist valid reasons in particular circumstances to
        ignore this item, but the full implications should be
        understood and the case carefully weighed before choosing a
        different course.

      o "SHOULD NOT"

        This phrase means that there may exist valid reasons in
        particular circumstances when the listed behavior is
        acceptable or even useful, but the full implications should
        be understood and the case carefully weighed before
        implementing any behavior described with this label.

      o "MAY"

        This word or the adjective "OPTIONAL" means that this item
        is truly optional.  One vendor may choose to include the
        item because a particular marketplace requires it or
        because it enhances the product, for example; another
        vendor may omit the same item.

1.2 Terminology

   This memo uses the following terms:

      BOOTREQUEST

         A BOOTREQUEST message is a BOOTP message sent from a BOOTP
         client to a BOOTP server, requesting configuration information.

      BOOTREPLY

         A BOOTREPLY message is a BOOTP message sent from a BOOTP server
         to a BOOTP client, providing configuration information.




Wimer                                                           [Page 3]

RFC 1532        Clarifications and Extensions for BOOTP     October 1993


      Silently discard

         This memo specifies several cases where a BOOTP entity is to
         "silently discard" a received BOOTP message.  This means that
         the entity is to discard the message without further
         processing, and that the entity will not send any ICMP error
         message as a result.  However, for diagnosis of problems, the
         entity SHOULD provide the capability of logging the error,
         including the contents of the silently-discarded message, and
         SHOULD record the event in a statistics counter.

1.3 Data Transmission Order

   The order of transmission of the header and data described in this
   document is resolved to the octet level.  Whenever a diagram shows a
   group of octets, the order of transmission of those octets is the
   normal order in which they are read in English.  For example, in the
   following diagram, the octets are transmitted in the order they are
   numbered.

                     0                   1
                     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |       1       |       2       |
                     +-------------------------------+
                     |       3       |       4       |
                     +-------------------------------+
                     |       5       |       6       |
                     +-------------------------------+

   Whenever an octet represents a numeric quantity, the leftmost bit in
   the diagram is the high order or most significant bit.  That is, the
   bit labeled 0 is the most significant bit.  For example, the
   following diagram represents the value 170 (decimal).

                               0 1 2 3 4 5 6 7
                              +-+-+-+-+-+-+-+-+
                              |1 0 1 0 1 0 1 0|
                              +---------------+

   Similarly, whenever a multi-octet field represents a numeric quantity
   the leftmost bit of the whole field is the most significant bit.
   When a multi-octet quantity is transmitted the most significant octet
   is transmitted first.







Wimer                                                           [Page 4]

RFC 1532        Clarifications and Extensions for BOOTP     October 1993


2. General Issues

   This section covers issues of general relevance to all BOOTP entities
   (clients, servers, and relay agents).

2.1 General BOOTP Processing

   The following consistency checks SHOULD be performed on BOOTP
   messages:

      o The IP Total Length and UDP Length must be large enough to
        contain the minimal BOOTP header of 300 octets (in the UDP
        data field) specified in [1].

   NOTE: Future extensions to the BOOTP protocol may increase the size
   of BOOTP messages.  Therefore, BOOTP messages which, according to the
   IP Total Length and UDP Length fields, are larger than the minimum
   size specified by [1] MUST also be accepted.

      o The 'op' (opcode) field of the message must contain either the
        code for a BOOTREQUEST (1) or the code for a BOOTREPLY (2).

   BOOTP messages not meeting these consistency checks MUST be silently
   discarded.

2.2 Definition of the 'flags' Field

   The standard BOOTP message format defined in [1] includes a two-octet
   field located between the 'secs' field and the 'ciaddr' field.  This
   field is merely designated as "unused" and its contents left
   unspecified, although Section 7.1 of [1] does offer the following
   suggestion:

      "Before setting up the packet for the first time, it is a good
      idea to clear the entire packet buffer to all zeros; this will
      place all fields in their default state."

      This memo hereby designates this two-octet field as the 'flags'
      field.

      This memo hereby defines the most significant bit of the 'flags'
      field as the BROADCAST (B) flag.  The semantics of this flag are
      discussed in Sections 3.1.1 and 4.1.2 of this memo.

      The remaining bits of the 'flags' field are reserved for future
      use.  They MUST be set to zero by clients and ignored by servers
      and relay agents.




Wimer                                                           [Page 5]

RFC 1532        Clarifications and Extensions for BOOTP     October 1993


      The 'flags' field, then, appears as follows:

                     0                   1
                     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |B|             MBZ             |
                     +-+-----------------------------+

   where:

      B    BROADCAST flag (discussed in Sections 3.1.1 and 4.1.2)

      MBZ  MUST BE ZERO (reserved for future use)

   The format of a BOOTP message is shown below.  The numbers in
   parentheses indicate the size of each field in octets.







⌨️ 快捷键说明

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