diff options
Diffstat (limited to 'doc/rfc/rfc7341.txt')
-rw-r--r-- | doc/rfc/rfc7341.txt | 899 |
1 files changed, 899 insertions, 0 deletions
diff --git a/doc/rfc/rfc7341.txt b/doc/rfc/rfc7341.txt new file mode 100644 index 0000000..82e4f18 --- /dev/null +++ b/doc/rfc/rfc7341.txt @@ -0,0 +1,899 @@ + + + + + + +Internet Engineering Task Force (IETF) Q. Sun +Request for Comments: 7341 Y. Cui +Category: Standards Track Tsinghua University +ISSN: 2070-1721 M. Siodelski + ISC + S. Krishnan + Ericsson + I. Farrer + Deutsche Telekom AG + August 2014 + + + DHCPv4-over-DHCPv6 (DHCP 4o6) Transport + +Abstract + + IPv4 connectivity is still needed as networks migrate towards IPv6. + Users require IPv4 configuration even if the uplink to their service + provider supports IPv6 only. This document describes a mechanism for + obtaining IPv4 configuration information dynamically in IPv6 networks + by carrying DHCPv4 messages over DHCPv6 transport. Two new DHCPv6 + messages and two new DHCPv6 options are defined for this purpose. + +Status of This Memo + + This is an Internet Standards Track document. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Further information on + Internet Standards is available in Section 2 of RFC 5741. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + http://www.rfc-editor.org/info/rfc7341. + + + + + + + + + + + + + + + +Sun, et al. Standards Track [Page 1] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + +Copyright Notice + + Copyright (c) 2014 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (http://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. Code Components extracted from this document must + include Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the Simplified BSD License. + +Table of Contents + + 1. Introduction ....................................................3 + 2. Requirements Language ...........................................3 + 3. Terminology .....................................................3 + 4. Applicability ...................................................4 + 5. Architecture Overview ...........................................4 + 6. New DHCPv6 Messages .............................................6 + 6.1. Message Types ..............................................6 + 6.2. Message Formats ............................................6 + 6.3. DHCPv4-query Message Flags .................................7 + 6.4. DHCPv4-response Message Flags ..............................7 + 7. New DHCPv6 Options ..............................................7 + 7.1. DHCPv4 Message Option Format ...............................7 + 7.2. DHCP 4o6 Server Address Option Format ......................8 + 8. Use of the DHCPv4-query Unicast Flag ............................9 + 9. DHCP 4o6 Client Behavior .......................................10 + 10. Relay Agent Behavior ..........................................12 + 11. DHCP 4o6 Server Behavior ......................................12 + 12. Security Considerations .......................................13 + 13. IANA Considerations ...........................................14 + 14. Contributors List .............................................14 + 15. References ....................................................14 + 15.1. Normative References .....................................14 + 15.2. Informative References ...................................15 + + + + + + + + + + + +Sun, et al. Standards Track [Page 2] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + +1. Introduction + + As the migration towards IPv6 continues, IPv6-only networks will + become more prevalent. In such networks, IPv4 connectivity will + continue to be provided as a service over IPv6-only networks. In + addition to provisioning IPv4 addresses for clients of this service, + other IPv4 configuration parameters may also be needed (e.g., + addresses of IPv4-only services). + + This document describes a transport mechanism to carry DHCPv4 + messages using the DHCPv6 protocol for the dynamic provisioning of + IPv4 addresses and other DHCPv4 specific configuration parameters + across IPv6-only networks. It leverages the existing DHCPv4 + infrastructure, e.g., failover, DNS updates, DHCP Leasequery, etc. + + When IPv6 multicast is used to transport DHCP 4o6 messages, another + benefit is that the operator can gain information about the + underlying IPv6 network to which the DHCP 4o6 client is connected + from the DHCPv6 relay agents through which the request has passed. + +2. Requirements Language + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in [RFC2119]. + +3. Terminology + + This document makes use of the following terms: + + CPE: + Customer Premises Equipment (also known as Customer Provided + Equipment), which provides access for devices connected to a Local + Area Network (LAN), typically at the customer's site/home, to the + Internet Service Provider's (ISP's) network. + + DHCP 4o6 client (or client): + A DHCP client supporting both the DHCPv6 protocol [RFC3315] as + well as the DHCPv4 over DHCPv6 protocol described in this + document. Such a client is capable of requesting IPv6 + configuration using DHCPv6 and IPv4 configuration using DHCPv4 + over DHCPv6. + + DHCP 4o6 server (or server): + A DHCP server that is capable of processing DHCPv4 packets + encapsulated in the DHCPv4 Message option (defined below). + + + + + +Sun, et al. Standards Track [Page 3] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + + DHCPv4 over DHCPv6: + A protocol (described in this document) used to carry DHCPv4 + messages in the payload of DHCPv6 messages. + +4. Applicability + + The mechanism described in this document is not universally + applicable. This is intended as a special-purpose mechanism that + will be implemented on nodes that must obtain IPv4 configuration + information using DHCPv4 in specific environments where native DHCPv4 + is not available. Such nodes are expected to follow the advice in + Section 9; nodes that do not require this functionality are expected + not to implement it, or not to enable it by default. This mechanism + may be enabled using an administrative control, or it may be enabled + automatically in accordance with the needs of some dual-stack + transition mechanism such as [LW4OVER6]. Such mechanisms are beyond + the scope of this document. + +5. Architecture Overview + + The architecture described here addresses a typical use case, where a + DHCP client's uplink supports IPv6 only and the Service Provider's + network supports IPv6 and limited IPv4 services. In this scenario, + the client can only use the IPv6 network to access IPv4 services, so + IPv4 services must be configured using IPv6 as the underlying network + protocol. + + Although the purpose of this document is to address the problem of + communication between the DHCPv4 client and the DHCPv4 server, the + mechanism that it describes does not restrict the transported + messages types to DHCPv4 only. As the DHCPv4 message is a special + type of BOOTP message, BOOTP messages [RFC951] MAY also be + transported using the same mechanism. + + DHCP clients may be running on CPE devices, end hosts, or any other + device that supports the DHCP-client function. This document uses + the CPE as an example for describing the mechanism. This does not + preclude any end host, or other device requiring IPv4 configuration, + from implementing DHCPv4 over DHCPv6 in the future. + + This mechanism works by carrying DHCPv4 messages encapsulated within + the newly defined DHCPv6 messages. The DHCPv6-relay encapsulation is + used solely to deliver DHCPv4 packets to a DHCPv4-capable server, and + does not allocate any IPv6 addresses nor does it provide + IPv6-configuration information to the client. Figure 1, below, + illustrates one possible deployment architecture of this mechanism. + + + + + +Sun, et al. Standards Track [Page 4] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + + The DHCP 4o6 client implements a new DHCPv6 message called + DHCPv4-query, which carries a DHCPv4 message encapsulated in the new + DHCPv4 Message option. The DHCPv6 message can be transmitted either + via DHCPv6 Relay Agents or directly to the DHCP 4o6 server. + + The server replies with a new DHCPv6 message called DHCPv4-response, + which carries the DHCPv4 message from the server, encapsulated in the + DHCPv4 Message option. + + _____________ _____________ + / \ / \ + | | | | + +--------+-+ IPv6 +-+-----------+-+ IPv6 +-+--------+ + | DHCP 4o6 | Network | DHCPv6 | Network | DHCP 4o6 | + | Client +---------+ Relay Agent +---------+ Server | + | (on CPE) | | | | | + +--------+-+ +-+-----------+-+ +-+--------+ + | | | | + \_____________/ \_____________/ + + + Figure 1: Architecture Overview + + Before the client can use DHCPv4 over DHCPv6, it MUST obtain the + necessary IPv6 configuration. The client requests the DHCP 4o6 + Server Address option from the server by sending the option code in + an Option Request option as described in [RFC3315]. If the server + responds with the DHCP 4o6 Server Address option, it is an indication + to the client to attempt using DHCPv4 over DHCPv6 to obtain IPv4 + configuration. Otherwise, the client MUST NOT use DHCPv4 over DHCPv6 + to request IPv4 configuration. + + The client obtains the address(es) of the DHCP 4o6 server(s) from the + DHCP 4o6 Server Address option and uses it (them) to communicate with + the DHCP 4o6 servers as described in Section 9. If the DHCP 4o6 + Server Address option contains no addresses (is empty), the client + uses the well-known All_DHCP_Relay_Agents_and_Servers multicast + address to communicate with the DHCP 4o6 server(s). + + Before applying for an IPv4 address via a DHCPv4-query message, the + client must identify a suitable network interface for the address. + Once the request is acknowledged by the server, the client can + configure the address and other relevant parameters on this + interface. The mechanism for determining a suitable interface is out + of the scope of the document. + + + + + + +Sun, et al. Standards Track [Page 5] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + +6. New DHCPv6 Messages + + Two new DHCPv6 messages carry DHCPv4 messages between the client and + the server using the DHCPv6 protocol: DHCPv4-query and + DHCPv4-response. This section describes the structures of these + messages. + +6.1. Message Types + + DHCPV4-QUERY (20): The DHCP 4o6 client sends a DHCPv4-query message + to a DHCP 4o6 server. The DHCPv4 Message option carried by this + message contains a DHCPv4 message that the DHCP 4o6 client uses to + request IPv4 configuration parameters from the server. + + DHCPV4-RESPONSE (21): A DHCP 4o6 server sends a DHCPv4-response + message to a DHCP 4o6 client. It contains a DHCPv4 Message option + carrying a DHCPv4 message in response to a DHCPv4 message received + by the server in the DHCPv4 Message option of the DHCPv4-query + message. + +6.2. Message Formats + + Both DHCPv6 messages defined in this document share the following + format: + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | msg-type | flags | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + . options . + . (variable) . + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Figure 2: The Format of DHCPv4-query and DHCPv4-response Messages + + msg-type: Identifies the message type. It can be either + DHCPV4-QUERY (20) or DHCPV4-RESPONSE (21) corresponding to the + contained DHCPv4-query or DHCPv4-response, respectively. + + flags: Specifies flags providing additional information required by + the server to process the DHCPv4 message encapsulated in the + DHCPv4-query message, or required by the client to process a + DHCPv4 message encapsulated in the DHCPv4-response message. + + + + + +Sun, et al. Standards Track [Page 6] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + + options: Options carried by the message. The DHCPv4 Message Option + (described in Section 7.1) MUST be carried by the message. Only + DHCPv6 options for IPv4 configuration may be included in this + field. It MUST NOT contain DHCPv6 options related solely to IPv6, + or IPv6-only service configuration. + +6.3. DHCPv4-query Message Flags + + The "flags" field of the DHCPv4-query is used to carry additional + information that may be used by the server to process the + encapsulated DHCPv4 message. Currently, only one bit of this field + is used. Remaining bits are reserved for the future use. The + "flags" field has the following format: + + 0 1 2 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |U| MBZ | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Figure 3: DHCPv4-query Flags Format + + U: Unicast flag. If set to 1, it indicates that the DHCPv4 message + encapsulated within the DHCPv4-query message would be sent to a + unicast address if it were sent using IPv4. If this flag is set + to 0, it indicates that the DHCPv4 message would be sent to the + broadcast address if it were sent using IPv4. The usage of the + flag is described in detail in Section 8. + + MBZ: Bits MUST be set to zero when sending and MUST be ignored when + receiving. + +6.4. DHCPv4-response Message Flags + + This document introduces no flags to be carried in the "flags" field + of the DHCPv4-response message. They are all reserved for future + use. The DHCP 4o6 server MUST set all bits of this field to 0 and + the DHCP 4o6 client MUST ignore the content in this field. + +7. New DHCPv6 Options + +7.1. DHCPv4 Message Option Format + + The DHCPv4 Message option carries a DHCPv4 message that is sent by + the client or the server. Such messages exclude any IP or UDP + headers. + + + + + +Sun, et al. Standards Track [Page 7] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + + The format of the DHCPv4 Message 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-code | option-len | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + . DHCPv4-message . + . . + . . + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Figure 4: DHCPv4 Message Option Format + + option-code: OPTION_DHCPV4_MSG (87). + + option-len: Length of the DHCPv4 message. + + DHCPv4-message: The DHCPv4 message sent by the client or the server. + In a DHCPv4-query message, it contains a DHCPv4 message sent by a + client. In a DHCPv4-response message, it contains a DHCPv4 + message sent by a server in response to a client. + +7.2. DHCP 4o6 Server Address Option Format + + The DHCP 4o6 Server Address option is sent by a server to a client + requesting IPv6 configuration using DHCPv6 [RFC3315]. It carries a + list of DHCP 4o6 servers' IPv6 addresses that the client should + contact to obtain IPv4 configuration. This list may include + multicast and unicast addresses. The client sends its requests to + all unique addresses carried in this option. + + This option may also carry no IPv6 addresses, which instructs the + client to use the All_DHCP_Relay_Agents_and_Servers multicast address + as the destination address. + + The presence of this option in the server's response indicates to the + client that it should use DHCPv4 over DHCPv6 to obtain IPv4 + configuration. If the option is absent, the client MUST NOT enable + DHCPv4-over-DHCPv6 functionality. + + + + + + + + + + +Sun, et al. Standards Track [Page 8] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + + The format of the DHCP 4o6 Server Address 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-code | option-len | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + . IPv6 Address(es) . + . . + . . + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Figure 5: DHCP 4o6 Servers Address Option Format + + option-code: OPTION_DHCP4_O_DHCP6_SERVER (88). + + option-len: Length of the IPv6 address(es) carried by the option, + i.e., multiple of 16 octets. Minimal length of this option is 0. + + IPv6 Address: Zero or more IPv6 addresses of the DHCP 4o6 server(s). + +8. Use of the DHCPv4-query Unicast Flag + + A DHCPv4 client conforming to [RFC2131] may send its DHCPREQUEST + message to either a broadcast or unicast address depending on its + state. For example, a client in the RENEWING state uses a unicast + address to contact the DHCPv4 server to renew its lease. A client in + the REBINDING state uses a broadcast address. + + In DHCPv4 over DHCPv6, IPv6 is used to deliver DHCPv4 messages to the + DHCP 4o6 server. There is no relation between the outer IPv6 address + and the inner DHCPv4 message. As a result, the server is unable to + determine whether the received DHCPv4 messages should have been sent + using broadcast or unicast in IPv4 by checking the IPv6 address. + + In order to allow the server to determine the client's state, the + Unicast flag is carried in the DHCPv4-query message. The client MUST + set this flag to 1 when the DHCPv4 message would have been sent to + the unicast address if using DHCPv4 over IPv4. This flag MUST be set + to 0 if the DHCPv4 client would have sent the message to the + broadcast address in IPv4. The choice whether a given message should + be sent to a broadcast or unicast address is made based on the + [RFC2131] and its extensions. + + Note: The Unicast flag reflects how the DHCPv4 packet would have been + sent; not how the DHCPv6 packet itself is sent. + + + + +Sun, et al. Standards Track [Page 9] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + +9. DHCP 4o6 Client Behavior + + The client MUST obtain necessary IPv6 configuration from a DHCPv6 + server before using DHCPv4 over DHCPv6. The client requests the DHCP + 4o6 Server Address option using the Option Request option (ORO) in + every Solicit, Request, Renew, Rebind, and Information-request + message. If the DHCPv6 server includes the DHCP 4o6 Server Address + option in its response, it is an indication that the client can use + DHCPv4 over DHCPv6 to obtain the IPv4 configuration (by sending + DHCPv4 messages encapsulated in DHCPv4-query messages). + + The client MUST NOT use DHCPv4 over DHCPv6 to request IPv4 + configuration if the DHCPv6 server does not include the DHCP 4o6 + Server Address option. If the IPv6 configuration that contained the + DHCP 4o6 Server Address option subsequently expires, or if the + renewed IPv6 configuration does not contain the DHCP 4o6 Server + Address option, the client MUST stop using DHCPv4 over DHCPv6 to + request or renew IPv4 configuration. However, the client continues + to request DHCP 4o6 Server Address option in the messages sent to the + DHCPv6 server as long as it desires to use DHCPv4 over DHCPv6. + + It is possible in a multihomed configuration for there to be more + than one DHCPv6 configuration containing a DHCP 4o6 Server Address + Option active at the same time. In this case, the configurations are + treated as being independent, so that when any such configuration is + active, a DHCPv4-over-DHCPv6 function may be enabled for that + configuration. + + An implementation may also treat such configurations as being + exclusive, such that only one is kept active at a time. In this + case, the client keeps the same configuration active continuously as + long as it is valid. If that configuration becomes invalid but one + or more other configurations remain valid, the client activates one + of the remaining valid configurations. + + Which strategy to follow is dependent on the implementation: keeping + multiple configurations active at the same time may provide useful + redundancy in some applications but may be needlessly complex in + other cases. + + If the client receives the DHCP 4o6 Server Address option and DHCPv4 + [RFC2131] is used on the interface over which the DHCPv6 option was + received, the client MUST stop using the IPv4 configuration received + using DHCPv4 on this interface. The client MAY send a DHCPRELEASE to + the DHCPv4 server to relinquish an existing lease as described in + Section 4.4.6 of [RFC2131]. The client MUST NOT use DHCPv4 on this + interface as long as it receives DHCP 4o6 Server Address option in + the messages received from the DHCPv6 server. + + + +Sun, et al. Standards Track [Page 10] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + + If the client receives a DHCP 4o6 Server Address option that contains + no IP addresses, i.e., the option is empty, the client MUST send its + requests to the All_DHCP_Relay_Agents_and_Servers multicast address. + If there is a list of IP addresses in the option, the client SHOULD + send requests to each unique address carried by the option. + + If the client obtained stateless IPv6 configuration by sending an + Information-request message to the server, the client MUST follow the + rules in [RFC4242] to periodically refresh the DHCPv4-over-DHCPv6 + configuration (i.e., list of DHCP 4o6 servers) as well as other + configuration data. The client that obtained stateful IPv6 + configuration will refresh the status of DHCPv4-over-DHCPv6 function + when extending a lifetime of acquired IPv6 address (Renew and Rebind + messages). + + The client MUST employ an IPv6 address of an appropriate scope from + which to source the DHCPv4-query message. When the client sends a + DHCPv4-query message to the multicast address, it MUST use a link- + local address as the source address as described in [RFC3315]. When + the client sends a DHCPv4-query message using unicast, the source + address MUST be an address of appropriate scope, acquired in advance. + + The client generates a DHCPv4 message and stores it verbatim in the + DHCPv4 Message option carried by the DHCPv4-query message. The + client MUST put exactly one DHCPv4 Message option into a single + DHCPv4-query message. The client MUST NOT request the DHCP 4o6 + Server Address option in the DHCPv4-query message. + + The client MUST follow the rules defined in Section 8 when setting + the Unicast flag based on the DHCPv4 destination. + + On receiving a DHCPv4-response message, the client MUST look for the + DHCPv4 Message option within this message. If this option is not + found, the DHCPv4-response message is discarded. If the DHCPv4 + Message option is present, the client extracts the DHCPv4 message it + contains and processes it as described in Section 4.4 of [RFC2131]. + + When dealing with IPv4 configuration, the client MUST follow the + normal DHCPv4 retransmission requirements and strategy as specified + in Section 4.1 of [RFC2131]. There are no explicit transmission + parameters associated with a DHCPv4-query message, as this is + governed by the DHCPv4 "state machine" [RFC2131]. + + The client MUST implement [RFC4361] to ensure that the device + correctly identifies itself. It MUST send a 'client identifier' + option when using DHCPv4 over DHCPv6. + + + + + +Sun, et al. Standards Track [Page 11] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + +10. Relay Agent Behavior + + When a DHCPv6 relay agent receives a DHCPv4-query message, it may not + recognize this message. The unknown message MUST be forwarded as + described in [RFC7283]. + + A DHCPv6 relay agent that can recognize DHCP 4o6 messages MAY allow + the configuration of a separate set of destination addresses for such + messages in addition to the destination addresses used for relaying + the other DHCPv6 messages. To implement this function, the relay + checks the received DHCPv6 message type and forwards according to the + following logic: + + 1. If the message type is DHCPV4-QUERY, the packet is relayed to the + configured DHCP 4o6 Server's address(es) in the form of a normal + DHCPv6 packet (i.e., DHCPv6/UDP/IPv6). + + 2. For any other DHCPv6 message type, forward according to section + 20 of [RFC3315]. + + The above logic only allows for separate relay destinations + configured on the relay agent closest to the client (single relay + hop). Multiple relaying hops are not considered in the case of + separate relay destinations. + +11. DHCP 4o6 Server Behavior + + When the server receives a DHCPv4-query message from a client, it + searches for the DHCPv4 Message option. The server discards a packet + without this option. In addition, the server MAY notify an + administrator about the receipt of this malformed packet. The + mechanism for this notification is out of scope for this document. + + If the server finds a valid DHCPv4 Message option, it extracts the + original DHCPv4 message. Since the DHCPv4 message is encapsulated in + the DHCPv6 message, it lacks the information that is typically used + by the DHCPv4 server, implementing [RFC2131], to make address- + allocation decisions, e.g., giaddr for relayed messages and IPv4 + address of the interface that the server is using to communicate with + a directly connected client. Therefore, the DHCP 4o6 server + allocates addresses according to the policies on local address + assignment determined by the server administrator. For example, if + the DHCPv4-query message has been sent via a relay, the server MAY + use the link-address field of the Relay-forward message as a lookup + for the IPv4 subnet from which to assign a DHCPv4 address. If the + DHCPv4-query message has been sent from a directly connected client, + + + + + +Sun, et al. Standards Track [Page 12] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + + the server MAY use the IPv6 source address of the message to + determine the appropriate IPv4 subnet to use for DHCPv4 address + assignment. + + Alternatively, the server may act as a DHCPv4 relay agent and forward + the DHCPv4 packet to a "normal" DHCPv4 server. The details of such a + solution have not been considered by the working group; describing + that solution is out of scope of this document and is left as future + work should the need for it arise. + + The server SHOULD use the "flags" field of the DHCPv4-query message + to create a response (server to client DHCPv4 message). The use of + this field is described in detail in Section 8. + + When an appropriate DHCPv4 response is created, the server places it + in the payload of a DHCPv4 Message option, which it puts into the + DHCPv4-response message. + + If the DHCPv4-query message was received directly by the server, the + DHCPv4-response message MUST be unicast from the interface on which + the original message was received. + + If the DHCPv4-query message was received in a Relay-forward message, + the server creates a Relay-reply message with the DHCPv4-response + message in the payload of a Relay Message option, and responds as + described in Section 20.3 of [RFC3315]. + +12. Security Considerations + + In this specification, DHCPv4 messages are encapsulated in the newly + defined option and messages. This is similar to the handling of the + current relay agent messages. In order to bypass firewalls or + network authentication gateways, a malicious attacker may leverage + this feature to convey other messages using DHCPv6, i.e., use DHCPv6 + as a form of encapsulation. However, the potential risk from this is + no more severe than that with the current DHCPv4 and DHCPv6 practice. + + It is possible for a rogue server to reply with a DHCP 4o6 Server + Address option containing duplicated IPv6 addresses, which could + cause an amplification attack. To avoid this, the client MUST check + if there are duplicate IPv6 addresses in a DHCP 4o6 Server Address + option when receiving one. The client MUST ignore any but the first + instance of each address. + + When considering whether to enable DHCPv4-over-DHCPv6, one important + consideration is that when it is enabled, this gives the DHCPv6 + server the ability to shut off DHCPv4 traffic, and, consequently, + IPv4 traffic, on the interface that is configured to do DHCPv4-over- + + + +Sun, et al. Standards Track [Page 13] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + + DHCPv6. For this reason, DHCPv4-over-DHCPv6 should only be enabled + in situations where there is a clear trust relationship that + eliminates this concern. For instance, a CPE device can safely + enable this on its WAN interface, because it is reasonable to assume + that an ISP will not accidentally configure DHCPv4 over DHCPv6 + service on that link, and that it will be impractical for an attacker + to set up a rogue DHCPv6 server in the ISP's network. + +13. IANA Considerations + + IANA has allocated two DHCPv6 option codes for use by + OPTION_DHCPV4_MSG (87) and OPTION_DHCP4_O_DHCP6_SERVER (88) from the + "Option Codes" table. Also, IANA has allocated two DHCPv6 message + type codes for the DHCPV4-QUERY (20) and DHCPV4-RESPONSE (21) from + the "Message Types" table of the "Dynamic Host Configuration Protocol + for IPv6 (DHCPv6)" registry. Both tables can be found at + <http://www.iana.org/assignments/dhcpv6-parameters/>. + +14. Contributors List + + Many thanks to Ted Lemon, Bernie Volz, Tomek Mrugalski, Cong Liu, and + Yuchi Chen for their great contributions to the specification. + +15. References + +15.1. Normative References + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, March 1997. + + [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC + 2131, March 1997. + + [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., + and M. Carney, "Dynamic Host Configuration Protocol for + IPv6 (DHCPv6)", RFC 3315, July 2003. + + [RFC4242] Venaas, S., Chown, T., and B. Volz, "Information Refresh + Time Option for Dynamic Host Configuration Protocol for + IPv6 (DHCPv6)", RFC 4242, November 2005. + + [RFC4361] Lemon, T. and B. Sommerfeld, "Node-specific Client + Identifiers for Dynamic Host Configuration Protocol + Version Four (DHCPv4)", RFC 4361, February 2006. + + [RFC7283] Cui, Y., Sun, Q., and T. Lemon, "Handling Unknown DHCPv6 + Messages", RFC 7283, July 2014. + + + + +Sun, et al. Standards Track [Page 14] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + +15.2. Informative References + + [LW4OVER6] + Cui, Y., Sun, Q., Boucadair, M., Tsou, T., Lee, Y., and I. + Farrer, "Lightweight 4over6: An Extension to the DS-Lite + Architecture", Work in Progress, June 2014. + + [RFC951] Croft, B. and J. Gilmore, "Bootstrap Protocol", RFC 951, + September 1985. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Sun, et al. Standards Track [Page 15] + +RFC 7341 DHCPv4 over DHCPv6 August 2014 + + +Authors' Addresses + + Qi Sun + Tsinghua University + Beijing 100084 + P.R. China + + Phone: +86-10-6278-5822 + EMail: sunqi@csnet1.cs.tsinghua.edu.cn + + + Yong Cui + Tsinghua University + Beijing 100084 + P.R. China + + Phone: +86-10-6260-3059 + EMail: yong@csnet1.cs.tsinghua.edu.cn + + + Marcin Siodelski + Internet Systems Consortium + 950 Charter Street + Redwood City, CA 94063 + USA + + EMail: msiodelski@gmail.com + + + Suresh Krishnan + Ericsson + 8400 Blvd. Decarie + Town of Mount Royal, Quebec + Canada + + EMail: suresh.krishnan@ericsson.com + + + Ian Farrer + Deutsche Telekom AG + CTO-ATI, Landgrabenweg 151 + Bonn, NRW 53227 + Germany + + EMail: ian.farrer@telekom.de + + + + + + +Sun, et al. Standards Track [Page 16] + |