Ein Resource Record (RR, deutsch etwa „Ressourceneintrag“ oder „Ressourcendatensatz“) ist die grundlegende Informationseinheit im Domain Name System (DNS). Ein Resource Record ordnet einem Namen in einer DNS-Zone typisierte Daten zu, etwa die IP-Adresse eines Hosts, den zuständigen Mailserver oder textuelle Metadaten. In Zonendateien wird er in einer zeilenorientierten ASCII-Notation dargestellt, während er im DNS-Protokoll und in DNS-Caches in einem kompakten Binärformat übertragen und gespeichert wird.

RR-Format in Zonendateien Das hier dargestellte Format bezieht sich auf die ASCII-Darstellung, die in Zonendateien verwendet wird. In Caches oder auf dem Transportweg wird ein inhaltsgleiches, aber komprimiertes Binärformat verwendet. RR-Typen werden im Binärformat durch 16-Bit-Zahlenwerte von 0 bis 65535 ausgedrückt. Ähnliches gilt für Class und TTL.

ASCII-Format: [<name>] [<ttl>] [<class>] <type> <rdata>

<name> Der Domainname des Objekts, zu dem der Resource Record gehört (optional) <ttl> time to live (in Sekunden). Gültigkeit des Resource Records (optional) <class> Protokollgruppe, zu der der Resource Record gehört (optional) <type> beschreibt den Typ des Resource Records <rdata> (resource data) Daten, welche den Resource Record näher beschreiben (zum Beispiel eine IP-Adresse für einen A-RR, oder einen Hostnamen für einen NS-RR)

Bei einigen Typen ist rdata in mehrere Subfelder unterteilt, beispielsweise beim MX Resource Record. Die optionalen Komponenten können in der Zonendatei weggelassen werden. Es wird dann vom Nameserver automatisch der zuletzt aufgetretene Wert dieser Komponente eingesetzt. Auf dem Transportweg werden alle Komponenten übertragen, auch die optionalen. Im Binärformat wird vor rdata eine weitere Komponente namens rdlength übertragen, die die Länge von rdata in Bytes angibt.

Beispiele

example.com. 3600 IN A 172.30.0.7 www.example.com. IN CNAME example.com. example.com. 1800 IN MX mailserver.example.com. example.com. NS nameserver.example.com. 7.0.30.172.in-addr.arpa. PTR example.com.

Spezielle Arten von Resource Records Pseudo-Record Es gibt RR-Typen, die nie in Zonendateien eingetragen werden, sondern lediglich auf dem Transportweg zwischen Nameserver und Client zum Einsatz kommen, beispielsweise der OPT Resource Record. Diese werden als Pseudo-Resource-Records bezeichnet.

Wildcard-Record Wenn ein Domainname mit *. beginnt (beispielsweise *.example.net), handelt es sich dabei um einen Wildcard-Record bzw. Wildcard-Domainnamen. Ein solcher hat eine besondere Bedeutung für den zuständigen Nameserver: Der Platzhalter greift für beliebige Label in dem angefragten Domainnamen. Der Nameserver erzeugt für die Antwort einen Resource Record, in dem statt des Sternchen-Platzhalters der angefragte Domainname enthalten ist und der so im Cache zwischengespeichert werden kann. Für den Client ist bei einer unsignierten DNS-Antwort nicht auf Anhieb ersichtlich, dass er eine Wildcard-Antwort erhalten hat.

Wildcards-Records können mit bestehenden Resource Records koexistieren. Die Wildcard greift nur dann, wenn kein anderer Resource Record vorhanden ist, der auf die Anfrage passt.

DNSSEC unterstützt Wildcard-Records. Damit eine Wildcard-Antwort nicht zum Zeitpunkt der Antwort signiert werden muss, sondern dies vorab geschehen kann (Offline-Signierung), enthält das DNSSEC-Protokoll eine Logik zur Validierung von Wildcard-Domainnamen. Für diesen Zweck enthält der RRSIG Resource Record eine Zählerkomponente, die die Anzahl der Namensbestandteile wiedergibt, wobei der Sternchen-Platzhalter nicht mitgezählt wird. Dadurch kann der Client in einer signierten DNSSEC-Antwort ermitteln, dass es sich um einen Wildcard-Domainnamen handelt.

Negative DNSSEC-Antworten erfordern eine zusätzliche Komplexität, um nachzuweisen, dass nicht nur der angefragte Domainname nicht existiert, sondern dass auch kein Wildcard-Domainname existiert. Daher beinhalten negative DNSSEC-Antworten zwei NSEC Resource Records oder drei NSEC3 Resource Records.

