Coda File System

Re: yer port numbers suck

From: Kragen <kragen_at_pobox.com>
Date: Thu, 16 Apr 1998 21:18:10 -0400 (EDT)
On Thu, 16 Apr 1998, Dan Hollis wrote:
> On Thu, 16 Apr 1998, Brian Bartholomew wrote:
> > > It's just a bit uncivilized to register 13udp ports. 
> > 13 doesn't sound like too many to me, if you plan to make good use of
> > them.  Ports are there to be used.  You can always give them back
> > later.  I hope Coda will be adopted as a backbone of the net.  Would
> > 13 ports be too many to register for NFS?
> 
> Would it be a bad thing to have CODA only have 1 registered UDP port,
> which a client can connect to, and request the port numbers for that
> server's coda service ports 

I still haven't got around to looking at the Coda implementation.  Why
do there need to be thirteen ports?  Are there potentially thirteen
different processes on each machine running Coda?  If not, it would be
relatively simple and cheap to use a single port, and include a 16-bit
integer at the beginning of the data of each packet by which to
demultiplex.

> Sort of what the tcpmux port was supposed to do (too bad nobody ever used
> it!).

tcpmux is different.  The portmapper model, translated onto TCP, goes
like this:
1) client connects to portmapper.
2) client says, "Where do I find NFS?" to portmapper.
3) portmapper says, "You find NFS on port 2047."
4) client disconnects from portmapper.
5) client connects to port 2047.
6) client talks to NFS on port 2047.

The tcpmux model goes like this:
1) client connects to tcpmux.
2) client says, "Let me talk to telnet."
3) server says, "OK."
4) client and server start speaking the telnet protocol over the connection
the client originally made to tcpmux.

It's sort of like the difference between calling the wrong extension and being
told the right extension, after which you have to hang up and call back, and 
calling the receptionist and being transferred to the right extension.

I don't see how tcpmux could really translate to UDP, which is unfortunate.
I'd much prefer to connect to services on other machines by names like 
"telnet", "ftp", and "http" than by names like "23", "21", and "80".
(Even if I *do* have `http' in /etc/services.  It would be better to do
the mapping on the server side, not the client.)

Enough chatter.

Kragen
Received on 1998-04-16 21:21:38