DNS Alternative History

Posted on

TCP/IP works fine without DNS. DNS is an optional layer and it even had competition for a long time (WINS still exists).

There’s no fundamental reason why DNS names point to an IP address. They could have pointed to an ip/port tuple; then all protocols would no longer need to have default ports (http does, adc doesn’t) and there wouldn’t be any hassles over SNI adoption (there would be other hassles over adoption).

Some applications respect _srv DNS records to redirect ports. It would also be possible to implement a new DNS record type instead of A/AAAA to represent an ip/port tuple, meaning you could keep the CNAME system. You could possibly resolve MX into a ‘normal’ port-based protocol at the same time.

The obvious downside is you need to use mail.example.com, www.example.com etc to indicate different services instead of just example.com and user@example.com.