Re: [pcp] PCP-base 02: Section 7.7

<mohamed.boucadair@orange-ftgroup.com> Wed, 12 January 2011 06:53 UTC

Return-Path: <mohamed.boucadair@orange-ftgroup.com>
X-Original-To: pcp@core3.amsl.com
Delivered-To: pcp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DC91A3A6AF2 for <pcp@core3.amsl.com>; Tue, 11 Jan 2011 22:53:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.071
X-Spam-Level:
X-Spam-Status: No, score=-2.071 tagged_above=-999 required=5 tests=[AWL=0.177, BAYES_00=-2.599, HELO_EQ_FR=0.35, 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 DNDQISvcXN8F for <pcp@core3.amsl.com>; Tue, 11 Jan 2011 22:53:08 -0800 (PST)
Received: from relais-inet.francetelecom.com (relais-ias244.francetelecom.com [80.12.204.244]) by core3.amsl.com (Postfix) with ESMTP id 250FC3A699E for <pcp@ietf.org>; Tue, 11 Jan 2011 22:53:07 -0800 (PST)
Received: from omfeda08.si.francetelecom.fr (unknown [xx.xx.xx.201]) by omfeda14.si.francetelecom.fr (ESMTP service) with ESMTP id A3EE62AC79F; Wed, 12 Jan 2011 07:55:25 +0100 (CET)
Received: from puexch91.nanterre.francetelecom.fr (unknown [10.101.44.48]) by omfeda08.si.francetelecom.fr (ESMTP service) with ESMTP id 1DDC6384057; Wed, 12 Jan 2011 07:55:25 +0100 (CET)
Received: from PUEXCB1B.nanterre.francetelecom.fr ([10.101.44.7]) by puexch91.nanterre.francetelecom.fr ([10.101.44.48]) with mapi; Wed, 12 Jan 2011 07:55:24 +0100
From: mohamed.boucadair@orange-ftgroup.com
To: Dan Wing <dwing@cisco.com>, 'Francis Dupont' <Francis.Dupont@fdupont.fr>, 'Simon Perreault' <simon.perreault@viagenie.ca>
Date: Wed, 12 Jan 2011 07:55:23 +0100
Thread-Topic: [pcp] PCP-base 02: Section 7.7
Thread-Index: AcuxGnH/oFEq0BUFQIqUfjE7XufIxwABnQoQAA6BC4AAFMrhsAAdWvDw
Message-ID: <22350_1294815325_4D2D505D_22350_100240_1_94C682931C08B048B7A8645303FDC9F33C3FD7B99E@PUEXCB1B.nanterre.francetelecom.fr>
References: Your message of Mon, 10 Jan 2011 08:45:02 EST. <4D2B0D5E.5030302@viagenie.ca> <201101102301.p0AN1rcs084678@givry.fdupont.fr> <19ba01cbb122$f11dfd70$d359f850$@com> <837_1294728928_4D2BFEE0_837_116100_1_94C682931C08B048B7A8645303FDC9F33C3FD7B3C4@PUEXCB1B.nanterre.francetelecom.fr> <1d8901cbb1b5$e093ca50$a1bb5ef0$@com>
In-Reply-To: <1d8901cbb1b5$e093ca50$a1bb5ef0$@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.1.12.53314
Cc: "pcp@ietf.org" <pcp@ietf.org>
Subject: Re: [pcp] PCP-base 02: Section 7.7
X-BeenThere: pcp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: PCP wg discussion list <pcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/pcp>, <mailto:pcp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/pcp>
List-Post: <mailto:pcp@ietf.org>
List-Help: <mailto:pcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pcp>, <mailto:pcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 12 Jan 2011 06:53:10 -0000

Hi Dan,

Please see inline.

Cheers,
Med 

-----Message d'origine-----
De : Dan Wing [mailto:dwing@cisco.com] 
Envoyé : mardi 11 janvier 2011 18:35
À : BOUCADAIR Mohamed OLNC/NAD/TIP; 'Francis Dupont'; 'Simon Perreault'
Cc : pcp@ietf.org
Objet : RE: [pcp] PCP-base 02: Section 7.7

> -----Original Message-----
> From: mohamed.boucadair@orange-ftgroup.com
> [mailto:mohamed.boucadair@orange-ftgroup.com]
> Sent: Monday, January 10, 2011 10:55 PM
> To: Dan Wing; 'Francis Dupont'; 'Simon Perreault'
> Cc: pcp@ietf.org
> Subject: RE: [pcp] PCP-base 02: Section 7.7
> 
> Hi Dan,
> 
> As a reminder, I have enumerated a set of advantages of implementing
> what was called option 2 (http://www.ietf.org/mail-
> archive/web/pcp/current/msg00483.html).
> 
> In http://www.ietf.org/mail-archive/web/pcp/current/msg00487.html, I
> tried to explain that implementing option 1 may not reduce keepalives
> in some contexts since the refresh interval is forced by the server and
> not by the client (see SIP example for instance).

Thanks for the pointers.

The first URL says:

    > I don't know how we can forbid applications to use option 2
    > which is the obvious one to avoid overloading service
    > elements with keepalive messages!
    >
    > As a concrete example: In the current VoIP deployments SBC
    > or P-CSCF forces the SIP User Agent to send frequent
    > REGISTER messages (setting a small value of expire timer);
    > these messages are not forwarded to the core service
    > elements. The main purpose is to maintain the NAT binding
    > in case a NAT is traversed alive. Both the NAT and SBC are
    > overloaded with these keepalive messages. For the NAT side
    > this may not be an issue when the NAT is embedded in the
    > CPE but this may be become sensitive for the CGN case.
    >
    > If PCP is used to instruct a mapping before issuing the
    > REGISTER message: (1) the CGN is not overloaded, (2)
    > service contact point is not overloaded, (3) the client can
    > use the external IP address/port to build its application
    > messages (e.g., SIP) and thus no need to implement extra
    > function in the service side (e.g., SBC) or in the CGN
    > (e.g., SIP ALG), (4) the service elements can detect the
    > present of non-transparent NAT by comparing the content of
    > the message with the source IP/port information, (5) the
    > client is aware of the lifetime of the mapping in the CGN
    > which important to avoid sending aggressive keeplines
    > (e.g., 20s for Ipsec clients), etc.

and the second URL reinforces that connect-then-lifetime does not
have property (3).

Here is how I see property (3) implemented when doing connect-then-lifetime,
following the REGISTER
procedure described at
http://tools.ietf.org/html/draft-ietf-sipping-nat-scenarios-13#page-16

  SIP UA                          PCP server    SIP proxy
    |                                 |             |
    |--SIP REGISTER, rport------------------------->|
    |<-Ok, port=12345-------------------------------|
    |                                 |             |
    |-PIN44, REMOTE_PEER=<sip proxy>->|             |
    |<--lifetime=3600, ext-port=12345-|             |
    |                                 |             |

What is the disadvantage of reducing SIP keepalives that way?

Med: The use of "rport" allows the SIP Proxy to answer to the source port number and not to the one indicated in the via header but it does not help the SIP proxy server to detect the lifetime of the nat binding in the path; therefore a lower expire timers (e.g., 30 or 60s) will be returned by the SIP Proxy to the SIP UA to maintain such binding. The SIP UA has to refresh its registration before the expiry of the returned expiry timer. The PCP request does not help in such case. In some deployments "rport" is not used but SBCs "emulate" a similar functionality but this does not prevent frequent re-registration messages (not forwarded to the core service elements btw). Keepalive messages have a SEVERE impact on the performance of the SBC (60% degradation). This is why I prefer to present a SIP message to the SIP proxy without rport but with the external IP/port assigned by the nat in the path. This would be a hint for the proxy server to return an expire timer with greater value.


For RTP, message flow would be like this, again doing connect-then-lifetime.
The difference is we don't get anything like an "rport=NNN" from the remote
peer.  But, we don't need it anyway except to detect a rogue NAT on the path
between the PCP-controlled NAT and the RTP peer.  If the SIP UA wanted to
detect such a rogue NAT, it would need to send ICE (STUN) messages to the
RTP peer.

Med: Why not doing it simple, use the even_plus_one option to get the ports; use those ports to build the offer/answer and issue the request. We don't need ICE/STUN/etc. 

  SIP UA                          PCP server     RTP peer
    |                                 |             |
    |--RTP message--------------------------------->|
    |--RTP message--------------------------------->|
    |--... more RTP messages ...------------------->|
    |--RTP message--------------------------------->|
    |                                 |             |
    |-PIN44, REMOTE_PEER=<rtp peer>=->|             |
    |<--lifetime=3600, ext-port=12345-|             |
    |                                 |             |

As with SIP, the SIP UA does not need to be in a hurry to communicate with
the PCP server.

-d


> Cheers,
> Med
> 
> -----Message d'origine-----
> De : Dan Wing [mailto:dwing@cisco.com]
> Envoyé : mardi 11 janvier 2011 01:03
> À : 'Francis Dupont'; 'Simon Perreault'; BOUCADAIR Mohamed OLNC/NAD/TIP
> Cc : pcp@ietf.org
> Objet : RE: [pcp] PCP-base 02: Section 7.7
> 
> 
> 
> > -----Original Message-----
> > From: pcp-bounces@ietf.org [mailto:pcp-bounces@ietf.org] On Behalf Of
> > Francis Dupont
> > Sent: Monday, January 10, 2011 3:02 PM
> > To: Simon Perreault
> > Cc: pcp@ietf.org
> > Subject: Re: [pcp] PCP-base 02: Section 7.7
> >
> >
> >  In your previous mail you wrote:
> >
> >    Note that this was discussed in the virtual interim meeting. I
> seem
> > to
> >    recall the consensus being that the advantage of easy deployment
> >    outweighed the disadvantages.
> >
> > => I am afraid this argument would not close the subject...
> > and there was no consensus, just a 'go to next point'.
> >
> >   (Were the minutes of the meeting posted?)
> >
> > => +1!
> >
> > Francis.Dupont@fdupont.fr
> >
> > PS: BTW the 'ease of deployment' is not a good argument as it applied
> > only on hosts, not on NATs, when IMHO at least 50% of the deployed
> > base won't support it.
> 
> For reference, this is Issue #17,
> http://trac.tools.ietf.org/wg/pcp/trac/ticket/17
> 
> In the post http://www.ietf.org/mail-
> archive/web/pcp/current/msg00474.html,
> Simon described the host implementation difficulty.  This got agreement
> from
> Dave Thaler, http://www.ietf.org/mail-
> archive/web/pcp/current/msg00475.html
> and Lars Eggert,
> http://www.ietf.org/mail-archive/web/pcp/current/msg00480.html.
> 
> I do not find a post that describes the NAT implementation difficulty.
> 
> I found posts that suggest NATs want to have different port ranges for
> PCP-controlled ports than for dynamically-created connections.  That's
> makes
> some sense when the user is operating a server.  But I don't understand
> how
> separate NAT port ranges are helpful/necessary for the application
> keepalives case.
> 
> If this does help the NAT, it seems we will need to force (MUST) the
> hosts
> to allocate a source port in the non-ephemeral port range and follow
> the
> other steps described in
> http://www.ietf.org/mail-archive/web/pcp/current/msg00474.html.
> 
> -d
> 
> 
> 
> 
> *********************************
> This message and any attachments (the "message") are confidential and
> intended solely for the addressees.
> Any unauthorised use or dissemination is prohibited.
> Messages are susceptible to alteration.
> France Telecom Group shall not be liable for the message if altered,
> changed or falsified.
> If you are not the intended addressee of this message, please cancel it
> immediately and inform the sender.
> ********************************


*********************************
This message and any attachments (the "message") are confidential and intended solely for the addressees. 
Any unauthorised use or dissemination is prohibited.
Messages are susceptible to alteration. 
France Telecom Group shall not be liable for the message if altered, changed or falsified.
If you are not the intended addressee of this message, please cancel it immediately and inform the sender.
********************************