16

If we have an IP-based system of identifying nodes on the Internet why is there a need for DNS?

9
  • 47
    Because www.google.com is just a TAD easier to remember then 74.125.67.100?
    – ChssPly76
    Aug 13, 2009 at 20:20
  • 6
    I absolutely love that three of us immediately pinged Google in response to this question.
    – Eric
    Aug 13, 2009 at 20:21
  • 5
    Sounds more like material for 69.59.196.212 erm... I mean serverfault.com. There, they can explain about how DNS names are easier to memorize, complain about the complexity of IPv6 and talk about how load balancing allows mapping one host name to X servers, how host headers work etc. etc. :-) Aug 13, 2009 at 20:21
  • But, can the Internet work without www.google.com? Aug 25, 2009 at 19:16
  • 5
    Before DNS was invented, people didn't memorize IP addresses -- they exchanged /etc/hosts files.
    – Josh
    Sep 22, 2009 at 2:37

17 Answers 17

35

Although everybody else suggests that DNS is not necessary for the internet to work, I disagree. DNS is not necessary for an IP based network to work but for the Internet as we know it today it is absolutely necessary!!

5
  • 11
    +1. There is a HUGE number of name-based virtual hosts that will not work without DNS
    – ChssPly76
    Aug 13, 2009 at 20:24
  • 2
    +1 again :-) I wonder whether that's a bug (that I can up-vote again after migration)?
    – ChssPly76
    Aug 13, 2009 at 20:31
  • 1
    You could use host files :) Aug 13, 2009 at 20:31
  • 7
    Pls send me the latest copy of the Internet's host file. Mine is missing a few sites. Aug 25, 2009 at 19:14
  • Yes, shared hosting would be dead
    – Brettski
    Aug 25, 2009 at 20:25
10

If I register a domain name with godaddy and don't like godaddy anymore I can go to another provider and keep my domain name.

The same thing isn't possible with IP addresses as IP addresses are alocated to specific companies and are nothing that you can take with you.

1
  • 1
    This; IP addresses are bound to network topology.
    – Tobu
    Jun 26, 2010 at 19:53
8

Not only does DNS map human-readable names to IP addresses, it also decouples the client from specific details of the network endpoint it wants to connect to.

That allows providers of services to implement high availability systems and change implementation details without impacting their clients.

1
8

Absolutely it could! But you'd have a huge list of entries in /etc/hosts.

Seriously, though. "the internet" (the system of machines which deliver content to a user) would continue to work fine. "the web" (the collection of easy to find information transported over "the internet") would quickly break down because nobody (except the true geeks) would remember the IP Address to get to Google.

1
  • 7
    +1 for the differentiation between the internet and the web
    – hasen
    Aug 25, 2009 at 20:34
6

Because I don't want to remember that Google is 74.125.45.100.

4

With DNS, one IP address can serve websites for multiple domains. (At least if they are running HTTP/1.1.) Without DNS, every website would basically require a dedicated IP address, and those would run out pretty fast.

1
  • 1
    ...and we're thankful for that indeed! I remember having a quarter of an old Class C tied up just on one computer, hosting a bunch of simple static websites. We were so happy when virtual hosting became available and we could collapse that down to a single IP! Jun 24, 2010 at 17:28
3

The difference between an IP and a DNS name is that the IP specifies the servers location, while the DNS name allows you to specify the service itself. The big win that you get by DNS isn't so much that an DNS name is easier to remember, but that you have an layer of abstraction between the service and its implementation. So the underlying implementation can change, the servers can move around without the user noticing it.

Could the Internet work without it? Not for long, as one of the first things to do would be to implement a DNS-like service to workaround all the trouble that a lack of DNS would produce. Without DNS hyperlinks to other webpages would for example break way to easily, so that the world wide web wouldn't be able to function properly.

In a sense DNS is a very basic form of a content addressesable network, in that you say what you want, but not how to get there. You say www.google.com, because you know google does search, but you don't know where on the earth the server is located you end up taking to in the end, all that is abstracted away from you thanks to DNS.

3

Everyone here seems to be forgetting that without DNS, memorizing IP addresses isn't the only option. ARPANET didn't have DNS, and that's where the hosts file originated. From Wikipedia:

