Skip to main content

14. Transmission of Messages by a Client

This section preserves the RFC text for DHCPv6, including message exchanges, relay behavior, DUIDs, IA_NA, IA_TA, IA_PD, DHCP options, RKAP authentication, IANA registries, normative requirements, and appendix option-appearance matrices.

Original RFC Text

14.  Transmission of Messages by a Client

Unless otherwise specified in this document or in a document that
describes how IPv6 is carried over a specific type of link (for link
types that do not support multicast), a client sends DHCP messages to
the All_DHCP_Relay_Agents_and_Servers multicast address.

DHCP servers SHOULD NOT check to see whether the Layer 2 address used
was multicast or not, as long as the Layer 3 address was correct.

A client uses multicast to reach all servers or an individual server.
An individual server is indicated by specifying that server's DUID in
a Server Identifier option (see Section 21.3) in the client's
message. (All servers will receive this message, but only the
indicated server will respond.) All servers are indicated when this
option is not supplied.

14.1. Rate Limiting

A DHCPv6 client MUST limit the rate of DHCP messages it transmits or
retransmits. This will minimize the impact of prolonged message
bursts or loops, for example when a client rejects a server's
response, repeats the request and gets the same server response,
which, again, gets rejected by the client.

This loop can repeat infinitely if there is not a quit/stop
mechanism. Therefore, a client must not initiate transmissions too
frequently.

A recommended method for implementing the rate-limiting function is a
token bucket (see Appendix A of [RFC3290]), limiting the average rate
of transmission to a certain number in a certain time interval. This
method of bounding burstiness also guarantees that the long-term
transmission rate will not be exceeded.

A transmission rate limit SHOULD be configurable. A possible default
could be 20 messages in 20 seconds.

For a device that has multiple interfaces, the limit MUST be enforced
on a per-interface basis.

Rate limiting of forwarded DHCP messages and server-side messages is
out of scope for this specification.

14.2. Client Behavior when T1 and/or T2 Are 0

In certain cases, T1 and/or T2 values may be set to 0. Currently,
there are two such cases:

1. a client received an IA_NA option (see Section 21.4) with a zero
value

2. a client received an IA_PD option (see Section 21.21) with a zero
value

This is an indication that the renew and rebind times are left to the
discretion of the client. However, they are not completely
discretionary.

When T1 and/or T2 values are set to 0, the client MUST choose a time
to avoid message storms. In particular, it MUST NOT transmit
immediately. If the client received multiple IA options, it SHOULD
pick renew and/or rebind transmission times so all IA options are
handled in one exchange, if possible. The client MUST choose renew
and rebind times to not violate rate-limiting restrictions as defined
in Section 14.1.