Port Multiplexing Details

Benson I. Margulies (Margulies@SCRC-YUKON.ARPA)
Mon, 19 May 86 07:44 EDT

I have been thinking about how the port multiplexing protocol might
work. Part of it seems simple enough, but part does not.

For TCP, the following sketch seems easy enough:

Given a TCP port for a NAMED-TCP-SERVICE service, you connect to that
port, and send the name of the service you want followed by a CRLF.

If the service exists, your connection is handed off to it. If not, the
connecting is closed.

Server implementions are welcome to mark the TCB with the service name.

Conceptually, note that there need not be any numeric port number
associated with the protocol at all.

Some implementations may choose to implement this as a mapping from
names to ports. It is particularly useful for the port used to vary, so
that no explicit configuration is needed to avoid collisions between

For UDP, the problem is harder.

In the CHAOS protocol, the datagram equivalent carries a protocol name.
However, it dosen't carry any data.

Having UDP packets include a protocol name would none the less be the
most elegant. I fear that it won't be practical. It would probably be
necessary to invent UDP-2 as a full-fledged protocol that stored the
name-length in the header.

The weaker alternative is a UDP service that converts a protocol name
into a port number. The problem here is the lifetime of the resulting
information. If the mapping from names to numbers has to be permanent,
then each server implementation has to have a way to maintain a
permanent data base of the assignments, which would be a shame.

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