On 2/28/20 1:12 PM, Tom Herbert wrote:
Yes, but in BSD sockets, the most common networking API, "bind" takes an address and port number argument, "connect" takes and address and port number argument, getsockname and getpeername return the respective pairs set on a socket. So the TCP 4-tuple is very visible to applications and has been for many years. If there's a better way to do this that hides this and makes it easier I say go for it, but please don't call this a solved problem until you've achieved ubiquitous deployment and we can obsolete the sockets API since no one is using it anymore.
And in particular any API that presumes that DNS will be reliable and have the correct address for a peer, or even that it exists at all, is going to suffer from a huge disconnect from reality.
The beautiful thing about only needing an address and a port (and often, having a default port) is that it doesn't need any higher-layer infrastructure to make it work. This is a feature, not a bug.
Keith