Zum Hauptinhalt springen

RFC 1035 - Domainnamen - Implementierung und Spezifikation

  • Status: Internet Standard
  • Veröffentlicht: November 1987
  • Stream: Legacy
  • Ersetzt: RFC882, RFC883, RFC973
  • Errata: Keine Errata

Zusammenfassung​

Dieses RFC beschreibt die Details des Domain-Systems und -Protokolls und setzt voraus, dass der Leser mit den im Begleit-RFC „Domain Names - Concepts and Facilities (Domainnamen - Konzepte und Einrichtungen)" [RFC-1034] diskutierten Konzepten vertraut ist.

Das Domain-System ist eine Mischung aus Funktionen und Datentypen, die ein offizielles Protokoll sind, und Funktionen und Datentypen, die noch experimentell sind. Da das Domain-System absichtlich erweiterbar konzipiert ist, sollten in Teilen des Systems jenseits des offiziellen Protokolls immer neue Datentypen und experimentelles Verhalten erwartet werden. Die offiziellen Protokollteile umfassen Standardabfragen, Antworten und die Internet-Klasse-RR-Datenformate (z. B. Hostadressen).

Bedeutung​

RFC 1035 bildet zusammen mit RFC 1034 die Kernspezifikation von DNS:

  • RFC 1034: Konzepte und Einrichtungen (Theorie und Architektur)
  • RFC 1035: Implementierung und Spezifikation (Protokoll und Formate)

Dieses RFC liefert alle technischen Details, die zur Implementierung von DNS erforderlich sind:

  • 📦 Nachrichtenformat und Kodierung
  • 📋 Ressourceneintrags-Definitionen
  • 📁 Zonendateiformat
  • 🖥️ Nameserver-Implementierung
  • 🔍 Resolver-Implementierung

Inhaltsverzeichnis​

1. Status​

2. Introduction (Einführung)​

  • 2.1 Überblick
  • 2.2 Gängige Konfigurationen
  • 2.3 Konventionen
    • 2.3.1 Bevorzugte Namenssyntax
    • 2.3.2 Datenübertragungsreihenfolge
    • 2.3.3 Groß-/Kleinschreibung von Zeichen
    • 2.3.4 Größenbeschränkungen

3. Domain Name Space and RR Definitions (Domainnamenraum und RR-Definitionen)​

  • 3.1 Namenraum-Definitionen
  • 3.2 RR-Definitionen
    • 3.2.1 Format
    • 3.2.2 TYPE-Werte
    • 3.2.3 QTYPE-Werte
    • 3.2.4 CLASS-Werte
    • 3.2.5 QCLASS-Werte
  • 3.3 Standard-RRs
    • 3.3.1 CNAME RDATA-Format
    • 3.3.2 HINFO RDATA-Format
    • 3.3.3 MB RDATA-Format (EXPERIMENTELL)
    • 3.3.4 MD RDATA-Format (Veraltet)
    • 3.3.5 MF RDATA-Format (Veraltet)
    • 3.3.6 MG RDATA-Format (EXPERIMENTELL)
    • 3.3.7 MINFO RDATA-Format (EXPERIMENTELL)
    • 3.3.8 MR RDATA-Format (EXPERIMENTELL)
    • 3.3.9 MX RDATA-Format
    • 3.3.10 NULL RDATA-Format (EXPERIMENTELL)
    • 3.3.11 NS RDATA-Format
    • 3.3.12 PTR RDATA-Format
    • 3.3.13 SOA RDATA-Format
    • 3.3.14 TXT RDATA-Format
  • 3.4 Internet-spezifische RRs
    • 3.4.1 A RDATA-Format
    • 3.4.2 WKS RDATA-Format
  • 3.5 IN-ADDR.ARPA-Domain
  • 3.6 Definition neuer Typen, Klassen und spezieller Namenräume

4. Messages (Nachrichten)​

  • 4.1 Format
    • 4.1.1 Header-Sektion-Format
    • 4.1.2 Frage-Sektion-Format
    • 4.1.3 Ressourceneintrag-Format
    • 4.1.4 Nachrichtenkompression
  • 4.2 Transport
    • 4.2.1 UDP-Verwendung
    • 4.2.2 TCP-Verwendung

5. Master Files (Masterdateien)​

  • 5.1 Format
  • 5.2 Verwendung von Masterdateien zur Definition von Zonen
  • 5.3 Masterdatei-Beispiel

6. Name Server Implementation (Nameserver-Implementierung)​

  • 6.1 Architektur
    • 6.1.1 Steuerung
    • 6.1.2 Datenbank
    • 6.1.3 Zeit
  • 6.2 Standardabfrage-Verarbeitung
  • 6.3 Zonen-Aktualisierungs- und Neuladebearbeitung
  • 6.4 Inverse Abfragen (Optional)
  • 6.5 Vervollständigungsabfragen und -antworten