Die zulässigen Klassen In der Praxis wird nahezu ausnahmslos IN verwendet. Die anderen Klassen haben nur noch historische Bedeutung. Von BIND-Servern wird gelegentlich CH gebraucht, um die Versionsnummer eines Nameservers zu publizieren.

IN Internet CH Chaosnet (selten verwendet) HS Hesiod (selten verwendet) CS CSNET (wird nicht mehr verwendet)

RR-Typen Die folgenden Typen von Resource Records sind bei der Internet Assigned Numbers Authority registriert.

Typ Wert (dezimal) Definierendes RFC Beschreibung Funktion A 1 RFC 1035 Address record Gibt die 32 Bit lange IPv4-Adresse eines Hosts zurück. Am häufigsten für die Zuordnung eines Hostnamens zu einer IP-Adresse des Hosts gebräuchlich, wird aber auch für DNSBLs, Speichern von Subnetzmasken und derlei verwendet. AAAA 28 RFC 3596 IPv6 Address record Gibt die 128 Bit lange IPv6-Adresse eines Hosts zurück. Am häufigsten für die Zuordnung eines Hostnamens zu einer IP-Adresse des Hosts gebräuchlich. AFSDB 18 RFC 1183 AFS Database Record Resource Record für den Ort von Cell Database Server des Andrew File Systems. Dieser RR wird üblicherweise von AFS Clients benutzt, um AFS Cells außerhalb ihrer lokalen Domain zu benachrichtigen. Ein Subtyp dieses RR wird von dem mittlerweile veralteten DCE/DFS-Dateisystems verwendet. APL 42 RFC 3123 Address Prefix List Auflisten von Adressbereichen, z. B. im CIDR-Format, für verschiedene Adressfamilien. Versuchsweise eingeführt. ATMA 34 ATM Address A6 38 Resource Record des Verfahrens A6 zur teilweisen Adressauflösung unter IPv6. Inzwischen veraltet. CAA 257 RFC 6844 Certification Authority Authorization Certification Authority (CA) Blockierung, die zulässige CAs für einen Host bzw. eine Domain beschränken CDNSKEY 60 RFC 7344 Child DNSKEY Kindkopie eines DNSKEY-Records, um sie an sein Eltern-Record zu übertragen CDS 59 RFC 7344 Child DS Kindkopie eines DS-Records, um sie an sein Eltern-Record zu übertragen CERT 37 RFC 4398 Certificate record Resource Record für das Speichern von Zertifikaten wie PKIX, SPKI und PGP CNAME 5 RFC 1035 Canonical Name record Kanonischer Name für einen Host (die Domain mit diesem RR ist ein Alias) CSYNC 62 RFC 7477 Child-To-Parent Synchronization Signalisierungsmechanismus, welche Records in die Eltern-Zone kopiert werden sollen DHCID 49 RFC 4701 DHCP Identifier In Verbindung mit der FQDN-Option für DHCP benutzt. DLV 32769 RFC 4431 DNSSEC Lookaside Validation record Benutzt zur Veröffentlichung von DNSSEC Trust Anchors außerhalb der DNS Delegationskette (delegation chain). Benutzt dasselbe Format wie der DS-Record. RFC 5074 beschreibt die Art der Benutzung dieser Records. DNAME 39 RFC 2672 Delegation Name Alias für einen Namen und alle seine Subnamen. Ähnlich wie CNAME, aber anstatt eines Aliases nur für einen übereinstimmenden Namen, ist DNAME für komplette Domains zuständig. Ähnlich wie CNAME wird die Suche im DNS durch ständiges Probieren, den neuen Namen zu finden, weitergeführt. DNSKEY 48 RFC 4034 DNS Key record Enthält einen dem Namen zugeordneten Public-Key und löste ab 2004 bei DNSSEC den Typ KEY ab. DS 43 RFC 4034 Delegation Signer Dient der Identifizierung und Verkettung DNSSEC-signierter Zonen EID 31 Endpoint Identifier GPOS 27 Geographical Position Geographische Position, veraltet. HIP 55 RFC 5205 Host Identity Protocol Methode zur Trennung der Endpunktkennzeichnung und Ortungsfunktionen von IP-Adressen. HINFO 13 RFC 1035 Host Information Informationen des Hosts wie Prozessortyp und Betriebssystem HTTPS 65 RFC 9460 HTTPS Binding Verbesserte Performance für den direkten Zugriff auf HTTPS-Ressourcen IPSECKEY 45 RFC 4025 IPsec Key Schlüsseleintrag, der mit IPsec verwendet werden kann ISDN 20 ISDN ISDN-Nummer, wird nur selten verwendet. KEY 25 RFC 2535 und RFC 2930 Key record Enthält einen dem Namen zugeordneten Public-Key und wird seit 2004 nicht mehr von DNSSEC verwendet.