Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 8415

Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

Pages: 154
Proposed Standard
Errata
Obsoletes:  3315363337364242708372837550
Part 11 of 14 – Pages 110 to 120
First   Prev   Next

Top   ToC   RFC8415 - Page 110   prevText

21.11. Authentication Option

The Authentication option carries authentication information to authenticate the identity and contents of DHCP messages. The use of the Authentication option is described in Section 20. The delayed authentication protocol, defined in [RFC3315], has been obsoleted by this document, due to lack of usage (see Section 25). The format of the Authentication option is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_AUTH | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | protocol | algorithm | RDM | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | replay detection (64 bits) +-+-+-+-+-+-+-+-+ | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . authentication information . . (variable length) . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 22: Authentication Option Format option-code OPTION_AUTH (11). option-len 11 + length of authentication information field. protocol The authentication protocol used in this Authentication option. A 1-octet unsigned integer.
Top   ToC   RFC8415 - Page 111
      algorithm                    The algorithm used in the
                                   authentication protocol.  A 1-octet
                                   unsigned integer.

      RDM                          The replay detection method used in
                                   this Authentication option.  A
                                   1-octet unsigned integer.

      replay detection             The replay detection information for
                                   the RDM.  A 64-bit (8-octet) field.

      authentication information   The authentication information, as
                                   specified by the protocol and
                                   algorithm used in this Authentication
                                   option.  A variable-length field
                                   (11 octets less than the value in the
                                   option-len field).

   IANA maintains a registry for the protocol, algorithm, and RDM values
   at <https://www.iana.org/assignments/auth-namespaces>.

21.12. Server Unicast Option

The server sends this option to a client to indicate to the client that it is allowed to unicast messages to the server. The format of the Server Unicast option is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_UNICAST | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | server-address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 23: Server Unicast Option Format option-code OPTION_UNICAST (12). option-len 16. server-address The 128-bit address to which the client should send messages delivered using unicast.
Top   ToC   RFC8415 - Page 112
   The server specifies in the server-address field the address to which
   the client is to send unicast messages.  When a client receives this
   option, where permissible and appropriate the client sends messages
   directly to the server using the address specified in the
   server-address field of the option.

   When the server sends a Server Unicast option to the client, some
   messages from the client will not be relayed by relay agents and will
   not include relay agent options from the relay agents.  Therefore, a
   server should only send a Server Unicast option to a client when
   relay agents are not sending relay agent options.  A DHCP server
   rejects any messages sent inappropriately using unicast to ensure
   that messages are relayed by relay agents when relay agent options
   are in use.

   Details about when the client may send messages to the server using
   unicast are provided in Section 18.

21.13. Status Code Option

This option returns a status indication related to the DHCP message or option in which it appears. The format of the Status Code option is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_STATUS_CODE | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | status-code | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . . . status-message . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 24: Status Code Option Format option-code OPTION_STATUS_CODE (13). option-len 2 + length of status-message field. status-code The numeric code for the status encoded in this option. A 2-octet field containing an unsigned integer.
Top   ToC   RFC8415 - Page 113
      status-message       A UTF-8 encoded [RFC3629] text string
                           suitable for display to an end user.
                           MUST NOT be null-terminated.  A
                           variable-length field (2 octets less than the
                           value in the option-len field).

   A Status Code option may appear in the "options" field of a DHCP
   message and/or in the "options" field of another option.  If the
   Status Code option does not appear in a message in which the option
   could appear, the status of the message is assumed to be Success.

   The status-code values previously defined by [RFC3315] and
   [RFC3633] are:

   +---------------+------+--------------------------------------------+
   | Name          | Code | Description                                |
   +---------------+------+--------------------------------------------+
   | Success       |    0 | Success.                                   |
   |               |      |                                            |
   | UnspecFail    |    1 | Failure, reason unspecified; this status   |
   |               |      | code is sent by either a client or a       |
   |               |      | server to indicate a failure not           |
   |               |      | explicitly specified in this document.     |
   |               |      |                                            |
   | NoAddrsAvail  |    2 | The server has no addresses available to   |
   |               |      | assign to the IA(s).                       |
   |               |      |                                            |
   | NoBinding     |    3 | Client record (binding) unavailable.       |
   |               |      |                                            |
   | NotOnLink     |    4 | The prefix for the address is not          |
   |               |      | appropriate for the link to which the      |
   |               |      | client is attached.                        |
   |               |      |                                            |
   | UseMulticast  |    5 | Sent by a server to a client to force the  |
   |               |      | client to send messages to the server      |
   |               |      | using the                                  |
   |               |      | All_DHCP_Relay_Agents_and_Servers          |
   |               |      | multicast address.                         |
   |               |      |                                            |
   | NoPrefixAvail |    6 | The server has no prefixes available to    |
   |               |      | assign to the IA_PD(s).                    |
   +---------------+------+--------------------------------------------+

                     Table 3: Status Code Definitions

   See the "Status Codes" registry at <https://www.iana.org/assignments/
   dhcpv6-parameters> for the current list of status codes.
