The number goes back to before HTTP was invented, thus has nothing to do with the infamous 404 error code.
Using the MSP port 18
I just added a minimalistic RFC1312 compliant MSP implementation to psyced: it simply accepts MSP packets and replies with the error text MSP is of historic and cultural value, but please upgrade to PSYC.
This would allow psyced to use port 18 for PSYC protocol. Other implementations could follow. But what advantage does it bring to have PSYC on port 18 other than looking cool?
Well, thinking about it, looking cool is a valid goal, too.
The historic PSYC94 actually came with both a port of lords and a port of commons. The port of lords was 18 also back then, but PSYC94 implemented MSP in full, which is no big deal, but completely pointless today.
Maybe we should use the port of lords for PSYC over TLS?
Using the official IRC port 194
Should the new circuit negotiation strategy work out best by having the receiver side wait for the first packets from the client, it is no problem to multiplex the PSYC, IRC and even HTTP protocols all on one socket.
Being forced to use port 80
And then there is the mighty firewall circumvention requirement, that leads people to frequently put protocols on port 80. Awful, but with a new circuit start-up that doesn't talk, PSYC can also share port 80 with HTTP of course.
Multiplexing everything on port 80
- Is it a dot? Go PSYC!
- Is it <? Go XMPP!
- Is it 0x03? Go RTMP!
- Is it NICK/USER/SERVER/SERVICE? Go IRC!
- Is it GET/POST/HEAD/PUT? Go HTTP!
- Nothing happens? Wait a while, then go SMTP!
Sounds like a plan.
if we have TLS, we do the handshake and go up again.
What are the negative port numbers for?
See Spec:Circuit#Circuit endpoints for an explanation.