Re: [BEHAVE] CGN REQ: Port Set Assignment

<mohamed.boucadair@orange-ftgroup.com> Thu, 17 March 2011 07:23 UTC

Return-Path: <mohamed.boucadair@orange-ftgroup.com>
X-Original-To: behave@core3.amsl.com
Delivered-To: behave@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2E75C3A6A14 for <behave@core3.amsl.com>; Thu, 17 Mar 2011 00:23:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.131
X-Spam-Level:
X-Spam-Status: No, score=-3.131 tagged_above=-999 required=5 tests=[AWL=0.117, BAYES_00=-2.599, HELO_EQ_FR=0.35, RCVD_IN_DNSWL_LOW=-1, UNPARSEABLE_RELAY=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aFTh7O6sBIhP for <behave@core3.amsl.com>; Thu, 17 Mar 2011 00:23:28 -0700 (PDT)
Received: from relais-inet.francetelecom.com (relais-ias91.francetelecom.com [193.251.215.91]) by core3.amsl.com (Postfix) with ESMTP id C8A8B3A67DB for <behave@ietf.org>; Thu, 17 Mar 2011 00:23:27 -0700 (PDT)
Received: from omfedm06.si.francetelecom.fr (unknown [xx.xx.xx.2]) by omfedm13.si.francetelecom.fr (ESMTP service) with ESMTP id 6E0D332471E; Thu, 17 Mar 2011 08:24:54 +0100 (CET)
Received: from PUEXCH51.nanterre.francetelecom.fr (unknown [10.101.44.31]) by omfedm06.si.francetelecom.fr (ESMTP service) with ESMTP id 4DD4B27C037; Thu, 17 Mar 2011 08:24:54 +0100 (CET)
Received: from PUEXCB1B.nanterre.francetelecom.fr ([10.101.44.11]) by PUEXCH51.nanterre.francetelecom.fr ([10.101.44.31]) with mapi; Thu, 17 Mar 2011 08:24:53 +0100
From: mohamed.boucadair@orange-ftgroup.com
To: Dan Wing <dwing@cisco.com>, "Francis.Dupont@fdupont.fr" <Francis.Dupont@fdupont.fr>
Date: Thu, 17 Mar 2011 08:24:51 +0100
Thread-Topic: [BEHAVE] CGN REQ: Port Set Assignment
Thread-Index: Acvj5ufE7eIX9/3+Se2nR9ztiTvhmAAABYcAAApyKoAAGJ2wsA==
Message-ID: <94C682931C08B048B7A8645303FDC9F33C4DBA4146@PUEXCB1B.nanterre.francetelecom.fr>
References: Your message of Wed, 16 Mar 2011 07:16:42 +0100. <94C682931C08B048B7A8645303FDC9F33C4DBA3CC6@PUEXCB1B.nanterre.francetelecom.fr> <201103161431.p2GEVqua078968@givry.fdupont.fr> <94C682931C08B048B7A8645303FDC9F33C4DBA3FCC@PUEXCB1B.nanterre.francetelecom.fr> <017a01cbe411$257172c0$70545840$@com>
In-Reply-To: <017a01cbe411$257172c0$70545840$@com>
Accept-Language: fr-FR
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: fr-FR
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-PMX-Version: 5.5.9.395186, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2011.3.17.63317
Cc: "behave@ietf.org" <behave@ietf.org>, "draft-ietf-behave-lsn-requirements@tools.ietf.org" <draft-ietf-behave-lsn-requirements@tools.ietf.org>, 'Benson Schliesser' <bschlies@cisco.com>
Subject: Re: [BEHAVE] CGN REQ: Port Set Assignment
X-BeenThere: behave@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: mailing list of BEHAVE IETF WG <behave.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/behave>
List-Post: <mailto:behave@ietf.org>
List-Help: <mailto:behave-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 17 Mar 2011 07:23:32 -0000

Re-,

 

-----Message d'origine-----
De : Dan Wing [mailto:dwing@cisco.com] 
Envoyé : mercredi 16 mars 2011 20:34
À : BOUCADAIR Mohamed OLNC/NAD/TIP; Francis.Dupont@fdupont.fr
Cc : behave@ietf.org; draft-ietf-behave-lsn-requirements@tools.ietf.org; 'Benson Schliesser'
Objet : RE: [BEHAVE] CGN REQ: Port Set Assignment

> -----Original Message-----
> From: behave-bounces@ietf.org [mailto:behave-bounces@ietf.org] On
> Behalf Of mohamed.boucadair@orange-ftgroup.com
> Sent: Wednesday, March 16, 2011 7:38 AM
> To: Francis.Dupont@fdupont.fr
> Cc: 'behave' <(behave@ietf.org)>; draft-ietf-behave-lsn-
> requirements@tools.ietf.org; Benson Schliesser
> Subject: Re: [BEHAVE] CGN REQ: Port Set Assignment
> 
> Hi Francis,
> 
> By "random port set", I meant:
> 
> * a set of ports which are randomly generated when a new outbound
> packet is received by the CGN
> * the port set is not contiguous
> * the port set is not fixe
> * for subsequent packet requiring a new port, a port from the pre-
> allocated random port set is used
> * when all the ports in the port set are in-use, a new random port set
> is generated by the CGN, etc until reaching a quota.
> 
> We can find a better name for this.

I described a continuum from completely random to completely fixed at:
  http://www.ietf.org/mail-archive/web/behave/current/msg09182.html

which said:

   1. for every outgoing connection, create one mapping.
   2. for an outgoing connection, create a "bin" of several mappings
      using random public ports.  Subsequent outgoing connections will
      use ports from the "bin".  When the "bin" is full, a new
      connection causes a new bin to be created.  A bin is smaller or
      equal to the user's maximum port limit.
   3. Same as (2), but the ports allocated to a "bin" are consecutive
      public ports.

Perhaps that is a good starting point.  Or perhaps this is better:

   1.  for a new outgoing flow, choose a random port and create a new
       mapping.  There is a limit on the maximum number of ports.

   2.  for a new outgoing flow, choose several random ports and create a
       "bin" of those ports.  This outgoing flow is assigned one of
       those ports.  Subsequent outgoing flows will be assigned a port
       from the "bin".  When the "bin" is full, a new flow causes this
       process to be repeated (i.e., a new bin is created).  A bin is
       smaller or equal to the user's maximum port limit.

   3.  Same as (2), but the ports allocated to a "bin" are consecutive
       public ports.

Med: I don't know where to put the non-contiguous one single "bin" case (excerpt from (see http://tools.ietf.org/html/draft-bajko-pripaddrassign-02#section-4.1)

   "a non Continuous Port Range is assigned to a given customer's
   device. In this example, the Port Range Value defines 128 Continuous
   Port Ranges, each one with a length of 16 port values.  Note that
   the two first Port Ranges are both in the well-known ports span
   (i.e. 0-1023) but these two ranges are not adjacent.

   The following Port Range Mask and Port Range Value are conveyed in
   DHCP messages:
        - Port Range Value : 0000000001010000 (80)
        - Port Range Mask : 0000000111110000 (496)

   This means that the 128 following Continuous Port Ranges are
   assigned to the same device:
        - from 80 to 95
        - from 592 to 607
        - ...
        - from 65104 to 65119"


   4.  Same as (3), but only one "bin" is allocated.