RFC 1034 - DOMAIN NAMES - CONCEPTS AND FACILITIES
Domainnamen - Konzepte und Einrichtungen
Veröffentlichungsdatum: November 1987
Status: Internetstandard (STD 13)
Autor: Paul Mockapetris (ISI)
Veraltet: RFC 882, 883, 973
Status of this Memo (Status dieses Memos)
Dieses RFC ist eine Einführung in das Domain Name System (DNS) und lässt viele Details aus, die in einem ergänzenden RFC „Domain Names - Implementation and Specification" [RFC-1035] zu finden sind. Dieses RFC setzt voraus, dass der Leser mit den in diesem Memo diskutierten Konzepten vertraut ist.
Eine Teilmenge der DNS-Funktionen und Datentypen (Data Types) bildet ein offizielles Protokoll (Official Protocol). Das offizielle Protokoll umfasst Standardabfragen (Standard Queries) und deren Antworten sowie die meisten Internet-Klassen-Datenformate (z. B. Hostadressen).
Das Domainsystem (Domain System) ist jedoch absichtlich erweiterbar (Extensible). Forscher schlagen kontinuierlich neue Datentypen, Abfragetypen, Klassen (Classes), Funktionen usw. vor, implementieren und experimentieren mit ihnen. Während daher erwartet wird, dass die Komponenten des offiziellen Protokolls im Wesentlichen unverändert bleiben und als Produktionsdienst funktionieren, sollte bei Erweiterungen über das offizielle Protokoll hinaus immer experimentelles Verhalten erwartet werden.
Abstract (Zusammenfassung)
Das DNS (Domain Name System, Domainnamensystem) ist eine der grundlegenden Komponenten der Internetinfrastruktur und bietet ein verteiltes, hierarchisches Benennungssystem (Naming System). Dieses RFC stellt Domainnamen vor, ihre Verwendung für Internet-Mail und Host-Adressunterstützung sowie die Protokolle (Protocols) und Server (Servers), die zur Implementierung von Domainnamen-Einrichtungen verwendet werden.
Inhaltsverzeichnis (Table of Contents)
1. Status of this Memo (Status dieses Memos)
2. Introduction (Einführung)
- 2. Introduction (Einführung)
- 2.1 The history of domain names (Die Geschichte der Domainnamen)
- 2.2 DNS design goals (DNS-Designziele)
- 2.3 Assumptions about usage (Annahmen über die Nutzung)
- 2.4 Elements of the DNS (Elemente des DNS)
3. Domain Name Space and Resource Records (Domainnamenraum und Ressourceneinträge)
- 3. Domain Name Space and Resource Records (Domainnamenraum und Ressourceneinträge)
- 3.1 Name space specifications and terminology (Namensraumspezifikationen und Terminologie)
- 3.2 Administrative guidelines on use (Administrative Richtlinien für die Verwendung)
- 3.3 Technical guidelines on use (Technische Richtlinien für die Verwendung)
- 3.4 Example name space (Beispiel-Namensraum)
- 3.5 Preferred name syntax (Bevorzugte Namenssyntax)
- 3.6 Resource Records (Ressourceneinträge)
- 3.6.1 Textual expression of RRs (Textdarstellung von RRs)
- 3.6.2 Aliases and canonical names (Aliase und kanonische Namen)
- 3.7 Queries (Abfragen)
- 3.7.1 Standard queries (Standardabfragen)
- 3.7.2 Inverse queries (Optional) (Inverse Abfragen, optional)
- 3.8 Status queries (Experimental) (Statusabfragen, experimentell)
- 3.9 Completion queries (Obsolete) (Vervollständigungsabfragen, veraltet)
4. Name Servers (Nameserver)
- 4. Name Servers (Nameserver)
- 4.1 Introduction (Einführung)
- 4.2 How the database is divided into zones (Wie die Datenbank in Zonen aufgeteilt wird)
- 4.2.1 Technical considerations (Technische Überlegungen)
- 4.2.2 Administrative considerations (Administrative Überlegungen)
- 4.3 Name server internals (Nameserver-Interna)
- 4.3.1 Queries and responses (Abfragen und Antworten)
- 4.3.2 Algorithm (Algorithmus)
- 4.3.3 Wildcards (Platzhalter)
- 4.3.4 Negative response caching (Optional) (Caching negativer Antworten, optional)
- 4.4 Using the database (Verwendung der Datenbank)
5. Resolvers (Resolver)
- 5. Resolvers (Resolver)
- 5.1 Introduction (Einführung)
- 5.2 Client-resolver interface (Client-Resolver-Schnittstelle)
- 5.3 Resolver internals (Resolver-Interna)
Anhänge (Appendices)
Schnellreferenz der Kernkonzepte
DNS-Hierarchie
. (Wurzel)
|
+----------+----------+
| | |
com org net ...
| | |
+----+----+ | +---+---+
| | | | |
google amazon ietf example ...
|
+---+---+
| |
www mail
Domainnamenstruktur
www.example.com.
│ │ │ └─ Wurzel (normalerweise weggelassen)
│ │ └───── Top-Level-Domain (TLD)
│ └─────────── Second-Level-Domain (SLD)
└───────────── Hostname/Subdomain
Vollständig qualifizierter Domainname (Fully Qualified Domain Name, FQDN): www.example.com.
Relativer Domainname (Relative Domain Name): www
DNS-Eintragstypen (RR Types)
| Typ | Name | Zweck |
|---|---|---|
| A | Address | IPv4-Adresse |
| AAAA | IPv6 Address | IPv6-Adresse |
| CNAME | Canonical Name | Alias-Eintrag |
| MX | Mail Exchange | Mailserver |
| NS | Name Server | Nameserver |
| PTR | Pointer | Reverse-DNS |
| SOA | Start of Authority | Zonenautorit��t |
| TXT | Text | Texteintrag |
| SRV | Service | Servicelokalisierung |
DNS-Abfragetypen
Rekursive Abfrage (Recursive Query):
Client → Lokales DNS → [rekursive Abfrage] → Endgültige Antwort
Iterative Abfrage (Iterative Query):
Client → DNS1 → [Verweis] → DNS2 → [Verweis] → DNS3 → Antwort
Ressourceneintragformat (RR Format)
name TTL class type rdata
example.com. 3600 IN A 93.184.216.34
│ │ │ │ │
│ │ │ │ └─ Eintragsdaten
│ │ │ └────── Eintragstyp
│ │ └──────────── Klasse (IN=Internet)
│ └────────────────── Time To Live (Sekunden)
└──────────────────────────────── Domainname
DNS-Auflösungsprozess
1. Benutzer fragt www.example.com ab
↓
2. Lokalen Cache prüfen
↓
3. Lokalen DNS-Server abfragen
↓
4. Wurzelserver abfragen → gibt .com-Server zurück
↓
5. .com-Server abfragen → gibt example.com-Server zurück
↓
6. example.com-Server abfragen → gibt IP-Adresse zurück
↓
7. Ergebnis zurückgeben und cachen
Zone vs Domain
| Konzept | Definition | Beispiel |
|---|---|---|
| Domain | Ein Knoten im Namensbaum und alle seine Unterknoten | example.com und alle Subdomains |
| Zone | Ein Teil einer Domain, der von einer einzelnen Autorität verwaltet wird | example.com-Zonendatei |
Wichtiger Unterschied: Eine Domain kann zu Verwaltungszwecken in mehrere Zonen aufgeteilt werden.
Nameserver-Typen
| Typ | Beschreibung |
|---|---|
| Authoritativer Server (Authoritative) | Besitzt die offizielle Quelle für Zonendaten |
| Rekursiver Server (Recursive) | Führt vollständige Auflösung im Namen von Clients durch |
| Caching-Server | Cached nur Abfrageergebnisse |
| Forwarder | Leitet Abfragen an andere Server weiter |
Beispiel einer Zonendatei
$ORIGIN example.com.
$TTL 3600
@ IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
IN NS ns1.example.com.
IN NS ns2.example.com.
IN MX 10 mail.example.com.
www IN A 93.184.216.34
mail IN A 93.184.216.35
ftp IN CNAME www.example.com.
DNS-Hauptmerkmale
1. Hierarchischer Namensraum (Hierarchical Namespace)
- Baumstruktur mit Wurzel oben
- Verwendet Punkte (.) zum Trennen von Ebenen
- Lesen von rechts nach links (Wurzel → TLD → SLD → Host)
2. Verteilte Datenbank (Distributed Database)
- Kein einzelner Ausfallpunkt
- Daten weltweit auf Tausende von Servern verteilt
- Jede Zone von autoritativen Servern verwaltet
3. Caching-Mechanismus
- Reduziert Abfragelatenz
- Verringert Last auf Wurzelservern
- TTL steuert Cache-Gültigkeitsdauer
4. Redundanz
- 13 Wurzelserver-Cluster (A-M)
- Jede Zone hat typischerweise mehrere NS-Einträge
- Primäre/Sekundäre Server-Architektur
5. Erweiterbarkeit
- Unterstützt neue RR-Typen
- Unterstützt neue Abfragetypen
- EDNS0-Erweiterungsmechanismus
DNS vs Frühe Systeme (HOSTS.TXT)
| Merkmal | HOSTS.TXT | DNS |
|---|---|---|
| Verwaltung | Zentralisiert | Verteilt |
| Skalierbarkeit | Schlecht (O(n²) Bandbreite) | Gut (hierarchisch) |
| Aktualisierungen | Manuelles FTP | Automatische Synchronisierung |
| Abfragen | Lokale Dateisuche | Netzwerkabfragen |
| Struktur | Flache Liste | Hierarchischer Baum |
| Leistung | Durch Dateigröße begrenzt | Mit Caching optimiert |
Verwandte Ressourcen
- Offizielles RFC: RFC 1034 (TXT)
- Offizielle Seite: RFC 1034 DataTracker
- Ergänzendes RFC: RFC 1035 - DNS-Implementierung und -Spezifikation
- Standard: STD 13
- Aktualisierungen:
- RFC 1101 - DNS-Codierung von Netzwerknamen
- RFC 1183 - Neue DNS-RR-Definitionen
- RFC 2181 - Klarstellungen zur DNS-Spezifikation
- RFC 2308 - Negatives Caching von DNS
- RFC 4033-4035 - DNSSEC
- RFC 6891 - EDNS0-Erweiterungen
- RFC 8499 - DNS-Terminologie
Nützliche DNS-Befehle
Unix/Linux/macOS
# A-Eintrag abfragen
dig example.com A
# Alle Einträge abfragen
dig example.com ANY
# Auflösungspfad verfolgen
dig +trace example.com
# Reverse-DNS-Abfrage
dig -x 8.8.8.8
# Spezifischen DNS-Server abfragen
dig @8.8.8.8 example.com
# nslookup-Befehl
nslookup example.com
# host-Befehl
host example.com
Windows
# Domainnamen abfragen
nslookup example.com
# Spezifischen Typ abfragen
nslookup -type=MX example.com
# DNS-Cache leeren
ipconfig /flushdns
# DNS-Cache anzeigen
ipconfig /displaydns
Wichtiger Hinweis: DNS ist eine kritische Internetinfrastruktur, von der fast alle Internetanwendungen abhängen. Das Verständnis von DNS-Konzepten und deren Funktionsweise ist für Netzwerkverwaltung, Sicherheit und Fehlerbehebung unerlässlich.
Nächste Schritte: Lesen Sie RFC 1035 - DNS-Implementierung und -Spezifikation für detaillierte Protokollimplementierungsdetails.