draft-ietf-dhc-dynamic-shared-v4allocation-01.txt   draft-ietf-dhc-dynamic-shared-v4allocation-02.txt 
DHC WG Y. Cui DHC WG Y. Cui
Internet-Draft Q. Sun Internet-Draft Q. Sun
Intended status: Standards Track Tsinghua University Intended status: Standards Track Tsinghua University
Expires: January 2, 2015 I. Farrer Expires: March 30, 2015 I. Farrer
Deutsche Telekom AG Deutsche Telekom AG
Y. Lee Y. Lee
Comcast Comcast
Q. Sun Q. Sun
China Telecom China Telecom
M. Boucadair M. Boucadair
France Telecom France Telecom
July 1, 2014 September 26, 2014
Dynamic Allocation of Shared IPv4 Addresses Dynamic Allocation of Shared IPv4 Addresses
draft-ietf-dhc-dynamic-shared-v4allocation-01 draft-ietf-dhc-dynamic-shared-v4allocation-02
Abstract Abstract
This memo describes the dynamic allocation of shared IPv4 addresses This memo describes the dynamic allocation of shared IPv4 addresses
to clients using DHCPv4. Address sharing allows a single IPv4 to clients using DHCPv4. Address sharing allows a single IPv4
address to be allocated to multiple, active clients simultaneously, address to be allocated to multiple active clients simultaneously,
each client being differentiated by a unique set of transport source each client being differentiated by a unique set of transport layer
port numbers. The necessary changes to existing DHCPv4 client and source port numbers. The necessary changes to existing DHCPv4 client
server behavior are described and a new DHCPv4 option for and server behavior are described and a new DHCPv4 option for
provisioning clients with shared IPv4 addresses is included. provisioning clients with shared IPv4 addresses is included.
Due to the nature of IP addresses sharing, some limitations to their Due to the nature of IP addresses sharing, some limitations to their
applicability are necessary. This memo describes these limitations applicability are necessary. This memo describes these limitations
and recommends suitable architectures and technologies where address and recommends suitable architectures and technologies where address
sharing may be utilized. sharing may be utilized.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 49 skipping to change at page 1, line 49
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 2, 2015. This Internet-Draft will expire on March 30, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 30 skipping to change at page 2, line 30
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Functional Overview . . . . . . . . . . . . . . . . . . . . . 3 4. Functional Overview . . . . . . . . . . . . . . . . . . . . . 3
5. Client-Server Interaction . . . . . . . . . . . . . . . . . . 4 5. Client-Server Interaction . . . . . . . . . . . . . . . . . . 4
6. Server Behavior . . . . . . . . . . . . . . . . . . . . . . . 5 6. Server Behavior . . . . . . . . . . . . . . . . . . . . . . . 5
6.1. Leasing Shared and Non-Shared IPv4 Addresses from a 6.1. Leasing Shared and Non-Shared IPv4 Addresses from a
Single DHCP 4o6 Server . . . . . . . . . . . . . . . . . 6 Single DHCP 4o6 Server . . . . . . . . . . . . . . . . . 6
7. Client Behavior . . . . . . . . . . . . . . . . . . . . . . . 7 7. Client Behavior . . . . . . . . . . . . . . . . . . . . . . . 6
7.1. Restrictions to Client Usage of a Shared IPv4 Address . . 7 7.1. Restrictions to Client Usage of a Shared IPv4 Address . . 7
8. DHCPv4 Port Parameters Option . . . . . . . . . . . . . . . . 8 8. DHCPv4 Port Parameters Option . . . . . . . . . . . . . . . . 8
9. Security Considerations . . . . . . . . . . . . . . . . . . . 9 9. Security Considerations . . . . . . . . . . . . . . . . . . . 9
9.1. Denial-of-Service . . . . . . . . . . . . . . . . . . . . 9 9.1. Denial-of-Service . . . . . . . . . . . . . . . . . . . . 9
9.2. Port Randomization . . . . . . . . . . . . . . . . . . . 9 9.2. Port Randomization . . . . . . . . . . . . . . . . . . . 9
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
12.1. Normative References . . . . . . . . . . . . . . . . . . 10 12.1. Normative References . . . . . . . . . . . . . . . . . . 10
12.2. Informative References . . . . . . . . . . . . . . . . . 11 12.2. Informative References . . . . . . . . . . . . . . . . . 11
skipping to change at page 3, line 15 skipping to change at page 3, line 15
Two main types of solutions have emerged to address the problem (see Two main types of solutions have emerged to address the problem (see
Appendix A of [RFC6269]): Appendix A of [RFC6269]):
1. Deploying Carrier Grade Network Address Translation devices 1. Deploying Carrier Grade Network Address Translation devices
(CGNAT, [RFC6888]). (CGNAT, [RFC6888]).
2. Distributing the same public IPv4 address to multiple clients 2. Distributing the same public IPv4 address to multiple clients
differentiated by non-overlapping layer 4 port sets. differentiated by non-overlapping layer 4 port sets.
This memo focuses on the second category of solutions. This memo focuses on the second category of solutions.
[I-D.ietf-dhc-dhcpv4-over-dhcpv6] introduces a "DHCP 4o6 Server", [RFC7341] introduces a "DHCP 4o6 Server", which offers dynamic
which offers dynamic leasing for IPv4 addresses to clients as in leasing for IPv4 addresses to clients as in DHCPv4 [RFC2131] but
DHCPv4 [RFC2131] but transported within a DHCPv6 message flow. This transported within a DHCPv6 message flow. This memo specifies a new
memo specifies a new DHCPv4 option: OPTION_V4_PORTPARAMS, and DHCPv4 option: OPTION_V4_PORTPARAMS, and describes how it can be used
describes how it can be used for the dynamic leasing of shared IPv4 for the dynamic leasing of shared IPv4 addresses.
addresses.
This extension is only suitable for specific architectures based on
the Address plus Port model (A+P) [RFC6346].
Although DHCPv4 over DHCPv6 is used as the underlying DHCPv4 Although DHCPv4 over DHCPv6 is used as the underlying DHCPv4
transport mechanism throughout this document, OPTION_V4_PORTPARAMS as transport mechanism throughout this document, OPTION_V4_PORTPARAMS as
a DHCPv4 option may also be used in other solutions such as DHCPv4 a DHCPv4 option may also be used in other solutions such as DHCPv4
over IPv6 [I-D.ietf-dhc-dhcpv4-over-ipv6]. The usage of over IPv6 [I-D.ietf-dhc-dhcpv4-over-ipv6]. The usage of
OPTION_V4_PORTPARAMS in these cases is out of scope of this document. OPTION_V4_PORTPARAMS in these cases is out of scope of this document.
This extension is only suitable for specific architectures based on
the Address plus Port model (A+P) [RFC6346].
2. Requirements Language 2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
3. Terminology 3. Terminology
This document makes use of the following terms: This document makes use of the following terms:
skipping to change at page 4, line 13 skipping to change at page 4, line 12
IPv4 addresses described in [RFC2131]. The essential difference is IPv4 addresses described in [RFC2131]. The essential difference is
that the DHCP 4o6 Server MAY allocate the same IPv4 address to more that the DHCP 4o6 Server MAY allocate the same IPv4 address to more
than one DHCP 4o6 client simultaneously, providing that each shared than one DHCP 4o6 client simultaneously, providing that each shared
address allocation also includes a range of layer 4 source ports address allocation also includes a range of layer 4 source ports
unique to that address (i.e., the combined tuple of IPv4 address and unique to that address (i.e., the combined tuple of IPv4 address and
Port Set ID MUST be unique for each active lease). Port Set ID MUST be unique for each active lease).
The DHCP 4o6 client implements OPTION_V4_PORTPARAMS (described The DHCP 4o6 client implements OPTION_V4_PORTPARAMS (described
below), which is a DHCPv4 option containing PSID information. The below), which is a DHCPv4 option containing PSID information. The
client includes this option within the Parameter Request List option client includes this option within the Parameter Request List option
[RFC2132] in its DHCPv4 request, indicating its support for shared [RFC2132] in its DHCPv4 request, indicating its support for shared,
IPv4 addressing to the DHCP 4o6 server. dynamic address leasing to the DHCP 4o6 server.
OPTION_V4_PORTPARAMS is also implemented by the server to identify OPTION_V4_PORTPARAMS is also implemented by the server to identify
clients which support shared, dynamic address leasing. With this clients which support shared, dynamic address leasing. With this
option, the server can dynamically allocate PSID to the client and option, the server can dynamically allocate PSIDs to clients and
maintain shared IPv4 address leases. The server then manages unique maintain shared IPv4 address leases. The server then manages unique
client leases based on both the IPv4 address and PSID tuple, instead client leases based the IPv4 address and PSID tuple, instead of using
of using only the IPv4 address. only the IPv4 address.
5. Client-Server Interaction 5. Client-Server Interaction
The following DHCPv4 message flow is transported within the The following DHCPv4 message flow is transported within the
DHCPv4-query and DHCPv4-response messages as in DHCPv4 over DHCPv6 DHCPv4-query and DHCPv4-response messages as in DHCPv4 over DHCPv6
[I-D.ietf-dhc-dhcpv4-over-dhcpv6]. [RFC7341].
1. When the client constructs its DHCPv4 DHCPDISCOVER message to be 1. When the client constructs the DHCPv4 DHCPDISCOVER message to be
transported within the DHCPv4-query message, the DHCPDISCOVER transported within the DHCPv4-query message, the DHCPDISCOVER
message MUST include the client identifier option (constructed as message MUST include the client identifier option (constructed as
per [RFC4361] and the Parameter Request List (PRL) option with per [RFC4361] and the Parameter Request List (PRL) option with
the code of OPTION_V4_PORTPARAMS. The client MAY insert an the code of OPTION_V4_PORTPARAMS. The client MAY insert an
OPTION_V4_PORTPARAMS with a non-zero value in the PSID-Len field OPTION_V4_PORTPARAMS with a non-zero value in the PSID-Len field
to indicate a preferred size for the restricted port set to the to indicate a preferred size for the restricted port set to the
DHCP 4o6 Server. DHCP 4o6 Server.
2. DHCP 4o6 Servers that receive the DHCPDISCOVER message and 2. DHCP 4o6 Servers that receive the DHCPDISCOVER message and
support shared IPv4 addresses responds with a DHCPOFFER message support shared IPv4 addresses respond with a DHCPOFFER message
containing an IPv4 address in the 'yiaddr' field. The response containing an IPv4 address in the 'yiaddr' field. The response
MUST also include the OPTION_V4_PORTPARAMS option containing an MUST also include the OPTION_V4_PORTPARAMS option containing an
available restricted port set. If the received available restricted port set. If the received
OPTION_V4_PORTPARAMS field contains a non-zero PSID-Len field, OPTION_V4_PORTPARAMS contains a non-zero PSID-Len field, the DHCP
the DHCP 4o6 Server MAY allocate a port set of the requested size 4o6 Server MAY allocate a port set of the requested size to the
to the client (depending on policy). The DHCPOFFER message is client (depending on policy). The DHCPOFFER message is then
included in the DHCPv4-response message and sent to the client. included in the DHCPv4-response message and sent to the client.
3. The client evaluates all received DHCPOFFER messages and selects 3. The client evaluates all received DHCPOFFER messages and selects
one (e.g. based on the configuration parameters received, such as one (e.g. based on the configuration parameters received, such as
the size of the offered port set). The client then sends a the size of the offered port set). The client then sends a
DHCPREQUEST encapsulated in the DHCPv4-query message, containing DHCPREQUEST encapsulated in the DHCPv4-query message, containing
the selected DHCP server's server identifier and the the selected DHCP server's server identifier and the
corresponding OPTION_V4_PORTPARAMS received in the DHCPOFFER corresponding OPTION_V4_PORTPARAMS received in the DHCPOFFER
message. message.
4. The server identified in the DHCPREQUEST message creates a 4. The server identified in the DHCPREQUEST message creates a
binding for the client. The binding includes the client binding for the client. The binding includes the client
identifier, the IPv4 address and the PSID. These parameters are identifier, the IPv4 address and the PSID. These parameters are
used by both the server and the client to identify a lease in any used by both the server and the client to identify a lease in any
DHCP messages. The server responds with a DHCPACK message DHCP message. The server responds with a DHCPACK message
containing the configuration parameters for the requesting containing the configuration parameters for the requesting
client. client.
5. On receipt of the DHCPACK message with the configuration 5. On receipt of the DHCPACK message with the configuration
parameters, the client MUST NOT perform a final check on the parameters, the client MUST NOT perform a final check on the
address, such as ARPing for a duplicate allocated address. address, such as ARPing for a duplicate allocated address.
6. If the client chooses to relinquish its lease by sending a 6. If the client chooses to relinquish its lease by sending a
DHCPRELEASE message, the client MUST include the original client DHCPRELEASE message, the client MUST include the original client
identifier, the leased network address and the identifier, the leased network address and OPTION_V4_PORTPARAMS
OPTION_V4_PORTPARAMS containing the allocated port set to (with the allocated PSID) to identify the lease to be released.
identify the lease to be released.
In the case that the client has stored the previously allocated In the case that the client has stored the previously allocated
address and restricted port set, the process described in section 3.2 address and restricted port set, the process described in section 3.2
of [RFC2131] MUST be followed. The OPTION_V4_PORTPARAMS MUST be of [RFC2131] MUST be followed. The OPTION_V4_PORTPARAMS MUST be
included in the message flow, with the client's requested port set included in the message flow, with the client's requested port set
information being included in the DHCPDISCOVER message. information being included in the DHCPDISCOVER message.
6. Server Behavior 6. Server Behavior
The DHCP 4o6 Server MUST NOT reply with the OPTION_V4_PORTPARAMS The DHCP 4o6 Server MUST NOT reply with OPTION_V4_PORTPARAMS unless
until the client has explicitly listed the option code in the the client has explicitly listed the option code in the Parameter
Parameter Request List (Option 55) [RFC2132]. Request List (Option 55) [RFC2132].
The DHCP 4o6 Server SHOULD reply with OPTION_V4_PORTPARAMS if the The DHCP 4o6 Server SHOULD reply with OPTION_V4_PORTPARAMS if the
client includes the OPTION_V4_PORTPARAMS in its Parameter Request client includes OPTION_V4_PORTPARAMS in its Parameter Request List.
List. In order to achieve the dynamic management of shared IPv4 In order to achieve the dynamic management of shared IPv4 addresses,
addresses, the server MUST run an address and port-set pool that the server MUST run an address and port-set pool that provides the
provides the same function as the address pool in a regular DHCP same function as the address pool in a regular DHCP server. The
server. The server MUST use the combination of address and PSID as server MUST use the combination of address and PSID as the key for
the key for maintaining the state of a lease, and for searching for maintaining the state of a lease, and for searching for an available
an available lease for assignment. The leasing database MUST include lease for assignment. The leasing database MUST include the IPv4
the IPv4 address, PSID and client identifier of the requesting address, PSID and client identifier of the requesting client.
client.
When a server receives a DHCPDISCOVER message with When a server receives a DHCPDISCOVER message with
OPTION_V4_PORTPARAMS in the Parameter Request List option, the server OPTION_V4_PORTPARAMS in the Parameter Request List option, the server
determines an IPv4 address with a PSID for the requesting client. If determines an IPv4 address with a PSID for the requesting client. If
an IPv4 address with a PSID is available, the server SHOULD follow an IPv4 address with a PSID is available, the server SHOULD follow
the logic below to select which specific address and PSID to the logic below to select which specific address and PSID to
provision to the client. The logic is similar to that in provision to the client. The logic is similar to that in
Section 4.3.1 of [RFC2131]. Section 4.3.1 of [RFC2131].
o The client's current address with the PSID as recorded in the o The client's current address with the PSID as recorded in the
skipping to change at page 6, line 7 skipping to change at page 6, line 4
When a server receives a DHCPDISCOVER message with When a server receives a DHCPDISCOVER message with
OPTION_V4_PORTPARAMS in the Parameter Request List option, the server OPTION_V4_PORTPARAMS in the Parameter Request List option, the server
determines an IPv4 address with a PSID for the requesting client. If determines an IPv4 address with a PSID for the requesting client. If
an IPv4 address with a PSID is available, the server SHOULD follow an IPv4 address with a PSID is available, the server SHOULD follow
the logic below to select which specific address and PSID to the logic below to select which specific address and PSID to
provision to the client. The logic is similar to that in provision to the client. The logic is similar to that in
Section 4.3.1 of [RFC2131]. Section 4.3.1 of [RFC2131].
o The client's current address with the PSID as recorded in the o The client's current address with the PSID as recorded in the
client's current lease binding, ELSE client's current lease binding, ELSE
o The client's previous address with PSID as recorded in the o The client's previous address with PSID as recorded in the
client's (expired or released) binding, if that address with the client's (expired or released) binding, if that address with PSID
PSID is in the server's pool of available addresses and PSIDs, and is in the server's pool of available addresses and PSIDs, and not
not already allocated, ELSE already allocated, ELSE
o The address requested in the 'Requested IP Address' option along o The address requested in the 'Requested IP Address' option along
with the PSID in the OPTION_V4_PORTPARAMS, if the requested pair with the PSID in the OPTION_V4_PORTPARAMS, if the requested pair
of address and PSID is valid and not already allocated, ELSE of address and PSID is valid and not already allocated, ELSE
o A new address with a PSID allocated from the server's pool of o A new address with a PSID allocated from the server's pool of
available addresses and PSIDs. available addresses and PSIDs.
Upon receipt of a DHCPRELEASE message with OPTION_V4_PORTPARAMS, the Upon receipt of a DHCPRELEASE message with OPTION_V4_PORTPARAMS, the
server searches for the lease using the address in the 'ciaddr' field server searches for the lease using the address in the 'ciaddr' field
and the PSID information in the OPTION_V4_PORTPARAMS, and marks the and the PSID information in the OPTION_V4_PORTPARAMS, and marks the
lease as unallocated. lease as unallocated.
The port-set assignment MUST be coupled with the address assignment The port-set assignment MUST be coupled with the address assignment
process. Therefore server MUST assign the address and port set in process. Therefore the server MUST assign the address and port set
the same DHCP messages. Lease information for the address is also in the same DHCP messages.
applicable to the port-set.
When defining the pools of IPv4 addresses and PSIDs which are When defining the pools of IPv4 addresses and PSIDs which are
available to lease to clients, the server MUST implement a mechanism available to lease to clients, the server MUST implement a mechanism
to reserve some port ranges (e.g. 'well-known-ports' 0-1023) from to reserve some port ranges (e.g. 'well-known-ports' 0-1023) from
allocation to clients. The reservation policy SHOULD be allocation to clients. The reservation policy SHOULD be
configurable. configurable.
6.1. Leasing Shared and Non-Shared IPv4 Addresses from a Single DHCP 6.1. Leasing Shared and Non-Shared IPv4 Addresses from a Single DHCP
4o6 Server 4o6 Server
skipping to change at page 7, line 7 skipping to change at page 6, line 48
receive shared addresses. For example, two separate IPv4 addressing receive shared addresses. For example, two separate IPv4 addressing
pools could be used, one of which allocates IPv4 addresses and PSIDs pools could be used, one of which allocates IPv4 addresses and PSIDs
only to clients that have requested them. only to clients that have requested them.
If the server is only configured with address pools for shared If the server is only configured with address pools for shared
address allocation, it MUST discard requests that do not contain address allocation, it MUST discard requests that do not contain
OPTION_V4_PORTPARAMS in the Parameter Request List option. OPTION_V4_PORTPARAMS in the Parameter Request List option.
7. Client Behavior 7. Client Behavior
The DHCP 4o6 client applying for a shared IPv4 address MUST include A DHCP 4o6 client applying for a shared IPv4 address MUST include the
the OPTION_V4_PORTPARAMS code in the Parameter Request List option. OPTION_V4_PORTPARAMS option code in the Parameter Request List
The client retrieves a port set using the values contained in option. The client retrieves a port set using the values contained
OPTION_V4_PORTPARAMS. The client MAY use a non-zero value for the in OPTION_V4_PORTPARAMS. The client MAY use a non-zero value for the
PSID-len field within OPTION_PORTPARMAS in the DHCPDISCOVER message, PSID-len field within OPTION_V4_PORTPARAMS in the DHCPDISCOVER
for requesting a specific size of port set. message, for requesting a specific size of port set.
A client that requests OPTION_V4_PORTPARAMS, but receives DHCPOFFER A client that requests OPTION_V4_PORTPARAMS, but receives DHCPOFFER
and DHCPACK messages without OPTION_V4_PORTPARAMS SHOULD proceed as and DHCPACK messages without OPTION_V4_PORTPARAMS SHOULD proceed as
defined in [I-D.ietf-dhc-dhcpv4-over-dhcpv6] and configure a full defined in [RFC7341] and configure a full IPv4 address with no
IPv4 address with no address sharing. address sharing.
When receiving a DHCPACK message containing OPTION_V4_PORTPARAMS, the When receiving a DHCPACK message containing OPTION_V4_PORTPARAMS, the
client MUST use the receivd explicit PSID for configuring the client MUST use the received explicit PSID for configuring the
interface for which the DHCP 4o6 request was made. interface for which the DHCP 4o6 request was made.
The client MUST NOT probe a newly received IPv4 address (e.g., using The client MUST NOT probe a newly received IPv4 address (e.g., using
ARP) to see if it is in use by another host. ARP) to see if it is in use by another host.
When the client renews or releases its DHCP lease, it MUST put the When the client renews or releases its DHCP lease, it MUST put the
values of offset, PSID length and PSID into OPTION_V4_PORTPARAMS, and values of offset, PSID length and PSID into OPTION_V4_PORTPARAMS, and
send it to the server within corresponding DHCPv4 messages that are send it to the server within corresponding DHCPv4 messages that are
conveyed through DHCPv4-query message. conveyed through DHCPv4-query message.
skipping to change at page 8, line 14 skipping to change at page 8, line 7
The mechanism by which a client implements the above rules is out of The mechanism by which a client implements the above rules is out of
the scope of this document. the scope of this document.
In the event that the DHCPv4 over DHCPv6 configuration mechanism In the event that the DHCPv4 over DHCPv6 configuration mechanism
fails for any reason, the client MUST NOT configure an IPv4 link- fails for any reason, the client MUST NOT configure an IPv4 link-
local address [RFC3927](taken from the 169.254.0.0/16 range). local address [RFC3927](taken from the 169.254.0.0/16 range).
8. DHCPv4 Port Parameters Option 8. DHCPv4 Port Parameters Option
The Port Parameters Option for DHCPv4 is specified to convey the The DHCPv4 Port Parameters Option uses the same fields as the S46
restricted set of layer 4 source ports that are necessary to Port Parameters Option described in Section 4.5 of
dynamically allocate a shared address. The option uses the same
fields as the S46 Port Parameters Option described in Section 4.5 of
[I-D.ietf-softwire-map-dhcp], implemented as a DHCPv4 option. This [I-D.ietf-softwire-map-dhcp], implemented as a DHCPv4 option. This
is to maintain compatibility with existing port set implementations. is to maintain compatibility with existing port set implementations.
The format of OPTION_V4_PORTPARAMS is shown in Figure 1. The format of OPTION_V4_PORTPARAMS is shown in Figure 1.
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| option-code | option-len | | option-code | option-len |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
skipping to change at page 9, line 14 skipping to change at page 9, line 7
[I-D.ietf-softwire-map] Section 5.1 provides a full description of [I-D.ietf-softwire-map] Section 5.1 provides a full description of
how the PSID is interpreted by the client. how the PSID is interpreted by the client.
In order to exclude the system ports ([RFC6335]) or ports saved by In order to exclude the system ports ([RFC6335]) or ports saved by
ISPs, the former port-sets that contain well-known ports SHOULD NOT ISPs, the former port-sets that contain well-known ports SHOULD NOT
be assigned. be assigned.
9. Security Considerations 9. Security Considerations
The security considerations in [RFC2131] and The security considerations in [RFC2131] and [RFC7341] are to be
[I-D.ietf-dhc-dhcpv4-over-dhcpv6] are to be considered. Additional considered. Additional considerations are elaborated in the
considerations are elaborated in the following sub-sections. following sub-sections.
9.1. Denial-of-Service 9.1. Denial-of-Service
The solution is vulnerable to DoS attacks when used on a shared The solution is vulnerable to DoS attacks when used on a shared
medium or when access network authentication is not a prerequisite to medium or when access network authentication is not a prerequisite to
IP address assignment. The solution SHOULD only be used on point-to- IP address assignment. The solution SHOULD only be used on point-to-
point links, tunnels, and/or in environments where authentication at point links, tunnels, and/or in environments where authentication at
the link layer is performed before IP address assignment. It is not the link layer is performed before IP address assignment. It is not
suitable for network access over shared mediums. suitable for network access over shared mediums.
skipping to change at page 10, line 25 skipping to change at page 10, line 18
[I-D.farrer-dhc-shared-address-lease]. [I-D.farrer-dhc-shared-address-lease].
The authors would like to thank Peng Wu, Gabor Bajko, Teemu The authors would like to thank Peng Wu, Gabor Bajko, Teemu
Savolainen, Ted Lemon, Tina Tsou, Pierre Levis, Cong Liu and Marcin Savolainen, Ted Lemon, Tina Tsou, Pierre Levis, Cong Liu and Marcin
Siodelski, for their contributions to this work. Siodelski, for their contributions to this work.
12. References 12. References
12.1. Normative References 12.1. Normative References
[I-D.ietf-dhc-dhcpv4-over-dhcpv6]
Sun, Q., Cui, Y., Siodelski, M., Krishnan, S., and I.
Farrer, "DHCPv4 over DHCPv6 Transport", draft-ietf-dhc-
dhcpv4-over-dhcpv6-09 (work in progress), June 2014.
[I-D.ietf-softwire-map] [I-D.ietf-softwire-map]
Troan, O., Dec, W., Li, X., Bao, C., Matsushima, S., Troan, O., Dec, W., Li, X., Bao, C., Matsushima, S.,
Murakami, T., and T. Taylor, "Mapping of Address and Port Murakami, T., and T. Taylor, "Mapping of Address and Port
with Encapsulation (MAP)", draft-ietf-softwire-map-10 with Encapsulation (MAP)", draft-ietf-softwire-map-10
(work in progress), January 2014. (work in progress), January 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC
skipping to change at page 11, line 13 skipping to change at page 10, line 49
2010. 2010.
[RFC6056] Larsen, M. and F. Gont, "Recommendations for Transport- [RFC6056] Larsen, M. and F. Gont, "Recommendations for Transport-
Protocol Port Randomization", BCP 156, RFC 6056, January Protocol Port Randomization", BCP 156, RFC 6056, January
2011. 2011.
[RFC6269] Ford, M., Boucadair, M., Durand, A., Levis, P., and P. [RFC6269] Ford, M., Boucadair, M., Durand, A., Levis, P., and P.
Roberts, "Issues with IP Address Sharing", RFC 6269, June Roberts, "Issues with IP Address Sharing", RFC 6269, June
2011. 2011.
[RFC7341] Sun, Q., Cui, Y., Siodelski, M., Krishnan, S., and I.
Farrer, "DHCPv4-over-DHCPv6 (DHCP 4o6) Transport", RFC
7341, August 2014.
12.2. Informative References 12.2. Informative References
[I-D.bajko-pripaddrassign] [I-D.bajko-pripaddrassign]
Bajko, G., Savolainen, T., Boucadair, M., and P. Levis, Bajko, G., Savolainen, T., Boucadair, M., and P. Levis,
"Port Restricted IP Address Assignment", draft-bajko- "Port Restricted IP Address Assignment", draft-bajko-
pripaddrassign-04 (work in progress), April 2012. pripaddrassign-04 (work in progress), April 2012.
[I-D.farrer-dhc-shared-address-lease] [I-D.farrer-dhc-shared-address-lease]
Farrer, I., "Dynamic Allocation of Shared IPv4 Addresses Farrer, I., "Dynamic Allocation of Shared IPv4 Addresses
using DHCPv4 over DHCPv6", draft-farrer-dhc-shared- using DHCPv4 over DHCPv6", draft-farrer-dhc-shared-
skipping to change at page 11, line 40 skipping to change at page 11, line 32
[I-D.ietf-softwire-lw4over6] [I-D.ietf-softwire-lw4over6]
Cui, Y., Qiong, Q., Boucadair, M., Tsou, T., Lee, Y., and Cui, Y., Qiong, Q., Boucadair, M., Tsou, T., Lee, Y., and
I. Farrer, "Lightweight 4over6: An Extension to the DS- I. Farrer, "Lightweight 4over6: An Extension to the DS-
Lite Architecture", draft-ietf-softwire-lw4over6-10 (work Lite Architecture", draft-ietf-softwire-lw4over6-10 (work
in progress), June 2014. in progress), June 2014.
[I-D.ietf-softwire-map-dhcp] [I-D.ietf-softwire-map-dhcp]
Mrugalski, T., Troan, O., Farrer, I., Perreault, S., Dec, Mrugalski, T., Troan, O., Farrer, I., Perreault, S., Dec,
W., Bao, C., leaf.yeh.sdo@gmail.com, l., and X. Deng, W., Bao, C., leaf.yeh.sdo@gmail.com, l., and X. Deng,
"DHCPv6 Options for configuration of Softwire Address and "DHCPv6 Options for configuration of Softwire Address and
Port Mapped Clients", draft-ietf-softwire-map-dhcp-07 Port Mapped Clients", draft-ietf-softwire-map-dhcp-08
(work in progress), March 2014. (work in progress), July 2014.
[I-D.sun-dhc-port-set-option] [I-D.sun-dhc-port-set-option]
Qiong, Q., Lee, Y., Sun, Q., Bajko, G., and M. Boucadair, Qiong, Q., Lee, Y., Sun, Q., Bajko, G., and M. Boucadair,
"Dynamic Host Configuration Protocol (DHCP) Option for "Dynamic Host Configuration Protocol (DHCP) Option for
Port Set Assignment", draft-sun-dhc-port-set-option-02 Port Set Assignment", draft-sun-dhc-port-set-option-02
(work in progress), October 2013. (work in progress), October 2013.
[I-D.vixie-dnsext-dns0x20] [I-D.vixie-dnsext-dns0x20]
Vixie, P. and D. Dagon, "Use of Bit 0x20 in DNS Labels to Vixie, P. and D. Dagon, "Use of Bit 0x20 in DNS Labels to
Improve Transaction Identity", draft-vixie-dnsext- Improve Transaction Identity", draft-vixie-dnsext-
 End of changes. 31 change blocks. 
74 lines changed or deleted 69 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/