Während menschliche Benutzer und die meisten Anwendungsprogramme zur Adressierung entfernter Rechner im Internet symbolische Namen benutzen, verwendet die Netzwerk-Software aus Gründen der Effizienz und der Eindeutigkeit ausschliesslich die 32 Bits bzw. 128 Bits lange binäre IP-Adresse.
In der Anfangszeit des Internet, zur Zeit des ARPANET, wurde die Zuordnung zwischen symbolischen Rechnernamen und ihren binären Adressen mittels einer zentral gelagerte Datei host.txt organisiert, die fortlaufend zu aktualisieren war. Jeweils Nachts forderten dann alle Rechner des ARPANET diese Datei an, um ihre eigenen Adresszuordnungslisten zu aktualisieren. Ein derartiges Vorgehen war allerdings nur solange praktikabel, als das betreffende Netzwerk nur einige hundert Rechner umfasste. Mit dem explosionsartigen Wachstum des Internets wurde schnell klar, dass eine zentrale Verwaltung einer Namens-Adresszuordnung im großen Maßstab nicht mehr sinnvoll war, schon einfach aus dem Grund, weil die zu verwaltenden Zuordnungstabellen schnell viel zu groß und das massenhafte Update zu viel Bandbreite kostete und zu aufwändig wurde (siehe Abbildung).

Darüber hinaus barg dieser flach organisierte Namensraum noch zusätzlich das Problem, dass doppelt vergebene symbolische Namen erkannt und bereinigt werden mussten, was einen erheblichen Administrationsaufwand verursachte.
Zur Lösung dieses Problems wurde von Paul Mockapetris (* 1948) das sogenannte Domain Name System (DNS) entwickelt, das 1983 in den RFCs 882 und 883 spezifiziert und als Internetstandard publiziert wurde. 1987 wurde diese Spezifikation durch die RFCs 1034 und 1035 abgelöst. DNS arbeitet als verteilte Datenbankanwendung und dient dazu, symbolischen Namen binäre IP-Adressen zuzuordnen. Um die verteilte Anwendung sinnvoll zu organisieren, wurde der zur Verfügung stehende Adressraum hierarchisch strukturiert und verschiedenen Abschnitten jeweils eigene DNS-Server zugeordnet, die für die Zuordnung (Mapping) im betreffenden
Adressraumabschnitt verantwortlich sind.



