http://18.104.22.168/ and trying to guess if that’s *really* my bank’s web site or not.
The counterargument, of course, is that DNS is supposed to solve this problem. Give each host a GUID IPv4 address, and then just map a name to that address, and you can have the best of both worlds.
But DNS is a steaming pile of hopeless garbage. When I bring my laptop to my friend’s house and join his LAN, why can’t I see the other hosts on his LAN by name? Because DNS sucks. I’d rather they fixed that problem today before making me switch to something where I can’t possibly remember my host address.
Basically, we need some sort of DNS protocol where new hosts on a network can exchange name information with zero configuration required. And a way for servers to multicast DNS information to allow some sort of service discovery. While they’re at it, they should find a way for IP addresses to be assigned automatically without needing a DHCP server to be set up. If they did all that, it might make IP usable. Perhaps eventually they might even make printers and other devices work with this magical zero configuration DNS.
But while we wait for the impossible, there’s a solution to this whole IPv4 mess right now. We just need to skip the whole boondoggle. As already mentioned, not everyone in the world needs a public NCP address. In fact, most people don’t need one, because most people make only outgoing connections. Their internal network address can be mapped to the external address by their IMP router, via Network Address Translation (NAT).
OK, you say, but don’t all servers need an NCP address? Not at all! HTTP/1.1, which is what everyone uses now, supports “virtual hosts”. You can connect to an NCP address on port 80, and you provide a Host: header at the beginning of the connection, telling it which server name you’re looking for. The NCP address can then decide to route that request anywhere it wants.
So your request for www.google.com at address 79 could be routed by IMP to a different address, say 15, on BBN’s internal network. That server would look at the header and route via an internal connection to Google’s IMP, which might be address 32 on the internal BBN network. So no, we are not going to run out of NCP addresses, because the web is all anyone uses any more and HTTP is infinitely proxyable.
© mathew 2017