Top   ToC   RFC8415 - Page 114

21.14. Rapid Commit Option

The Rapid Commit option is used to signal the use of the two-message exchange for address assignment. The format of the Rapid Commit option is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_RAPID_COMMIT | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 25: Rapid Commit Option Format option-code OPTION_RAPID_COMMIT (14). option-len 0. A client MAY include this option in a Solicit message if the client is prepared to perform the Solicit/Reply message exchange described in Section 18.2.1. A server MUST include this option in a Reply message sent in response to a Solicit message when completing the Solicit/Reply message exchange. DISCUSSION: Each server that responds with a Reply to a Solicit that includes a Rapid Commit option will commit the leases in the Reply message to the client but will not receive any confirmation that the client has received the Reply message. Therefore, if more than one server responds to a Solicit that includes a Rapid Commit option, all but one server will commit leases that are not actually used by the client; this could result in incorrect address information in DNS if the DHCP servers update DNS [RFC4704], and responses to leasequery requests [RFC5007] may include information on leases not in use by the client. The problem of unused leases can be minimized by designing the DHCP service so that only one server responds to the Solicit or by using relatively short lifetimes for newly assigned leases.
Top   ToC   RFC8415 - Page 115

21.15. User Class Option

The User Class option is used by a client to identify the type or category of users or applications it represents. The format of the User Class option is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_USER_CLASS | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . . user-class-data . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 26: User Class Option Format option-code OPTION_USER_CLASS (15). option-len Length of user-class-data field. user-class-data The user classes carried by the client. The length, in octets, is specified by option-len. The information contained in the data area of this option is contained in one or more opaque fields that represent the user class or classes of which the client is a member. A server selects configuration information for the client based on the classes identified in this option. For example, the User Class option can be used to configure all clients of people in the accounting department with a different printer than clients of people in the marketing department. The user class information carried in this option MUST be configurable on the client. The data area of the User Class option MUST contain one or more instances of user-class-data information. Each instance of user-class-data is formatted as follows: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+ | user-class-len | opaque-data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+ Figure 27: Format of user-class-data Field
Top   ToC   RFC8415 - Page 116
   The user-class-len field is 2 octets long and specifies the length of
   the opaque user-class-data in network byte order.

   A server interprets the classes identified in this option according
   to its configuration to select the appropriate configuration
   information for the client.  A server may use only those user classes
   that it is configured to interpret in selecting configuration
   information for a client and ignore any other user classes.  In
   response to a message containing a User Class option, a server may
   include a User Class option containing those classes that were
   successfully interpreted by the server so that the client can be
   informed of the classes interpreted by the server.

21.16. Vendor Class Option

This option is used by a client to identify the vendor that manufactured the hardware on which the client is running. The information contained in the data area of this option is contained in one or more opaque fields that identify details of the hardware configuration. The format of the Vendor Class option is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_VENDOR_CLASS | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | enterprise-number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . . vendor-class-data . . . . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 28: Vendor Class Option Format option-code OPTION_VENDOR_CLASS (16). option-len 4 + length of vendor-class-data field. enterprise-number The vendor's registered Enterprise Number as maintained by IANA [IANA-PEN]. A 4-octet field containing an unsigned integer. vendor-class-data The hardware configuration of the node on which the client is running. A variable-length field (4 octets less than the value in the option-len field).
Top   ToC   RFC8415 - Page 117
   The vendor-class-data field is composed of a series of separate
   items, each of which describes some characteristic of the client's
   hardware configuration.  Examples of vendor-class-data instances
   might include the version of the operating system the client is
   running or the amount of memory installed on the client.

   Each instance of vendor-class-data is formatted as follows:

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
      |       vendor-class-len        |          opaque-data          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+

               Figure 29: Format of vendor-class-data Field

   The vendor-class-len field is 2 octets long and specifies the length
   of the opaque vendor-class-data in network byte order.

   Servers and clients MUST NOT include more than one instance of
   OPTION_VENDOR_CLASS with the same Enterprise Number.  Each instance
   of OPTION_VENDOR_CLASS can carry multiple vendor-class-data
   instances.

