Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-ports-02
Joe Touch <touch@ISI.EDU> Wed, 07 October 2009 15:06 UTC
Return-Path: <touch@ISI.EDU>
X-Original-To: port-srv-reg@core3.amsl.com
Delivered-To: port-srv-reg@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 68B183A69CF for <port-srv-reg@core3.amsl.com>; Wed, 7 Oct 2009 08:06:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.483
X-Spam-Level:
X-Spam-Status: No, score=-2.483 tagged_above=-999 required=5 tests=[AWL=0.116, BAYES_00=-2.599]
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 hmQYVxFS6rmh for <port-srv-reg@core3.amsl.com>; Wed, 7 Oct 2009 08:06:20 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by core3.amsl.com (Postfix) with ESMTP id 349623A695A for <port-srv-reg@ietf.org>; Wed, 7 Oct 2009 08:06:20 -0700 (PDT)
Received: from [192.168.1.47] (pool-71-106-88-10.lsanca.dsl-w.verizon.net [71.106.88.10]) (authenticated bits=0) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id n97F6xR6012146 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 7 Oct 2009 08:07:04 -0700 (PDT)
Message-ID: <4ACCAE93.1070709@isi.edu>
Date: Wed, 07 Oct 2009 08:06:59 -0700
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: Lars Eggert <lars.eggert@nokia.com>
References: <200909291410.QAA19651@TR-Sys.de> <7D5E249F-06D0-45DB-A63A-33303229F457@nokia.com> <7C538CC0-91CA-496E-80E6-C4CF1B5214AF@nokia.com> <DD2A516F-11F6-4AA9-AEB4-9327C8BBDC99@nokia.com> <4ACCA150.5090401@isi.edu> <70B826BE-F2F2-467B-9549-D7BDBA97D770@nokia.com>
In-Reply-To: <70B826BE-F2F2-467B-9549-D7BDBA97D770@nokia.com>
X-Enigmail-Version: 0.96.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: "port-srv-reg@ietf.org" <port-srv-reg@ietf.org>
Subject: Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-ports-02
X-BeenThere: port-srv-reg@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Discussion of updates to service name and transport protocol port registry <port-srv-reg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/port-srv-reg>, <mailto:port-srv-reg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/port-srv-reg>
List-Post: <mailto:port-srv-reg@ietf.org>
List-Help: <mailto:port-srv-reg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/port-srv-reg>, <mailto:port-srv-reg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Oct 2009 15:06:21 -0000
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Lars Eggert wrote: > Hi, > > On 2009-10-7, at 17:10, Joe Touch wrote: >> You heard from me regarding several issues with some of Stuart's mods, >> with no further discussion on the points I raised except for the issue >> of some items being better placed in a separate document, leaving this >> as procedural. > > true, this slipped my mind. > >>>> + <t>It should be noted that over time the assumption that >>>> + a particular port number necessarily implies a particular >>>> + service has become less true:</t> >> >> If it is true, it needs a citation. If there is no citation, I'd suggest >> dropping this. > > I don't have a citation, but I'll argue that as more and more services > migrate onto HTTP and its extensions, at least those become > indistinguishable. In some cases, these are true web servers running on other ports. In other cases, they are application protocols that implement a subset of HTTP used as an application protocol. I don't see why this is relevant. The rate of port assignment has not varied, and we don't consider all CLIs to be "telnet running on other ports". Finally, the fact that a variants of a service run on more than one port doesn't diminish the fact that a port number implies a specific service. >>>> + <list style="symbols"> >>>> + <t>When different background applications on a single >>>> computer >>>> + each export a web-based user interface, (e.g. as done by the >>>> + Common Unix Printing System <xref target="CUPS" />) they >>>> cannot >>>> + all get TCP port 80, especially if that computer is also >>>> hosting >>>> + a conventional web site on TCP port 80. Consequently, a >>>> single >>>> + host may have several different processes all answering HTTP >>>> + requests of various kinds, on ports other than port 80.</t> >> >> HTTP is a format for messages, but doesn't necessarily imply an >> application service or application protocol. There are many systems that >> use HTTP formatting for a variety of services, defined by the particular >> HTTP messages exchanged. >> >> The same has been true for ASCII command-line interfaces; they all could >> run over telnet, but they back onto different application services. This >> does not validate the idea that the protocol is any less a new service, >> just because it uses a web engine for its implementation or HTML for its >> markup. >> >> I'm not clear on why this is relevant; it appears to suggest that >> computers are increasingly using the same service on different ports, >> but I don't see that as the case. > > I wouldn't call HTTP a service, it's basically become a transport layer. > In other words, I agree that this bullet doesn't make sense. Or I don't > get it. I'll try to explain how I read it. There are two different uses of HTTP on ports other than 80: 1) same as on port 80, just to a different server 2) as framing, like a presentation layer, to an application protocol The bullet above implies that #1 is "the web" on a different port, but I doubt we could argue that #2 is. I'd argue that both are the same thing. The application protocol is defined both by the framing and the service provided, and running a CUPS configuration interface on a port other than 80 is a service intended to be different from a web server. Otherwise, should be calling all CLI services "telnet", and that doesn't make sense either. >>>> + <t>When different users are running multiple copies >>>> + of the same application on a single computer, multiple >>>> + instances of the application cannot listen on the same >>>> + port at the same time. Consequently, applications of >>>> + this kind need to be programmed to expect that they >>>> + may not always be able to get the port they want, >>>> + and may have to listen on an alternative port instead.</t> >> >> There are a small number of assigned alternative ports as well. However, >> it is also increasingly common that such services are virtualized, >> sending one of a number of DNS names that resolve to the same IP address >> inside the command (as with HTTP 1.1) or running copies of a service on >> different IP addresses on the same machine. >> >> I.e., I agree that this may be true, but this is basically saying "when >> you can't run on a registered port, there are problems" - which are >> either solved by using a backup registered port, or are unsolvable. > > What you write are other options for running multiple services, but I > believe Stuart has a point when he says that in some cases you'll see > service A running on its registered port as well as another port. Hence, > port numbers don't indicate services as strongly as they did in the past. As I explain above, I don't think this is any different from running what is essentially telnet on other ports. We've *always* reused framing protocols for different services, and so even if this is true I claim that nothing has substantially changed. >>>> + <t>When different computers in a home are using a NAT >>>> gateway >>>> + to share a single IP address, the computers can request that >>>> + the NAT gateway create port mappings to enable them to >>>> receive >>>> + inbound connections <xref target="I-D.cheshire-nat-pmp" />, >>>> + but they can't all get the same external port at the same >>>> time. >>>> + Consequently, some applications on some of those computers >>>> + may be receiving inbound connections on port other than the >>>> + port usually used for the service in question. >>>> + As ISPs begin to deploy large-scale NAT, sharing a single >>>> + IP address between multiple homes, it is likely to become >>>> even >>>> + more common to have applications receiving connections on >>>> + dynamically allocated ports.</t> >> >> The focus of the document is registered names and numbers. It's true >> that NATs defeat that, but what's the reason for discussing that in this >> doc? > > I believe the argument is that if someone else behind that NAT has > gotten "your" external port (the one that is registered for your > service), you'll run on another port. Hence, port numbers don't indicate > services as strongly as they did in the past. This document should be focusing on the *process* for registering and modifying registrations of port names and numbers. It should stay clear of assertions about possible future issues with these assignments. That can be in a separate document, and should include some evidence about the current scale of impact (e.g., my Westell modem has u-PNP turned off by default, and port forwarding is largely done manually AFAICT since most people's NATs aren't Apple devices or opensource alternate firmware). >> Stuart Cheshire wrote: >> ... >>> Choosing an appropriate service name can be harder than it seems at >>> first. In draft-gudmundsson-dns-srv-iana-registry they propose "overlay" >>> protocols (such as HTTP and XMPP), e.g. for SRV records like >>> _service._http.example.com. >> >> is this intended to be: >> >> _service._http._tcp.example.com ?? > > No, I think they want _service._http.example.com > > Including the protocol in the service name was really not such a great > idea... Hmmm. That's quite different from the discussion I've been having on the TAE list, and from what is suggested in draft-cheshire-dnsext-dns-sd.txt, e.g.: _http._tcp.example.com. It would also defeat some current efforts to add support for alternate transports for HTTP, e.g., HTTP over SCTP. Though, as we agree, this is out of scope. Joe -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) iEYEARECAAYFAkrMrpMACgkQE5f5cImnZruHPgCg9zSD59igu3OGEYubEw4D2fU1 FWAAn0/QaB229Snb7c4PeM1mmtmV/7CJ =v0k8 -----END PGP SIGNATURE-----
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Lars Eggert
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Lars Eggert
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Lars Eggert
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Fernando Gont
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Fernando Gont
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Iljitsch van Beijnum
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Fernando Gont
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Lars Eggert
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Joe Touch
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Lars Eggert
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Joe Touch
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Alfred Hönes
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Lars Eggert
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Joe Touch
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Joe Touch
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Fernando Gont
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Joe Touch
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Fernando Gont
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Joe Touch
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Lars Eggert
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Fernando Gont
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Joe Touch
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Eliot Lear
- Re: [port-srv-reg] [tsvwg] draft-ietf-tsvwg-iana-… Joe Touch