Internet DRAFT - draft-fsc-softwire-dhcp4o6-saddr-opt
draft-fsc-softwire-dhcp4o6-saddr-opt
Softwire WG I. Farrer
Internet-Draft Deutsche Telekom AG
Updates: RFC7568 (if approved) Q. Sun
Intended status: Standards Track Y. Cui
Expires: August 5, 2017 L. Sun
Tsinghua University
February 1, 2017
DHCPv4 over DHCPv6 Source Address Option
draft-fsc-softwire-dhcp4o6-saddr-opt-07
Abstract
DHCPv4 over DHCPv6 [RFC7341] describes a mechanism for dynamically
configuring IPv4 over an IPv6-only network. For DHCPv4 over DHCPv6
to function with some IPv4-over-IPv6 softwire mechanisms and
deployment scenarios, the operator must learn the /128 IPv6 address
that the client will use as the source of IPv4-in-IPv6 tunnel. This
address, in conjunction with the IPv4 address and the Port Set ID
allocated to the DHCP 4o6 client are used to create a binding table
entry in the softwire tunnel concentrator. This memo defines two
DHCPv6 options used to communicate the source tunnel IPv6 address
between the DHCP 4o6 client and server. It also describes a method
for configuring the client with the IPv6 address of the border router
so that the softwire can be established. It is designed to work in
conjunction with the IPv4 address allocation process.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 5, 2017.
Farrer, et al. Expires August 5, 2017 [Page 1]
Internet-Draft DHCP 4o6 SADDR option February 2017
Copyright Notice
Copyright (c) 2017 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 . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
4. Solution Overview . . . . . . . . . . . . . . . . . . . . . . 3
4.1. Provisioning the BR Address . . . . . . . . . . . . . . . 4
5. IPv6/IPv4 Binding Message Flow . . . . . . . . . . . . . . . 4
6. DHCPv6 Options . . . . . . . . . . . . . . . . . . . . . . . 6
6.1. DHCPv4 over DHCPv6 Source Address Hint Option . . . . . . 6
6.1.1. Client Option Validation Behavior . . . . . . . . . . 6
6.2. DHCPv4 over DHCPv6 Source Address Option . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . 7
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
10.1. Normative References . . . . . . . . . . . . . . . . . . 8
10.2. Informative References . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
Deterministic IPv4-over-IPv6 transition technologies require that
elements are pre-configured with binding rules for routing traffic to
clients. This places a constraint on the location of the client's
tunnel endpoint: The tunnel endpoint has to be a pre-determined
prefix which is usually be configured on the home gateway device.
[RFC7597] describes a DHCPv6 based mechanism for provisioning such
deterministic softwires.
A dynamic provisioning model, such as using DHCPv4 over DHCPv6
[RFC7341] allows much more flexibility in the location of the IPv4-
over-IPv6 tunnel endpoint, as the IPv6 address is dynamically
Farrer, et al. Expires August 5, 2017 [Page 2]
Internet-Draft DHCP 4o6 SADDR option February 2017
signalled back to the service provider so that the corresponding
tunnel configuration in the border router (BR) can be created. The
DHCP 4o6 client and tunnel client could be run on end devices
attached to any routable IPv6 prefix allocated to an end-user,
located anywhere within an arbitrary home network topology. Dynamic
allocation also helps to optimize IPv4 resource usage as only clients
which are currently active are allocated IPv4 addresses.
This document describes a mechanism for dynamically provisioning
softwires created using DHCPv4 over DHCPv6 (DHCP 4o6), including
provisioning the client with the address of the softwire border
router (BR) and informing the service provider of client's binding
between the dynamically allocated IPv4 address and Port Set ID and
the IPv6 address that the softwire Initiator will use for accessing
IPv4-over-IPv6 services.
It is used with DHCP 4o6 message flows to communicate the binding
over the IPv6-only network. The service provider can then use this
binding information to provision other functional elements in their
network accordingly, e.g. using the client's binding information to
synchronise the binding table in the border router.
2. Applicability
The mechanism described in this document is only suitable for use for
provisioning softwire clients via DHCP 4o6. The options described
here are only applicable within the DHCP 4o6 message exchange
process. Current softwire technologies suitable for extending to
incorporate DHCPv4 over DHCPv6 with dynamic IPv4 address leasing
include [RFC7597] and [RFC7596].
3. 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 RFC 2119 [RFC2119].
4. Solution Overview
The solution in this document is intended for the dynamic
establishment of IPv4-over-IPv6 softwires. DHCP 4o6 [RFC7341]
supports dynamically allocating (shared) IPv4 address. For a
softwire to be successfully created, the IPv4 address has to be
linked to the client's IPv6 tunnel source address. Within this
process, the DHCP 4o6 client uses a DHCPv6 option to signal its
tunnel source IPv6 address to the DHCP 4o6 server so that the
operator's provisioning system can create the binding and configure
the tunnel concentrator accordingly.
Farrer, et al. Expires August 5, 2017 [Page 3]
Internet-Draft DHCP 4o6 SADDR option February 2017
Two new DHCPv6 options are defined in this memo:
OPTION_DHCP4O6_SADDR_HINT and OPTION_DHCP4O6_SADDR. They are
intended to be used alongside the normal DHCPv4 IPv4 address
allocation message flow in the context of DHCP 4o6. If a DHCP 4o6
client supports this mechanism, it MUST include the code of
OPTION_DHCP4O6_SADDR_HINT in the Option Request Option (ORO)
[RFC3315] when requesting IPv4 configuration through DHCP 4o6.
The communication of parameters between the client and server is a
two-way process: OPTION_DHCP4O6_SADDR_HINT is optionally used by the
DHCP 4o6 server to indicate to the client a preferred IPv6 prefix for
binding the received IPv4 configuration and sourcing tunnel traffic.
This may be necessary if there are multiple IPv6 prefixes in use in
the customer network (e.g. ULAs), or if the specific IPv4-over-IPv6
transition mechanism requires the use of a particular prefix for any
reason. When the client has selected an IPv6 address to bind the
IPv4 configuration to, it passes the address back to the DHCP 4o6
server using OPTION_DHCP4O6_SADDR.
4.1. Provisioning the BR Address
To configure a softwire, the initiator also requires the IPv6 address
of the BR. Section 4.2 of [RFC7598] defines option 90
(OPTION_S46_BR) for this purpose, but mandates that the option can
only be used when encapsulated within one of the softwire container
options: OPTION_S46_CONT_MAPE, OPTION_S46_CONT_MAPT or
OPTION_S46_CONT_LW. From Section 3 of [RFC7598]:
"Softwire46 DHCPv6 clients that receive provisioning options that
are not encapsulated in container options MUST silently ignore
these options."
This document updates [RFC7598] to remove this restriction for DHCPv6
option 90 (OPTION_S46_BR) allowing it to appear directly within the
list of options in the client's ORO request and directly within
subsequent messages sent by the DHCPv6 server.
5. IPv6/IPv4 Binding Message Flow
The following diagram shows the client/server message flow and how
the options defined in this document are used. In each step, the
relevant DHCPv4 message is given above the arrow and the relevant
options below the arrow. All the DHCPv4 messages here are
encapsulated in DHCPv4-query or DHCPv4-response messages, and those
options are included in the 'options' field of the DHCPv4-query or
DHCPv4-response message.
Farrer, et al. Expires August 5, 2017 [Page 4]
Internet-Draft DHCP 4o6 SADDR option February 2017
DHCP 4o6 DHCP 4o6
Client Server
| DHCPDISCOVER (DHCPv4) |
Step 1 |----------------------------------------------------->|
| ORO with OPTION_S46_BR, |
| OPTION_DHCP4O6_SADDR_HINT(DHCPv6) |
| |
| DHCPOFFER (DHCPv4) |
Step 2 |<-----------------------------------------------------|
| OPTION_S46_BR, OPTION_DHCP4O6_SADDR_HINT |
| (cipv6-prefix-hint with service provider's |
| preferred prefix) (DHCPv6) |
| |
| DHCPREQUEST (DHCPv4) |
Step 3 |----------------------------------------------------->|
| OPTION_S46_BR, |
| OPTION_DHCP4O6_SADDR (cipv6-bound-prefix with |
| client's bound /128 IPv6 address) (DHCPv6) |
| |
| DHCPACK (DHCPv4) |
Step 4 |<-----------------------------------------------------|
| OPTION_S46_BR, |
| OPTION_DHCP4O6_SADDR (cipv6-bound-prefix with |
| client's bound /128 IPv6 prefix) (DHCPv6) |
| |
IPv6/IPv4 Binding Message Flow
A client attempting dynamic softwire configuration includes the
option code for OPTION_BR_PREFIX, OPTION_DHCP4O6_SADDR_HINT in the
DHCPv6 ORO in all DHCPv4-query messages it sends.
When a DHCP 4o6 Server replies with a DHCPOFFER message, it SHOULD
include OPTION_S46_BR. It MAY also include
OPTION_DHCP4O6_SADDR_HINT, which is used to indicate a preferred
prefix that the client should use to bind IPv4 configuration to. If
this option is received, the client MUST perform a longest prefix
match between cipv6-prefix-hint and all prefixes/addresses in use on
the device. If a match is found, the selected prefix MUST then be
used to bind the received IPv4 configuration to and source the tunnel
from. If no match is found, or the client doesn't receive
OPTION_DHCP4O6_SADDR_HINT the client MAY select any valid IPv6
address to use as the tunnel source.
Once the client has selected which prefix it will use, it MAY use
either an existing IPv6 address that is already configured on an
interface, or create a new address specifically for use as the
Farrer, et al. Expires August 5, 2017 [Page 5]
Internet-Draft DHCP 4o6 SADDR option February 2017
softwire source address (e.g. using an Interface Identifier
constructed as per Section 6 of [RFC7597]). If a new address is
being created, the client MUST complete configuration of the new
address, performing duplicate address detection (if required) before
proceeding to Step 3.
OPTION_DHCP4O6_SADDR is used by the client to inform the DHCP 4o6
Server which IPv6 address the IPv4 configuration has been bound to.
The client MUST put the selected IPv6 softwire source address into
this option and include it in the DHCPv4-response message when it
sends the DHCPREQUEST message.
6. DHCPv6 Options
6.1. DHCPv4 over DHCPv6 Source Address Hint Option
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_DHCP4O6_SADDR_HINT | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|cipv6-hintlen | |
+-+-+-+-+-+-+-+-+ cipv6-prefix-hint .
. (variable length) .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
o option-code: OPTION_DHCP4O6_SADDR_HINT (TBA1)
o option-length: 1 + length of cipv6-prefix-hint, specified in
bytes.
o cipv6-hintlen: 8-bit field expressing the bit mask length of the
IPv6 prefix specified in cipv6-prefix-hint. Valid values are 0 to
128.
o cipv6-prefix-hint: The IPv6 prefix indicating the preferred prefix
for the client to bind the received IPv4 configuration to. The
length is (cipv6-hintlen + 7) / 8. The field is padded on the
right with zero bits up to the nearest octet boundary when cipv6-
prefix-hint is not evenly divisible by 8.
OPTION_DHCP4O6_SADDR_HINT is a singleton. Servers MUST NOT send more
than one instance of the OPTION_DHCP4O6_SADDR_HINT option.
6.1.1. Client Option Validation Behavior
On receipt of the OPTION_DHCP4O6_SADDR_HINT option, the client makes
the following validation checks:
o The received cipv6-hintlen value is not larger than 128.
Farrer, et al. Expires August 5, 2017 [Page 6]
Internet-Draft DHCP 4o6 SADDR option February 2017
o The received cipv6-hintlen value is not larger than the number of
bytes sent in the cipv6-prefix-hint field. (e.g. the cipv6-hintlen
is 128 but the cipv6-prefix-hint has only 8 bytes).
For either of these cases the receiver MAY either discard the option
and proceed to attempt configuration as if the option had not been
received, or attempt to use the received values for the long prefix
match anyway.
The receiver MUST only use bits the cipv6-prefix-hint field up to the
value specified in the cipv6-hintlen when performing the longest
prefix match. cipv6-prefix-hint bits beyond this value MUST be
ignored.
6.2. DHCPv4 over DHCPv6 Source Address Option
The format of DHCPv4 over DHCPv6 Source address option is defined 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_DHCP4O6_SADDR | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ cipv6-src-address +
. (128 bits) .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
o option-code: OPTION_DHCP4O6_SADDR (TBA2)
o option-length: 16.
o cipv6-src-address: 16 bytes long; The IPv6 address that the client
has bound the allocated IPv4 configuration to.
7. Security Considerations
Security considerations which are applicable to [RFC7341] are also
applicable here.
8. IANA Considerations
IANA is requested to allocate a DHCPv6 option code for
OPTION_DHCP4O6_SADDR_HINT and a DHCPv4 option code for
OPTION_DHCP4O6_SADDR.
Farrer, et al. Expires August 5, 2017 [Page 7]
Internet-Draft DHCP 4o6 SADDR option February 2017
9. Acknowledgements
The authors would like to thank Ted Lemon, Lishan Li and Tatuya
Jinmei for their contributions and comments.
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC7341] Sun, Q., Cui, Y., Siodelski, M., Krishnan, S., and I.
Farrer, "DHCPv4-over-DHCPv6 (DHCP 4o6) Transport",
RFC 7341, DOI 10.17487/RFC7341, August 2014,
<http://www.rfc-editor.org/info/rfc7341>.
10.2. Informative References
[I-D.farrer-softwire-br-multiendpoints]
Farrer, I. and Q. Sun, "Multiple BR Tunnel Endpoint
Addresses", draft-farrer-softwire-br-multiendpoints-01
(work in progress), July 2015.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol",
RFC 2131, DOI 10.17487/RFC2131, March 1997,
<http://www.rfc-editor.org/info/rfc2131>.
[RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
C., and M. Carney, "Dynamic Host Configuration Protocol
for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July
2003, <http://www.rfc-editor.org/info/rfc3315>.
[RFC7596] Cui, Y., Sun, Q., Boucadair, M., Tsou, T., Lee, Y., and I.
Farrer, "Lightweight 4over6: An Extension to the Dual-
Stack Lite Architecture", RFC 7596, DOI 10.17487/RFC7596,
July 2015, <http://www.rfc-editor.org/info/rfc7596>.
[RFC7597] Troan, O., Ed., Dec, W., Li, X., Bao, C., Matsushima, S.,
Murakami, T., and T. Taylor, Ed., "Mapping of Address and
Port with Encapsulation (MAP-E)", RFC 7597,
DOI 10.17487/RFC7597, July 2015,
<http://www.rfc-editor.org/info/rfc7597>.
Farrer, et al. Expires August 5, 2017 [Page 8]
Internet-Draft DHCP 4o6 SADDR option February 2017
[RFC7598] Mrugalski, T., Troan, O., Farrer, I., Perreault, S., Dec,
W., Bao, C., Yeh, L., and X. Deng, "DHCPv6 Options for
Configuration of Softwire Address and Port-Mapped
Clients", RFC 7598, DOI 10.17487/RFC7598, July 2015,
<http://www.rfc-editor.org/info/rfc7598>.
Authors' Addresses
Ian Farrer
Deutsche Telekom AG
CTO-ATI, Landgrabenweg 151
Bonn, NRW 53227
Germany
Email: ian.farrer@telekom.de
Qi Sun
Tsinghua University
Beijing 100084
P.R. China
Phone: +86-10-6278-5822
Email: sunqi.csnet.thu@gmail.com
Yong Cui
Tsinghua University
Beijing 100084
P.R. China
Phone: +86-10-6260-3059
Email: yong@csnet1.cs.tsinghua.edu.cn
Linhui Sun
Tsinghua University
Beijing 100084
P.R. China
Phone: +86-10-6278-5822
Email: lh.sunlinh@gmail.com
Farrer, et al. Expires August 5, 2017 [Page 9]