7. Resolver Implementation (Resolver-Implementierung)​

  • 7.1 Umwandlung einer Benutzeranfrage in eine Abfrage
  • 7.2 Senden der Abfragen
  • 7.3 Verarbeitung von Antworten
  • 7.4 Verwendung des Caches

Glossary (Glossar)​

References (Referenzen)​

Technical Guide (Technischer Leitfaden)​

Schnellreferenz​

DNS-Nachrichtenformat​

    +---------------------+
| Header | 12 Bytes
+---------------------+
| Question | variabel
+---------------------+
| Answer | variabel
+---------------------+
| Authority | variabel
+---------------------+
| Additional | variabel
+---------------------+

DNS-Header-Format (12 Bytes)​

                                    1  1  1  1  1  1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR| Opcode |AA|TC|RD|RA| Z | RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QDCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ANCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| NSCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ARCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Gängige RR-Typen​

TYPEWertBeschreibung
A1Host-Adresse
NS2Autoritativer Nameserver
CNAME5Kanonischer Name (Alias)
SOA6Start der Autorität
PTR12Domain-Name-Zeiger
MX15Mail-Austausch
TXT16Textzeichenketten
AAAA28IPv6-Adresse (RFC 3596)

Antwortcodes (RCODE)​

WertNameBeschreibung
0NOERRORKein Fehler
1FORMERRFormatfehler
2SERVFAILServer-Fehler
3NXDOMAINName existiert nicht
4NOTIMPNicht implementiert
5REFUSEDAbgelehnt

Größenbeschränkungen​

ElementGrenzeBeschreibung
Label63 BytesMaximale Länge eines einzelnen Labels
Domainname255 BytesMaximale Länge eines vollständigen Domainnamens
UDP-Nachricht512 BytesStandard-UDP-Nachrichtengröße
TCP-Nachricht65535 BytesMaximale TCP-Nachrichtengröße
TTL2^31-1 SekundenMaximale Lebensdauer

Beziehung zu RFC 1034​

RFC 1034RFC 1035
Konzepte und TheorieImplementierung und Protokoll
Domain-Namenraum-StrukturNachrichtenformat
Nameserver-FunktionenNameserver-Implementierung
Resolver-KonzepteResolver-Implementierung
ZonenverwaltungZonendateiformat

Implementierungsanforderungen​

Muss implementiert werden (MUST)​

  • ✅ Standardabfragen und -antworten
  • ✅ A, NS, CNAME, SOA, PTR, MX-Einträge
  • ✅ UDP-Transport (512 Bytes)
  • ✅ Nachrichtenkompression
  • ✅ Groß-/Kleinschreibung-unabhängiger Vergleich

Sollte implementiert werden (SHOULD)​

  • ✅ TCP-Transport (für große Antworten)
  • ✅ Zonentransfer (AXFR)
  • ✅ Caching und TTL-Verarbeitung
  • ✅ Unterstützung rekursiver Abfragen

Kann implementiert werden (MAY)​

  • Inverse Abfragen
  • Experimentelle RR-Typen
  • Dynamische Updates

Verwandte RFCs​

  • RFC 1034: DNS-Konzepte und -Einrichtungen (Begleitdokument)
  • RFC 2181: DNS-Spezifikationsklärungen
  • RFC 2308: Negatives Caching von DNS-Abfragen
  • RFC 3596: DNS-Erweiterungen für IPv6
  • RFC 4033-4035: DNSSEC
  • RFC 6891: EDNS(0)
  • RFC 8499: DNS-Terminologie

Online-Ressourcen​


Begleitdokument: RFC 1034 - DNS-Konzepte und -Einrichtungen

Nächstes Kapitel: 2. Introduction (Einführung)

Referenzen​

Vollständiges Verzeichnis der im Originalmemo aufgeführten Quellen und Literaturhinweise.

[Dyer 87] S. Dyer, F. Hsu, "Hesiod", Project Athena Technical Plan - Name Service, April 1987, version 1.9.

            Beschreibt die Grundlagen des Hesiod-Namensdienstes.

[IEN-116] J. Postel, "Internet Name Server", IEN-116, USC/Information Sciences Institute, August 1979.

            Ein durch das Domain Name System abgelöster, aber noch
immer verwendeter Namensdienst.

[Quarterman 86] J. Quarterman, and J. Hoskins, "Notable Computer Networks", Communications of the ACM, October 1986, volume 29, number 10.

[RFC-742] K. Harrenstien, "NAME/FINGER", RFC-742, Network Information Center, SRI International, December 1977.

[RFC-768] J. Postel, "User Datagram Protocol", RFC-768, USC/Information Sciences Institute, August 1980.

[RFC-793] J. Postel, "Transmission Control Protocol", RFC-793, USC/Information Sciences Institute, September 1981.

[RFC-799] D. Mills, "Internet Name Domains", RFC-799, COMSAT, September 1981.

            Schlägt die Einführung einer Hierarchie anstelle eines
flachen Namensraums für das Internet vor.

[RFC-805] J. Postel, "Computer Mail Meeting Notes", RFC-805, USC/Information Sciences Institute, February 1982.

