Re: Port Collisions


David C. Plummer (DCP@SCRC-QUABBIN.ARPA)
Thu, 15 May 86 11:58 EDT


    Date: Wed, 14 May 86 17:46:32 -0700
    From: Marshall Rose <From: Marshall Rose <mrose@nrtc-gremlin>

        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



This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:36:06 GMT