Re: [BEHAVE] (no subject)

ivan c <> Thu, 27 June 2013 16:46 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 20C2921F9E5B for <>; Thu, 27 Jun 2013 09:46:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 0
X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id BGxZP4mSOjfy for <>; Thu, 27 Jun 2013 09:46:04 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id E703721F99FE for <>; Thu, 27 Jun 2013 09:46:00 -0700 (PDT)
Received: from www-data by with local (Exim 4.72) (envelope-from <>) id 1UsFLX-0001Sk-1y; Thu, 27 Jun 2013 18:46:59 +0200
To: Simon Perreault <>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Date: Thu, 27 Jun 2013 18:46:59 +0200
From: ivan c <>
Organization: cacaoweb
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <014f01ce7341$e5416620$afc43260$> <> <> <> <>
Message-ID: <>
User-Agent: RoundCube Webmail/0.3.1
Cc: Behave <>
Subject: Re: [BEHAVE] (no subject)
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: mailing list of BEHAVE IETF WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 27 Jun 2013 16:46:09 -0000

On Thu, 27 Jun 2013 17:59:00 +0200, Simon Perreault
<> wrote:
> Le 2013-06-27 17:29, ivan c a écrit :
>>> We know that port overloading is desirable for a number of reasons.
>>> What we need to argue is why the undesirable effects of port
>>> do not apply or can be ignored.
>> Definitely, this is the main point of our argument.
>> I think we have progressed in this argument and provided useful
>> In this post:
>> , I
>> explain (among other things), why the TCP Hole Punching Protocol is not
>> affected by the rare cases of collision due to port overloading. The
>> application simply retries with a new TCP socket (on a new local
>> endpoint).
> long as the NAT does port preservation, right?

No, I meant it in the general case with port overloading, with or without
TCP port preservation.
As you know, port overloading breaks the EIM requirement in the general
case. This is why port overloading is a MUST NOT in the existing RFCs.
But since collisions are supposed to be rare, p2p application can simply
retry with a new socket (on a new local endpoint) if the NAT happened to
refuse or drop a packet.

> If so, the problem I see is that CGNs do not / can not / will not do 
> port preservation, as a few people already pointed out.

Sure, regarding port preservation, on very busy CGNs it will surely not be
granted all the time. But they are free to use the port allocation scheme
they like. As you say, I assume a lot of CGNs won't support it.
Port preservation should probably be an optional feature (especially for
home NATs, that generally already have it). It is not necessarily related
to port overloading.
Port overloading, i feel, should probably be an optional feature too,
since it is used in the wild and has limited impact on TCP Hole Punching.
I'm not a NAT implementer though and thus my voice is not the most
important here, as I see it as a NAT only feature that doesn't seriously
affect p2p applications.

Hope this helps clarifying the point.

_Ivan Chollet_