Author - M. Lottor
Date - November 1988
RFC 1078 defines a network protocol for detecting the availability of TCP services by name. TCP services are host-side applications or daemons that utilize one or more TCP ports. Clients can use TCP port 1 as a way to establish connections to desired TCP applications without knowledge of any specific application port numbers.
This protocol works as follows. The client sends a character string representing the specific service to a host. The host determines availability of the service, then sends an answer back to the client in the form of another character string. A string starting with the character + indicates the service was successfully found; strings starting with - indicate the service was not found.
When the service is successfully found, the client and host remain connected and are ready to communicate under the requested application protocol; otherwise, the connection automatically closes.
Reserved names are defined for many of the standard TCP services in the lower port number ranges. The name HELP is also reserved. However, new application clients and hosts can establish their own naming convention so long as it does not collide with other TCP services that may be in use.
This TCP port 1 service is named tcpmux. The "mux" stands for "multiplexer" and reflects the ability of this service to broker many different protocol connections using one common protocol. tcpmux can supply answers for one service at a time or for all services. When clients send the HELP string, tcpmux responds with a list of all the supported services it locates.Practical Usage:
The only modern operating system to utilize tcpmux is the Silicon Graphics (SGI) IRIX system. Virtually no applications other than port scanners use this service.
Full original text of this Internet Request for Comments document.