The ARPANET, the predecessor to the Internet, had no distributed host name database, such as the modern Domain Name System for retrieving a host's network node address by using the host's name. Each network node maintained its own map of the network nodes that it needed to know about and assigned them names that were memorable to the user. [...] The small size of the ARPANET made the use of hosts files practical [...] however, the maintenance of the hosts file became a larger burden on system administrators [... and] the centralized and monolithic nature of host files eventually necessitated the creation of the distributed Domain Name System.

1
  • It's still a name mapping, just in a static file.
    – Xavier J
    Feb 6, 2014 at 3:09
3

You only need DNS to translate a domain name (e.g. www.google.com) into an IP (64.233.169.147). If everything is IP based, then you don't need DNS.

2

Same reason you can store names in your mobile phone to reference phone numbers :)

There's no requirement for it. Its pure luxury

0

Without any sort of DNS, Google could act as a 'sort of' DNS, letting people find websites (wheras today you'd go to xyz.com, in DNS-less world you'd go to 75.125.127.100 and google xyz, and it'd give you that way)

The internet would work. Is it an internet I want to be a part of? Hell no.

0

There are some cases where "The internet" does not need DNS - for example, if you're exclusively using protocols which don't require DNS (Most peer-to-peer file sharing programs, for example).

Also some private internets have no need for DNS (but most use www to some extent, which usually means they do have it anyway).

0

There may be some webservers that have multiple sites on them that share the same IP and port for traffic so that DNS is how the different sites are used.

0

Here is a good reason for keeping locators (IPs) and identifiers (domain names) separate: RFC 5887. If you merge two companies and need their networks to become one, you'd better hope their networks were configured using identifiers and not locators.

0

Yes, the Internet "works" without DNS. IP packets are routed based on IP addresses and subnet mask. The various routers between the source and destination do not care about human readable aliases.

However, for humans, "www.google.com" is a lot easier to remember than "74.125.225.209" for the same reason that "1600 Amphitheatre Parkway" is easier to remember than "37.423156,-122.084917". In both cases the same information is being conveyed, but also in both cases one is significantly easier to remember. For humans, anyway.

0

The internet itself, at a low level? Certainly - the entire point of an ip address, and the entire IP stack is to help route packets from one place to another with the help of other protocols, none of which rely on the domain name system.

On the other hand, the DNS system allows for a few nice things - firstly, that it allows for human friendly ways to find a host. Secondly, for protocols that are aware of DNS like HTTP, you can choose what content to send based on the intended destination (for example, virtualhosts), which allow for more efficient use of available resources, as well as make use of things like multicasting, geographical routing to nearer servers and other fancy things that make life easier.

Will the internet 'work' without DNS? Absolutely. Will it be an utter pain? Probably - and if DNS broke tommorrow, a lot of services on the internet would be broken.

-2

No. The Stack Exchange network can't work without DNS.

To prove it, let's find out the IP of stackoverflow.com:

$ host stackoverflow.com
stackoverflow.com has address 198.252.206.16

Go to that in your browser and you will get an error page saying:

Couldn't find 198.252.206.16

The Q&A site 198.252.206.16 doesn't seem to exist…yet.

(I'm sorry I can't link to it, Stack Exchange won't let me input a link to an IP.

This is what you get if you go to a Stack Exchange site that doesn't exist, like hsdkgujahr.stackexchange.com, except it says "The Q&A site hsdkgujahr.stackexchange.com doesn't seem to exist…yet."

Now let's check the IP of superuser.com:

$ host superuser.com
superuser.com has address 198.252.206.16

Notice that the IP addresses are exactly the same. In fact, if you do a DNS lookup for any Stack Exchange site, you get the same IP.

If a single IP is mapped to multiple websites, how does the server know which website?

The answer is that the HTTP header Host is being sent to the server with the request, and it contains the fully qualified DNS name of the server.

So, without DNS, you can't get to your favorite Stack Exchange sites (or SourceForge project sites, they work the same way).

1
  • 1
    -1: Disable your DNS server, add 198.252.206.16 stackoverflow.com to your Hosts file, and then try going to stackoverflow.com and you'll find it works even though you've just disabled DNS. Practical? No way. But the internet can function without DNS. You just won't be able to get the IP for various sites.
    – Josh
    Feb 4, 2014 at 14:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .