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]