Summary
- RFC 1078 proposed TCPMUX: connect to TCP port 1, send a case-insensitive service name followed by CRLF, then receive
+orand an optional explanation. A positive reply starts the selected protocol on that connection; a negative reply closes it. - The proposal gave future and private services a contact point without a separate well-known port assignment.
HELPlists the services offered by a host; names of registered services retain their assigned meanings and their existing ports. The 1987 Assigned Numbers list had still marked ports 1–4 unassigned.
Port numbers were the Internet's front doors. A caller looking for a standard TCP service used its well-known contact port. By May 1987, the official Assigned Numbers list put those assigned ports in the low eight bits and showed 1–4 as unassigned. The whole TCP number space was much larger; the scarce thing was a small, managed set of familiar entrance numbers. A new private service might have a perfectly good reason to exist and no official number to put on its door.
Mark Lottor's November 1988 RFC 1078 proposed a receptionist instead. It called the arrangement the TCP Port Service Multiplexer, or TCPMUX. One server listened on TCP port 1. A client opened a connection there and sent the desired service name followed by carriage return and line feed. The name ignored letter case, so a receptionist could recognize the same visitor whether the card said HELP or help. The first exchange was short enough to fit on a sticky note, though the handoff it controlled was consequential.
The reply had a one-character verdict. + meant the service was available; an optional explanation could follow, ending with CRLF. Then the selected service's own protocol began on the existing connection. meant refusal, again with room for an explanation, after which the connection closed. The client had already reached the machine. TCPMUX answered a narrower question: which conversation, if any, should this connection become? It put a naming decision at the front of the stream and then got out of the way.
The implementation note made the work allocation even sharper. A negative answer would typically come from the multiplexer when it could not find the requested service. A positive answer would typically come from the invoked service. The receptionist could say “there is nobody here by that name”; the person behind the door confirmed they were ready to speak. That distinction matters because a list of names at the desk and a running service in the back room are different facts. The plus sign belonged close to the process that would take the call.
There was a house directory. HELP was reserved: a request produced a multiline list of supported service names, one per line, and then the connection closed. It was a discovery conversation, separate from a service session. The list told a caller what the host offered through this lobby. The RFC did not ask the receptionist to invent names or make every room visible. The service names already in the contemporary Assigned Numbers register kept their registered definitions.
Existing services also kept their old front doors. RFC 1078 required a service with its own assigned port to remain available at that port; offering it through TCPMUX was optional. A client who knew the established number could continue to use it. The shared lobby mainly opened a route for future and private services that lacked separate official assignments. This made the proposal an addition to the contact map, with a precise migration rule for familiar addresses.
Private naming brought its own discipline. Lottor advised choosing a service name likely to be unique, perhaps by prefixing it with the organization's name. Versions could be marked with a suffix. Imagine two offices both calling themselves “records”: the receptionist can route the word only according to the host's own list. An organization prefix is less romantic than a short name, but it saves a great deal of hallway confusion. The register's established names held their meanings, while private names had to avoid stepping on one another locally.
The bargain is easiest to see in a single connection. The client knows one numerical entrance, says a human-readable service name, receives a very small answer, and either enters the selected protocol or walks away. HELP describes the host's lobby; + hands a live stream to the service; ends the attempt. Port 1 did not require every new service to stand in line for its own prestigious number. It offered a desk where a name could become a connection, and carefully left the older numbered doors where everyone expected to find them.
Member Briefing
Deeper Profile Context
Sign in with the right membership level to unlock the full briefing and source notes.
Only for Strategic Circle
Strategic Circle
Open to all readers. Unlock profile briefings after joining and signing in.
Join Strategic CircleOnly for Leadership Alliance
Leadership Alliance
For qualified IP-asset owners and management; sign in to unlock alliance briefings.
Join Leadership Alliance