[RFC-810] E. Feinler, K. Harrenstien, Z. Su, and V. White, "DOD Internet Host Table Specification", RFC-810, Network Information Center, SRI International, March 1982.

            Veraltet. Siehe RFC-952.

[RFC-811] K. Harrenstien, V. White, and E. Feinler, "Hostnames Server", RFC-811, Network Information Center, SRI International, March 1982.

            Veraltet. Siehe RFC-953.

[RFC-812] K. Harrenstien, and V. White, "NICNAME/WHOIS", RFC-812, Network Information Center, SRI International, March 1982.

[RFC-819] Z. Su, and J. Postel, "The Domain Naming Convention for Internet User Applications", RFC-819, Network Information Center, SRI International, August 1982.

            Frühe Überlegungen zum Entwurf des Domain-Systems.
Die heutige Implementierung ist völlig anders.

[RFC-821] J. Postel, "Simple Mail Transfer Protocol", RFC-821, USC/Information Sciences Institute, August 1980.

[RFC-830] Z. Su, "A Distributed System for Internet Name Service", RFC-830, Network Information Center, SRI International, October 1982.

            Frühe Überlegungen zum Entwurf des Domain-Systems.
Die heutige Implementierung ist völlig anders.

[RFC-882] P. Mockapetris, "Domain names - Concepts and Facilities," RFC-882, USC/Information Sciences Institute, November 1983.

            Durch dieses Memo ersetzt.

[RFC-883] P. Mockapetris, "Domain names - Implementation and Specification," RFC-883, USC/Information Sciences Institute, November 1983.

            Durch dieses Memo ersetzt.

[RFC-920] J. Postel and J. Reynolds, "Domain Requirements", RFC-920, USC/Information Sciences Institute, October 1984.

            Erläutert das Namensschema für Top-Level-Domains.

[RFC-952] K. Harrenstien, M. Stahl, E. Feinler, "DoD Internet Host Table Specification", RFC-952, SRI, October 1985.

            Legt das Format von HOSTS.TXT fest, der durch das DNS
ersetzten Host-/Adresstabelle.

[RFC-953] K. Harrenstien, M. Stahl, E. Feinler, "HOSTNAME Server", RFC-953, SRI, October 1985.

            Dieses RFC enthält die offizielle Spezifikation des
Hostname-Server-Protokolls, das durch das DNS obsolet
ist. Dieses TCP-basierte Protokoll greift auf im
RFC-952-Format gespeicherte Informationen zu und dient
zum Abrufen von Kopien der Host-Tabelle.

[RFC-973] P. Mockapetris, "Domain System Changes and Observations", RFC-973, USC/Information Sciences Institute, January 1986.

            Beschreibt Änderungen an RFC-882 und RFC-883 sowie
deren Gründe.

[RFC-974] C. Partridge, "Mail routing and the domain system", RFC-974, CSNET CIC BBN Labs, January 1986.

            Beschreibt den Übergang von HOSTS.TXT-basierter
Mail-Adressierung zum leistungsfähigeren, mit dem
Domain-System genutzten MX-System.

[RFC-1001] NetBIOS Working Group, "Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and Methods", RFC-1001, March 1987.

            Dieses RFC und RFC-1002 sind ein vorläufiger Entwurf
für NETBIOS über TCP/IP, der den NetBIOS-Namensdienst
auf dem DNS basieren lässt.

[RFC-1002] NetBIOS Working Group, "Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed Specifications", RFC-1002, March 1987.

[RFC-1010] J. Reynolds, and J. Postel, "Assigned Numbers", RFC-1010, USC/Information Sciences Institute, May 1987.

            Enthält Socket-Nummern und Mnemonics für Hostnamen,
Betriebssysteme usw.

[RFC-1031] W. Lazear, "MILNET Name Domain Transition", RFC-1031, November 1987.

            Beschreibt einen Plan zur Umstellung des MILNET auf
das DNS.

[RFC-1032] M. Stahl, "Establishing a Domain - Guidelines for Administrators", RFC-1032, November 1987.

            Beschreibt die Registrierungsrichtlinien, mit denen
die NIC die Top-Level-Domains verwaltet und Subzonen
delegiert.

[RFC-1033] M. Lottor, "Domain Administrators Operations Guide", RFC-1033, November 1987.

            Ein Kochbuch für Domain-Administratoren.

[Solomon 82] M. Solomon, L. Landweber, and D. Neuhengen, "The CSNET Name Server", Computer Networks, vol 6, nr 3, July 1982.

            Beschreibt einen vom DNS unabhängigen Namensdienst für
CSNET sowie die DNS-Nutzung im CSNET.

[RFC-974]. Siehe Abschnitt zu MX und Mail-Routing.

[RFC-1034]. Begleitdokument: DNS-Konzepte und -Einrichtungen, siehe Abschnitt 2.

[RFC-1034]. Siehe Abschnitt 4 – Implementierungsdetails.