Das Domain Name System kann als verteilte Datenbank mit baumförmiger Struktur aufgefasst werden. Beim Internet-DNS liegen die Daten auf einer Vielzahl von weltweit verstreuten Servern, die untereinander über Verweise – in der DNS-Terminologie Delegierungen genannt – verknüpft sind.
In jedem beteiligten Nameserver existieren eine oder mehrere Dateien – die sogenannten Zonendateien – die alle relevanten Daten enthalten. Bei diesen Dateien handelt es sich um Listen von Resource Records. Von großer Bedeutung sind sieben Record-Typen:
- Mit dem SOA Resource Record werden Parameter der Zone, wie z. B. Gültigkeitsdauer oder Seriennummer, festgelegt.
- Mit dem NS Resource Record werden die Verknüpfungen (Delegierungen) der Server untereinander realisiert.
- Mit folgenden Record-Typen werden die eigentlichen Daten definiert:
- Ein A Resource Record weist einem Namen eine IPv4-Adresse zu.
- Ein AAAA Resource Record weist einem Namen eine IPv6-Adresse zu.
- Ein CNAME Resource Record verweist von einem Namen auf einen anderen Namen.
- Ein MX Resource Record weist einem Namen einen Mailserver zu. Er stellt eine Besonderheit dar, da er sich auf einen speziellen Dienst im Internet, nämlich die E-Mailzustellung mittels SMTP, bezieht. Alle anderen Dienste nutzen CNAME, A und AAAA Resource Records für die Namensauflösung.
- Ein PTR Resource Record weist einer IP-Adresse einen Namen zu (Reverse Lookup) und wird für IPv4 und IPv6 gleichermaßen benutzt, nur für IPv4 unterhalb der Domain „IN-ADDR.ARPA.“ und für IPv6 unterhalb von „IP6.ARPA.“.
- Ein TXT Resource Record kann einem Namen einen frei definierbaren Text zuweisen. Eine Einsatzmöglichkeit hier ist die Abwehr von Spam.
Im Laufe der Zeit wurden neue Typen definiert, mit denen Erweiterungen des DNS realisiert wurden. Dieser Prozess ist noch nicht abgeschlossen. Eine umfassende Liste findet sich unter Resource Record.
Beispiele:
Folgender NS Resource Record sei in der Zonendatei der Domain „org.“ definiert: Die Zonendatei für die Domain „example.org.“ befindet sich auf dem Server „ns0.example.org.“. Der Punkt am Ende ist wichtig, da dieser klarstellt, dass kein relativer Name gemeint ist, also hinter „org“ nichts mehr zu ergänzen ist. „IN“ meint, dass der Eintrag die Klasse „Internet“ besitzt und die Zahl davor bedeutet die Time To Live (TTL) in Sekunden, sie besagt, wie lange diese Information in einem Cache zwischengespeichert werden könnte, bevor sie neu erfragt werden sollte. Bei dynamischen IP-Adressen liegt diese Zahl meistens zwischen 20 und 300 Sekunden.
example 86400 IN NS ns0.example.org.
Folgender CNAME Resource Record in der Zonendatei der Domain „example.org.“ definiert: Der Name „de.example.org.“ verweist auf den Namen „rr.example.net.“.
de 3600 IN CNAME rr.example.net.
Folgende Resource Records in der Zonendatei der Domain „example.net“ definieren: Der Name „rr.example.net.“ verweist auf den Namen „rr.esams.example.net.“ und diesem wiederum ist die IPv4-Adresse 203.0.113.232
zugewiesen.
rr 600 IN CNAME rr.esams
rr.esams 3600 IN A 203.0.113.232
Letztlich müssen also alle Rechner, die sich mit „de.example.org.“ verbinden möchten, IPv4-Pakete an die IP-Adresse 203.0.113.232
senden.