21.17. Vendor-specific Information Option

This option is used by clients and servers to exchange vendor- specific information. The format of the Vendor-specific Information option is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_VENDOR_OPTS | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | enterprise-number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . . vendor-option-data . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 30: Vendor-specific Information Option Format option-code OPTION_VENDOR_OPTS (17). option-len 4 + length of vendor-option-data field.
Top   ToC   RFC8415 - Page 118
      enterprise-number    The vendor's registered Enterprise Number as
                           maintained by IANA [IANA-PEN].  A 4-octet
                           field containing an unsigned integer.

      vendor-option-data   Vendor options, interpreted by
                           vendor-specific code on the clients and
                           servers.  A variable-length field (4 octets
                           less than the value in the option-len field).

   The definition of the information carried in this option is vendor
   specific.  The vendor is indicated in the enterprise-number field.
   Use of vendor-specific information allows enhanced operation,
   utilizing additional features in a vendor's DHCP implementation.  A
   DHCP client that does not receive requested vendor-specific
   information will still configure the node's IPv6 stack to be
   functional.

   The vendor-option-data field MUST be encoded as a sequence of
   code/length/value fields of format identical to the DHCP options (see
   Section 21.1).  The sub-option codes are defined by the vendor
   identified in the enterprise-number field and are not managed by
   IANA.  Each of the sub-options is formatted as follows:

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          sub-opt-code         |         sub-option-len        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                                                               .
      .                        sub-option-data                        .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Figure 31: Vendor-specific Options Format

      sub-opt-code         The code for the sub-option.  A 2-octet
                           field.

      sub-option-len       An unsigned integer giving the length of the
                           sub-option-data field in this sub-option in
                           octets.  A 2-octet field.

      sub-option-data      The data area for the sub-option.  The
                           length, in octets, is specified by
                           sub-option-len.
Top   ToC   RFC8415 - Page 119
   Multiple instances of the Vendor-specific Information option may
   appear in a DHCP message.  Each instance of the option is interpreted
   according to the option codes defined by the vendor identified by the
   Enterprise Number in that option.  Servers and clients MUST NOT send
   more than one instance of the Vendor-specific Information option with
   the same Enterprise Number.  Each instance of the Vendor-specific
   Information option MAY contain multiple sub-options.

   A client that is interested in receiving a Vendor-specific
   Information option:

   -  MUST specify the Vendor-specific Information option in an Option
      Request option.

   -  MAY specify an associated Vendor Class option (see Section 21.16).

   -  MAY specify the Vendor-specific Information option with
      appropriate data.

   Servers only return the Vendor-specific Information options if
   specified in Option Request options from clients and:

   -  MAY use the Enterprise Numbers in the associated Vendor Class
      options to restrict the set of Enterprise Numbers in the
      Vendor-specific Information options returned.

   -  MAY return all configured Vendor-specific Information options.

   -  MAY use other information in the packet or in its configuration to
      determine which set of Enterprise Numbers in the Vendor-specific
      Information options to return.

21.18. Interface-Id Option

The relay agent MAY send the Interface-Id option to identify the interface on which the client message was received. If a relay agent receives a Relay-reply message with an Interface-Id option, the relay agent relays the message to the client through the interface identified by the option.
Top   ToC   RFC8415 - Page 120
   The format of the Interface-Id option is:

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      OPTION_INTERFACE_ID      |         option-len            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                                                               .
      .                         interface-id                          .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 32: Interface-Id Option Format

      option-code          OPTION_INTERFACE_ID (18).

      option-len           Length of interface-id field.

      interface-id         An opaque value of arbitrary length generated
                           by the relay agent to identify one of the
                           relay agent's interfaces.  The length, in
                           octets, is specified by option-len.

   The server MUST copy the Interface-Id option from the Relay-forward
   message into the Relay-reply message the server sends to the relay
   agent in response to the Relay-forward message.  This option MUST NOT
   appear in any message except a Relay-forward or Relay-reply message.

   Servers MAY use the interface-id field for parameter assignment
   policies.  The interface-id value SHOULD be considered an opaque
   value, with policies based on exact match only; that is, the
   interface-id field SHOULD NOT be internally parsed by the server.
   The interface-id value for an interface SHOULD be stable and remain
   unchanged -- for example, after the relay agent is restarted; if the
   interface-id value changes, a server will not be able to use it
   reliably in parameter assignment policies.


(next page on part 12)

Next Section