RFC 1078

TCP port service Multiplexer (TCPMUX)

πŸ“… published November 1988, from ietf

TCP Port Service Multiplexer (TCPMUX) πŸŽ€

okay bestie, this is RFC 1078 πŸ’… The title block says it's TCP Port Service Multiplexer (TCPMUX), written by M. Lottor of SRI-NIC for the Network Working Group, dated November 1988 πŸ¦‹ This header doesn't list anything it obsoletes or updates, so there's nothing to report there ✨


Status of This Memo ✨

this part tells you what the doc even is 🌸 It proposes an Internet standard that future TCP services can use instead of "well-known ports" πŸ’– Distribution of this memo is unlimited, so share it with everyone 🫢


Overview 🌈

ngl this is the setup 🧚 Ports are how TCP names the two ends of a logical connection, the kind that carries a long-term conversation πŸ’œ To help you reach services you don't know yet, there's a service contact port. It's sometimes called the "well-known port" πŸ“ Standard TCP services get unique well-known port numbers in the range 0-255. That range is tiny, though, so these ports are limited and usually only go to official Internet protocols πŸ’€

So this RFC defines a protocol that lets you reach multiple services through a single well-known TCP port, using a service name instead of a number πŸ‘‘ Private protocols can use it too, without needing an official TCP port assignment πŸ”₯


The Protocol πŸ’…

here's the flow, and it's honestly simple 😭

  1. A TCP client connects to a foreign host on TCP port 1.
  2. It sends the service name, followed by a carriage-return line-feed <CRLF>. The service name is never case sensitive πŸ™ˆ
  3. The server replies with a single character: "+" for positive or "-" for negative acknowledgment. That character is immediately followed by an optional message of explanation, terminated with a <CRLF> πŸŽ€
  4. If the reply was positive, the selected protocol begins. Otherwise, the connection is closed πŸ’€

Service Names πŸ¦‹

the name "HELP" is reserved, so it's taken 🚫 If the server receives it, the server outputs a multi-line message and then closes the connection. The reply to "HELP" must be a list of the service names of the supported services, one name per line ✨

The names listed in the "Protocol and Service Names" section of the current edition of "Assigned Numbers" (RFC-1010 at this time) are reserved to have exactly the definitions specified there. Services with distinct assigned ports must be available on those ports and may optionally be available via this port service multiplexer on port 1. πŸ’œ

Private protocols should use a service name that has a high chance of being unique. A good practice is to prefix the protocol name with the name of your organization 🌸 Multiple versions of a protocol can suffix the service name with a protocol version number 🌈


Implementation Notes 🧚

a negative reply will typically be returned by the port-multiplexing process when it can't find the requested service. A positive reply will typically be returned by the process invoked by the port multiplexer for the requested service πŸ’– periodt πŸ‘‘

πŸ“¦ where this page comes from