Zum Hauptinhalt springen

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)

TypNameZweck
AAddressIPv4-Adresse
AAAAIPv6 AddressIPv6-Adresse
CNAMECanonical NameAlias-Eintrag
MXMail ExchangeMailserver
NSName ServerNameserver
PTRPointerReverse-DNS
SOAStart of AuthorityZonenautorit��t
TXTTextTexteintrag
SRVServiceServicelokalisierung

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

KonzeptDefinitionBeispiel
DomainEin Knoten im Namensbaum und alle seine Unterknotenexample.com und alle Subdomains
ZoneEin Teil einer Domain, der von einer einzelnen Autorität verwaltet wirdexample.com-Zonendatei

Wichtiger Unterschied: Eine Domain kann zu Verwaltungszwecken in mehrere Zonen aufgeteilt werden.

Nameserver-Typen

TypBeschreibung
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-ServerCached nur Abfrageergebnisse
ForwarderLeitet 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)

MerkmalHOSTS.TXTDNS
VerwaltungZentralisiertVerteilt
SkalierbarkeitSchlecht (O(n²) Bandbreite)Gut (hierarchisch)
AktualisierungenManuelles FTPAutomatische Synchronisierung
AbfragenLokale DateisucheNetzwerkabfragen
StrukturFlache ListeHierarchischer Baum
LeistungDurch Dateigröße begrenztMit 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.