Internet DRAFT - draft-wu-dhc-port-set-option
draft-wu-dhc-port-set-option
Network Working Group P. Wu
Internet-Draft Tsinghua University
Intended status: Standards Track Y. Lee
Expires: October 30, 2012 Comcast
Q. Sun
China Telecom
T. Lemon
Nominum, Inc.
April 28, 2012
Dynamic Host Configuration Protocol (DHCP) Options for Port Set
Assignment
draft-wu-dhc-port-set-option-00
Abstract
Due to the exhaustion of global IPv4 address space, there are demands
arising for IPv4 address sharing between end users. In such context,
different users can employ the same address, but different ports.
This document defines two DHCP options for assigning a set of ports
to a device. One is used for allocating continuous port set, while
the other is designed for non-continuous port set allocation.
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 October 30, 2012.
Copyright Notice
Copyright (c) 2012 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
Wu, et al. Expires October 30, 2012 [Page 1]
Internet-Draft DHCP Option for Port Set April 2012
(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 . . . . . . . . . . . . . . . . . . . . 4
3. DHCP Option Format . . . . . . . . . . . . . . . . . . . . . . 5
3.1. Continuous Port Set Option . . . . . . . . . . . . . . . . 5
3.2. Noncontinuous Port Set Option . . . . . . . . . . . . . . 5
4. Option Examples . . . . . . . . . . . . . . . . . . . . . . . 8
4.1. Continuous Port Set Option Example . . . . . . . . . . . . 8
4.2. Noncontinuous Port Set Option Example . . . . . . . . . . 8
5. Server Behavior . . . . . . . . . . . . . . . . . . . . . . . 10
6. Client Behavior . . . . . . . . . . . . . . . . . . . . . . . 11
7. Security Consideration . . . . . . . . . . . . . . . . . . . . 12
8. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 13
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.1. Normative References . . . . . . . . . . . . . . . . . . . 14
9.2. Informative References . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
Wu, et al. Expires October 30, 2012 [Page 2]
Internet-Draft DHCP Option for Port Set April 2012
1. Introduction
Due to the exhaustion of global IPv4 address space, there are demands
arising for IPv4 address sharing between end users, especially in
IPv4-over-IPv6 scenarios. With address sharing, different users can
employ the same address, but different port space. In such cases,
during the address provisioning process, the port numbers a user
device can use should be allocated as well.
This document defines two DHCPv4 options to carry the specific
parameters for port set assignment. The Continuous Port Set Option
is used for allocating continuous port set, while the Noncontinuous
Port Set Option is designed for non-continuous port set allocation.
Wu, et al. Expires October 30, 2012 [Page 3]
Internet-Draft DHCP Option for Port Set April 2012
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].
Wu, et al. Expires October 30, 2012 [Page 4]
Internet-Draft DHCP Option for Port Set April 2012
3. DHCP Option Format
The format and usage of the two options are defined in the following
sections.
3.1. Continuous Port Set Option
This option specifies the min and max port number assigned to a DHCP
client, which determines a continuous port range. Figure 1 shows the
bit-representation of the option.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| OPTION_CON_PORT_SET | option-length |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| Min Port Number |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| Max Port Number |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Figure 1 Continuous Port Set Option Format
o option-code: OPTION_CON_PORT_SET(TBD1)
o option-length: An 8-bit field indicating the length of the option
excluding the 'Option Code' and the 'Option Length' fields. In
this option, its value is 4 octets.
o Min Port Number: The minimum port number in the port range. The
value of Min Port Number MUST be within 0~65535.
o Max Port Number: The maximum port number in the port range. The
value of Max Port Number MUST be within 0~65535, and not smaller
than the value of Min Port Number.
Section 4.1 further explains the above parameters with an example.
3.2. Noncontinuous Port Set Option
There can be requests for noncontinuous port set. This option caters
to such requirements. In this option, the PSID is short for Port-Set
ID which identifies a set of ports exclusively assigned to a device.
It is defined in the MAP draft
[I-D.mdt-softwire-mapping-address-and-port], and so are PSID Offset
and the parameters of (a,k,m) used below. Figure 2 shows the format
of the Noncontinuous Port Set Option.
Wu, et al. Expires October 30, 2012 [Page 5]
Internet-Draft DHCP Option for Port Set April 2012
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| OPTION_NCON_PORT_SET | option-length |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| PSID Offset | PSID length |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| PSID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Figure 2 Noncontinuous Port Set Option Format
o option-code: OPTION_NCON_PORT_SET(TBD2)
o option-length: An 8-bit field indicating the length of the option
excluding the 'Option Code' and the 'Option Length' fields. In
this option, the option-length is 4 octets.
o PSID Offset(a): PSID Offset in MAP (also known as 'a'). The first
'a' bits in the port number are used to exclude the well-known
ports, as well as to represent the port range index. If 'a' is
larger than 0, ports 0 ~ 2^(16-a)-1 are reserved from allocation,
and a port set has 2^a-1 port ranges with different port range
index. If 'a' is 0, the whole port range (0~65535) can be
assigned by the server, and the port set has only one port range
and thus becomes continuous.
o PSID length(k): The length of PSID in bits(also known as 'k').
After the first 'a' bits, there are k bits in the port number
representing value of PSID. Subsequently, the address sharing
ratio would be 2^k.
o PSID: PSID in MAP. The PSID value algorithmically identifies a
set of ports assigned to a CE. The first k-bits on the left of
this 2-octets field is the PSID value. The remaining (16-k) bits
on the right are padding zeros.
In the context of noncontinuous port set, as is defined in Section
5.1.1 of [I-D.mdt-softwire-mapping-address-and-port], the port number
consist of Port Range Index (A(j) in Figure 3, a bits), PSID (k bits)
and Continuous Port Index (M(i) in Figure 3, m bits). For the
readers' convenience, the format of the port number is included in
this draft as well. i,j, A(j) and M(i) are the same as the definition
in the GMA port mapping algorithm
[I-D.mdt-softwire-mapping-address-and-port]
0 15
+---------------+-----------------+-------------------+
Wu, et al. Expires October 30, 2012 [Page 6]
Internet-Draft DHCP Option for Port Set April 2012
| A (j) | PSID (K) | M (i) |
+---------------+----------+------+-------------------+
|<--- a bits--->|<-----k bits---->|<----- m bits----->|
Figure 3 Bit Representation of a GMA port number
If PSID Offset is greater than 0(a > 0), j MUST be larger than 0, in
order to exclude the system ports ([I-D.ietf-tsvwg-iana-ports]) or
ports saved by SPs. If a = 0, j may be 0 to allow the provisioning
of the reserved ports. With a given sharing ratio (2^k) and the PSID
value, the ports assigned to a client can be calculated by increasing
i and j continuously. Section 4.2 explains the algorithm further
with an example.
Wu, et al. Expires October 30, 2012 [Page 7]
Internet-Draft DHCP Option for Port Set April 2012
4. Option Examples
4.1. Continuous Port Set Option Example
A Continuous Port Set Option example with the assigned port range
4096~8191 is as follows. There is no specific requirement on the
port number format.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| OPTION_CON_PORT_SET | 4 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| 4096 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| 8191 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Example 1 Continuous Port Set Option Example
4.2. Noncontinuous Port Set Option Example
Here is an example of Noncontinuous Port Set Option, with PSID offset
4, PSID length 10 and PSID value 1021 (i.e. a = 4, k = 10 and PSID =
1021):
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| OPTION_NCON_PORT_SET | 4 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| 4 | 10 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0|
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Example 2 Noncontinuous Port Set Option Example (a = 4, k = 10, PSID
= 1021)
The first 10 bits of the last two octets(11 1111 1101) are the value
of PSID. And the allocated port ranges are:
Port-range-1 Port-range-2
PSID=1021| 8180, 8181, 8182, 8183, | 12276, 12277, 12278, 12279,| ...
All these port ranges form the full port set.
Wu, et al. Expires October 30, 2012 [Page 8]
Internet-Draft DHCP Option for Port Set April 2012
The port set calculation procedure of a client when receiving the
parameters of (a,k,PSID) follows the GMA algorithm proposed in
section 5.1 of [I-D.mdt-softwire-mapping-address-and-port]. Two
examples in [I-D.mdt-softwire-mapping-address-and-port] are
illustrated here for the readers' convenience.
For sharing ratio 1024, PSID offset a = 4 and PSID length k = 10
Port-range-1 Port-range-2
PSID=0 | 4096, 4097, 4098, 4099, | 8192, 8193, 8194, 8195, | ...
PSID=1 | 4100, 4101, 4102, 4103, | 8196, 8197, 8198, 8199, | ...
PSID=2 | 4104, 4105, 4106, 4107, | 8200, 8201, 8202, 8203, | ...
PSID=3 | 4108, 4109, 4110, 4111, | 8204, 8205, 8206, 8207, | ...
...
PSID=1023| 8188, 8189, 8190, 8191, | 12284, 12285, 12286, 12287,| ...
Example 3: GMA calculation with a = 4, k = 10
For sharing ratio 64, PSID offset a = 0 and PSID length k = 6
Port-set
PSID=0 | [ 0 - 1023]
PSID=1 | [1024 - 2047]
PSID=2 | [2048 - 3071]
PSID=3 | [3072 - 4095]
...
PSID=63 | [64512 - 65535]
Example 4: GMA calculation with a = 0, k = 6
Wu, et al. Expires October 30, 2012 [Page 9]
Internet-Draft DHCP Option for Port Set April 2012
5. Server Behavior
The server will not reply with either of the two options until the
client has explicitly listed one of them in the Parameter Request
List(Option 55).
Server MUST reply with Continuous Port Set Option if the client
requested OPTION_CON_PORT_SET in its Parameter Request List. Server
MUST reply with Noncontinuous Port Set Option if the client requested
OPTION_NCON_PORT_SET in its Parameter Request List. The server MUST
run an address & port-set pool which plays the same role as address
pool in regular DHCP server. If the server supports Noncontinuous
Port Set Option, address & port-set pool MUST follow the GMA-format
port-set.
The port-set assignment SHOULD be coupled with the address assignment
process. Therefore server SHOULD assign the address and port set in
the same DHCP messages. and the lease information for the address is
applicable to the port-set as well.
Wu, et al. Expires October 30, 2012 [Page 10]
Internet-Draft DHCP Option for Port Set April 2012
6. Client Behavior
The DHCP client applying for the a port-set MUST include either the
OPTION_CON_PORT_SET or OPTION_NCON_PORT_SET code in the Parameter
Request List (Option 55). If the client requests the
OPTION_CON_PORT_SET, it will retrieve a Continuous Port Set Option
and use the ports ranging from Min port number to Max port number.
If the client requests OPTION_NCON_PORT_SET and retrieves a
Noncontinuous Port Set Option, its port set follows the specific port
number format defined in section 5.1.1 of MAP draft
[I-D.mdt-softwire-mapping-address-and-port]. The client derives the
PSID offset (a bits), PSID length (k bits) and the PSID from the
option, and performs GMA to get the precise port set. The client
renews or releases the DHCP lease with the port set.
Wu, et al. Expires October 30, 2012 [Page 11]
Internet-Draft DHCP Option for Port Set April 2012
7. Security Consideration
This specification raises no particular security issues to the DHCPv4
protocol model.
Wu, et al. Expires October 30, 2012 [Page 12]
Internet-Draft DHCP Option for Port Set April 2012
8. IANA Consideration
IANA is kindly requested to allocate DHCP option codes to the
OPTION_CON_PORT_SET and OPTION_NCON_PORT_SET. Both codes should be
added to the DHCP option code space.
Wu, et al. Expires October 30, 2012 [Page 13]
Internet-Draft DHCP Option for Port Set April 2012
9. References
9.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.
[RFC3046] Patrick, M., "DHCP Relay Agent Information Option",
RFC 3046, January 2001.
[RFC3527] Kinnear, K., Stapp, M., Johnson, R., and J. Kumarasamy,
"Link Selection sub-option for the Relay Agent Information
Option for DHCPv4", RFC 3527, April 2003.
[RFC4925] Li, X., Dawkins, S., Ward, D., and A. Durand, "Softwire
Problem Statement", RFC 4925, July 2007.
9.2. Informative References
[I-D.ietf-tsvwg-iana-ports]
Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S.
Cheshire, "Internet Assigned Numbers Authority (IANA)
Procedures for the Management of the Service Name and
Transport Protocol Port Number Registry",
draft-ietf-tsvwg-iana-ports-10 (work in progress),
February 2011.
[I-D.mdt-softwire-mapping-address-and-port]
Bao, C., Troan, O., Matsushima, S., Murakami, T., and X.
Li, "Mapping of Address and Port (MAP)",
draft-mdt-softwire-mapping-address-and-port-03 (work in
progress), January 2012.
Wu, et al. Expires October 30, 2012 [Page 14]
Internet-Draft DHCP Option for Port Set April 2012
Authors' Addresses
Peng Wu
Tsinghua University
Department of Computer Science, Tsinghua University
Beijing 100084
P.R.China
Phone: +86-10-6278-5822
Email: peng-wu@foxmail.com
Yiu L. Lee
Comcast
One Comcast Center
Philadelphia PA 19103
USA
Phone:
Email: yiu_lee@cable.comcast.com
Qiong Sun
China Telecom
Room 708, No.118, Xizhimennei Street
Beijing 100035
P.R.China
Phone: +86-10-58552936
Email: sunqiong@ctbri.com.cn
Ted Lemon
Nominum, Inc.
2000 Seaport Blvd
Redwood City 94063
USA
Phone: +1-650-381-6000
Email: mellon@nominum.com
Wu, et al. Expires October 30, 2012 [Page 15]