Re: [pcp] PCP proxying / relaying

Francis Dupont <Francis.Dupont@fdupont.fr> Thu, 17 March 2011 14:53 UTC

Return-Path: <Francis.Dupont@fdupont.fr>
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 CEA7A3A69A8 for <pcp@core3.amsl.com>; Thu, 17 Mar 2011 07:53:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.23
X-Spam-Level:
X-Spam-Status: No, score=-3.23 tagged_above=-999 required=5 tests=[AWL=0.019, BAYES_00=-2.599, HELO_EQ_FR=0.35, RCVD_IN_DNSWL_LOW=-1]
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 xq9FpBI+BJKF for <pcp@core3.amsl.com>; Thu, 17 Mar 2011 07:53:42 -0700 (PDT)
Received: from givry.fdupont.fr (givry.fdupont.fr [91.121.26.85]) by core3.amsl.com (Postfix) with ESMTP id 9C23D3A69A2 for <pcp@ietf.org>; Thu, 17 Mar 2011 07:53:42 -0700 (PDT)
Received: from givry.fdupont.fr (localhost [127.0.0.1]) by givry.fdupont.fr (8.14.3/8.14.3) with ESMTP id p2HEtA3o068515; Thu, 17 Mar 2011 15:55:10 +0100 (CET) (envelope-from dupont@givry.fdupont.fr)
Message-Id: <201103171455.p2HEtA3o068515@givry.fdupont.fr>
From: Francis Dupont <Francis.Dupont@fdupont.fr>
To: Dan Wing <dwing@cisco.com>
In-reply-to: Your message of Wed, 16 Mar 2011 11:55:15 MST. <011801cbe40b$b0691140$113b33c0$@com>
Date: Thu, 17 Mar 2011 15:55:10 +0100
Sender: Francis.Dupont@fdupont.fr
Cc: pcp@ietf.org
Subject: Re: [pcp] PCP proxying / relaying
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: Thu, 17 Mar 2011 14:53:43 -0000

 In your previous mail you wrote:

   This seems quite similar to how today's ALGs function.  Can this be modeled
   in the CPE router like an ALG?
   
=> if you extend the ALG notion for NATs to routers it would be an ALG.

   A difference from a normal ALG is that sometimes a PCP response needs to be

=> normal ALG? an ALG can do anything: it is supposed to have access
to all functions (in a traditional OS it is at least in part in the kernel (*)).

   generated by the CPE router itself (rather than forwarding the request to
   the upstream PCP server).  But perhaps that is why the earlier PCP Proxy
   paper (draft-bpw-pcp-proxy-00) mentioned 'faking' a response.
   
=> yes, the word 'fake' meant the response is built directly by the proxy
(which at the difference of an ALG is a standard application: its only
complexity is that it is multiplexed on two sides: the internal where it
acts as a server, the external where it acts as a client. But if you don't
require it to be able to handle a zillion of messages per second it is
still a low complexity).
   
Regards

Francis.Dupont@fdupont.fr

PS (*): there are two standard ways to implement such an ALG:
 - fully in the kernel (not the best: kernel programming is hairy,
  a nightmare to debug and bugs are named panics :-)
 - use a hook to intercept "interesting" packets and a second one
  to reinject processed packets (BTW NATs/firewalls often provides
  such hooks which are still available in the "router mode").

PPS: in case it is not clear I think ALGs are BAD!