Discussion: Pondering socket layers
I know ports are a completely abstract concept, at least network ports...and even hardware ports are just physical connections to memory locations. My question: Why, if they're so abstract, can't a socket manager run simultanious connections over one "port"? For instance, say you have an SMTP server (port 25)...this program is running, and lets the OS know that it wants anything directed at port 25. OS receives a packet addressed to port 25. It forwards it to the program, program gets it and deals with it uniquely from some kind of packet signature, sends it back out. This probably is completely not what TCP/IP is, but wouldn't it make some sort of sense? Granted there are "only" 65535 network ports from which to choose (and why 64K?), but it would cut out errors such as "port busy" simply because the program can't handle multiple sockets...it wouldn't need to.
Yes, I realize that what I propose would be a complete rewrite of OS socket layers and transmission protocols...and I'm not proposing that I write it! :D But still, innovation is good. Although (random story) once I came up with a brilliant idea for improving disk access...talked to a friend of mine, found out it already had a name: SCSI :rolleyes:
I'd be interested in anyone's thought on this matter...every so often I have odd thoughts that just beg for comments, and this is one :cool: