Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!decvax!decwrl!pyramid!pesnta!hplabs!ucbvax!SCRC-QUABBIN.ARPA!DCP From: DCP@SCRC-QUABBIN.ARPA.UUCP Newsgroups: mod.protocols.tcp-ip Subject: Re: Port Collisions Message-ID: <860515115810.6.DCP@FIREBIRD.SCRC.Symbolics.COM> Date: Thu, 15-May-86 11:58:00 EDT Article-I.D.: FIREBIRD.860515115810.6.DCP Posted: Thu May 15 11:58:00 1986 Date-Received: Fri, 16-May-86 07:54:41 EDT References: <12950.516501992@nrtc-gremlin.northrop.com> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 93 Approved: tcp-ip@sri-nic.arpa Date: Wed, 14 May 86 17:46:32 -0700 From: Marshall Rose If your argument is: "having a port space of 512 distinct addresses is too small" then I doubt anyone dis-agrees in principle. On the other hand, if your argument is: "Benson and I, working on the floor for the same company, collided, so the port space is too small" Then your argument points more to a possible (mis)management problem in your company than a port scarcity problem! We were both doing independent, exploratory research of completley unrelated problem domains. Maybe we should have a number czar that is on call 24 hours a day in case somebody has a hack attack at 9:30pm (or 3am) and needs a protocol number in 5 minutes. Because my application was stream oriented it works over TCP and CHAOS. I didn't have any problem with Chaos because my protocol was called MANDELBROT and Benson's was completely different. Let's face it, 512 distinct addresses for ports probably is too small for the totality of applications that can/could use TCP. I don't think it's too small any given group of co-operating sites using TCP, though I could be convinced otherwise. Here is a list of protocols that we use at Symbolics. Some are trivial. Some work over TCP and have RFCs. All are (or were at one time or another) useful, but not critical. Sorry to bother everybody with this list, but it shows that one company has several protocols that are not all RFCs. I don't think any of the ones below are considered proprietary. That's 32+ protocols we have use for. If 16 companies or groups or implementations each have 32 different protocols, we would (a) have a tower of Babel, and (b) run out of the 512 port numbers. The tower of Babel might be needed. For example, what machines other than Suns can use the Sun net-paging protocol? "MANDELBROT" My network mandelbrot protocol and is Lisp only (it actually sends Lisp forms) "SEND" Interactive messages (ancient) "CONVERSE" Interactive messages, done much better "SMTP" (It's a byte stream protocol) "EXPAND-MAILING-LIST" (ditto) "ECHO" I think these have TCP equivalents "BABEL" "TIME" "NAME" "MAIL" Chaos version "UPTIME" Similar to TIME "QFILE" (old) LispM file protocol "NFILE" new one "FINGER" Similar to NAME, but simpler in ways "DOMAIN" The internet domain resolver stuff "NAMESPACE" Our own namespace stuff, written before the RFC "NAMESPACE-TIMESTAMP" for domains came out, and in some of our "WHO-AM-I" opinions, superior "TELNET" Specified in an RFC "SUPDUP" Specified in an RFC "TELSUP" A mixture of the two "TTYLINK" "raw" linking; no protocol. useful for connecting to Unix "3600-LOGIN" Better than all the above for talking to 3600s "PRINTER-QUEUE" Various printer queue operations "LGP-STATUS" "LGP" "LGP-QUEUE" "DOVER" "DOVER-STATUS" "CONFIGURATION" Various other useful protocols "RESET-TIME-SERVER" For machines whose clocks are off "TCP" To connect to TCP streams through a protocol gateway "NOTIFY" Information dispersal "STATUS" Network status "DUMP-ROUTING-TABLE" Topology debugging "RTAPE" Remote Tape facility Personally, I like the Berkeley method since you can just define some numbers to meet your needs. I'm not so keen on using strings or datastructures as port identifiers, though I'm sure, when ISO gets around to defining the port space for TS-users, they'll be sure to add an option for regular expressions, mandelbrots, etc. (-: /mtr