Re: [BEHAVE] (no subject)
ivan c <ivan@cacaoweb.org> Thu, 27 June 2013 15:30 UTC
Return-Path: <ivan@cacaoweb.org>
X-Original-To: behave@ietfa.amsl.com
Delivered-To: behave@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2101621F99E3 for <behave@ietfa.amsl.com>; Thu, 27 Jun 2013 08:30:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0
X-Spam-Level:
X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Np5PeXW1-PRI for <behave@ietfa.amsl.com>; Thu, 27 Jun 2013 08:30:51 -0700 (PDT)
Received: from mail.cacaoweb.org (mail.cacaoweb.org [46.105.102.78]) by ietfa.amsl.com (Postfix) with ESMTP id 29F7121F9CE9 for <behave@ietf.org>; Thu, 27 Jun 2013 08:28:55 -0700 (PDT)
Received: from www-data by mail.cacaoweb.org with local (Exim 4.72) (envelope-from <ivan@cacaoweb.org>) id 1UsE8v-0000JG-GZ; Thu, 27 Jun 2013 17:29:53 +0200
To: Simon Perreault <simon.perreault@viagenie.ca>
X-PHP-Originating-Script: 0:func.inc
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Date: Thu, 27 Jun 2013 17:29:53 +0200
From: ivan c <ivan@cacaoweb.org>
Organization: cacaoweb
In-Reply-To: <51CC52AC.8010702@viagenie.ca>
References: <CB1B483277FEC94E9B58357040EE5D02325A6E93@xmb-rcd-x15.cisco.com> <2f7dce8264c8a9a72640629502a44295@cacaoweb.org> <51C1681A.5030909@viagenie.ca> <f8741fad1af1cee094de9c59408b7425@cacaoweb.org> <51C40374.8080403@viagenie.ca> <21e25b7ae1501228a67656b2fa4bc009@cacaoweb.org> <51CAA20F.4070307@viagenie.ca> <88c0ada2b8ebad078fb249ac6572fd8b@cacaoweb.org> <51CBD188.4060408@viagenie.ca> <fc3c7389e9fc7afc9201f0516de436a7@cacaoweb.org> <51CC2ED4.7090506@viagenie.ca> <4d2e082fd02ce46cd003631e8ca8eae9@cacaoweb.org> <014f01ce7341$e5416620$afc43260$@comcast.net> <c5d2c0cac921875729b4ad89a290fcf5@cacaoweb.org> <51CC52AC.8010702@viagenie.ca>
Message-ID: <4a641d08eccfd84d2882e32369ad8e61@cacaoweb.org>
X-Sender: ivan@cacaoweb.org
User-Agent: RoundCube Webmail/0.3.1
Cc: behave@ietf.org
Subject: Re: [BEHAVE] (no subject)
X-BeenThere: behave@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: ivan@cacaoweb.org
List-Id: mailing list of BEHAVE IETF WG <behave.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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, 27 Jun 2013 15:30:57 -0000
On Thu, 27 Jun 2013 15:55:24 +0200, Simon Perreault <simon.perreault@viagenie.ca> wrote: > Le 2013-06-27 15:44, ivan c a écrit : >>> I still haven't seen any explanation why the following excerpts do not >>> apply. >>> >>> RFC 4787: >>> >>> REQ-3: A NAT MUST NOT have a "Port assignment" behavior of "Port >>> overloading". >>> >>> RFC 5382: >>> >>> REQ-7: A NAT MUST NOT have a "Port assignment" behavior of "Port >>> overloading" for TCP. >> >> Because some NATs would like to do port overloading, which is in >> contradiction with these requirements. > > "Would like to" is not a valid reason. We need technical arguments. That's right, but I think it's the above requirements that needed a valid technical argument in the first place. The only argument that was given is that the set of requirements guarantees a deterministic (consistent) behavior of the NAT from the application point of view. But NATs never behave in a deterministic way, they might drop packets, or random NATs can sometimes appear to be deterministic. And it is not the point. What is required is that the *interfaces* of each *protocol* behaves in a deterministic way (ie, a function must behave according to its specification 100% of the time). Generally, a deterministic NAT allows you to write simpler protocols. In this post, I explain how the TCP Hole Punching protocol determinism is not affected: http://www.ietf.org/mail-archive/web/behave/current/msg10896.html > >> See section 4. of >> http://tools.ietf.org/html/draft-ietf-behave-requirements-update-00 . >> You're mentioned as an author on this draft by the way. > > I'm not disagreeing with myself. I am only observing that this > discussion still has not yielded any good technical argument that we > could add to our draft. see above, I feel it is a valid point. > > I have suggested that one condition where port overloading could be used > is when the NAT knows that it will not disrupt the application protocol. > For example, the protocols running on TCP port 80 and UDP port 53 (HTTP > and DNS) are purely client-server and therefore would not be affected by > port overloading. Allowing NATs to do port overloading for those ports > only would probably solve the scalability problem since they account for > a large portion of the traffic. > > Do we really need anything more complex? Allowing port overloading on 80 is the same as allowing it on all ports (applications are free to use any port for any protocol, Skype for instance uses port 80 for p2p communications). Your suggestion is good though, because I don't think any protocol is affected by port overloading. If they were, they would be badly designed, but still I have never heard of any such protocol. > We know that port overloading is desirable for a number of reasons. > > What we need to argue is why the undesirable effects of port overloading > 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 material. In this post: http://www.ietf.org/mail-archive/web/behave/current/msg10896.html , 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). Also, it is mentioned in many RFCs that p2p applications need to expect NATs to have a variety of non-deterministic behaviors wrt port allocation, and have fallback mechanisms in place to deal with all cases. -- _Ivan Chollet_
- Re: [BEHAVE] (no subject) Senthil Sivakumar (ssenthil)
- Re: [BEHAVE] (no subject) Dan Wing
- [BEHAVE] REQ 1 and REQ 7 of RFC5382 were supposed… ivan c
- Re: [BEHAVE] REQ 1 and REQ 7 of RFC5382 were supp… Simon Perreault
- Re: [BEHAVE] REQ 1 and REQ 7 of RFC5382 were supp… ivan c
- Re: [BEHAVE] REQ 1 and REQ 7 of RFC5382 were supp… Simon Perreault
- Re: [BEHAVE] REQ 1 and REQ 7 of RFC5382 were supp… Senthil Sivakumar (ssenthil)
- Re: [BEHAVE] REQ 1 and REQ 7 of RFC5382 were supp… ivan c
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) Senthil Sivakumar (ssenthil)
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) Rajiv Asati (rajiva)
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] (no subject) Dan Wing
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] TCP port overloading, preservation a… ivan c
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] TCP port overloading, preservation a… Simon Perreault
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] TCP port overloading, preservation a… ivan c
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] TCP port overloading, preservation a… Simon Perreault
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) cb.list6
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] (no subject) Reinaldo Penno (repenno)
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] (no subject) Mark Andrews
- Re: [BEHAVE] (no subject) ivan c
- [BEHAVE] DNS vs port overloading Simon Perreault
- Re: [BEHAVE] (no subject) ietfdbh
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] DNS vs port overloading Mark Andrews
- Re: [BEHAVE] DNS vs port overloading Simon Perreault
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) Tom Taylor
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] DNS vs port overloading Mark Andrews
- Re: [BEHAVE] (no subject) ivan c
- Re: [BEHAVE] (no subject) Simon Perreault
- Re: [BEHAVE] DNS vs port overloading Simon Perreault
- [BEHAVE] UDP socket programming Simon Perreault
- Re: [BEHAVE] TCP port overloading, preservation a… ivan c
- Re: [BEHAVE] DNS vs port overloading ivan c