DNS : Constants
DNS : Ressource Record (RR) Types
The TYPE field identifies what kind of data the record contains and how the RDATA field should be interpreted. It is one of the key fields in every DNS record. The size of Type field is 2 octets.
| TYPE | MS Constant | Description | DEC | HEX | Reference | Usage |
|---|---|---|---|---|---|---|
| A | DNS_TYPE_A | IP4 address | 1 | 0x0001 | RFC1035 | Used to map hostname to an IP address of the host. Also used for DNSBL1, storing subnet masks |
| NS | DNS_TYPE_NS | Name Server | 2 | 0x0002 | RFC1035 | Nameservers responsible for managing a domain’s DNS data |
| MD | DNS_TYPE_MD | Mail Destination | 3 | 0x0003 | RFC1035 | (OBSOLETE – use MX) |
| MF | DNS_TYPE_MF | Mail Forwarder | 4 | 0x0004 | RFC1035 | (OBSOLETE – use MX) |
| CNAME | DNS_TYPE_CNAME | Canonical Name | 5 | 0x0005 | RFC1035 | Alias of one name to another. DNS lookup will continue by retrying the lookup with the new name. |
| SOA | DNS_TYPE_SOA | Start of Authority | 6 | 0x0006 | RFC1035 | Authoritative information of a DNS zone, including the primary name server, the email of the domain administrator, the domain serial number, and several timers relating to refreshing the zone. |
| MB | DNS_TYPE_MB | Mailbox | 7 | 0x0007 | RFC1035 | Experimental |
| MG | DNS_TYPE_MG | Mailgroup Member | 8 | 0x0008 | RFC1035 | Experimental |
| MR | DNS_TYPE_MR | Mail Rename | 9 | 0x0009 | RFC1035 | Experimental |
| NULL | DNS_TYPE_NULL | NULL | 10 | 0x000a | RFC1035 | Experimental |
| WKS | DNS_TYPE_WKS | Well-known Service | 11 | 0x000b | RFC1035 | Record to describe well-known services supported by a host. Not used in practice. |
| PTR | DNS_TYPE_PTR | Pointer RR | 12 | 0x000c | RFC1035 | Common usage is for implementing reverse DNS lookups. |
| HINFO | DNS_TYPE_HINFO | Placeholder record, or host information | 13 | 0x000d | RFC1035 RFC8042 | Repurposed to be used while responding to ANY queries. Originally defined as “Host information”, intended to inform about host’s operating system and hardware. RFC 8482 did not obsolete this conventional meaning for explicit HINFO queries, but rather considers it rarely used. |
| MINFO | DNS_TYPE_MINFO | Mailbox or mail list information | 14 | 0x000e | RFC1035 | Experimental |
| MX | DNS_TYPE_MX | Mail exchange record | 15 | 0x000f | RFC1035 RFC7505 | List of mail exchange servers that accept email for a domain |
| TXT | DNS_TYPE_TEXT | Text record | 16 | 0x0010 | RFC1035 | Originally for arbitrary human-readable text in a DNS record. Since the early 1990s, however, this record more often carries machine-readable data, such as specified by RFC 1464, opportunistic encryption, Sender Policy Framework, DKIM, DMARC, DNS-SD, etc. |
| RP | DNS_TYPE_RP | Responsible Person | 17 | 0x0011 | RFC1183 | Information about the responsible person(s) for the domain. Usually an email address with the @ replaced by a . |
| AFSDB | DNS_TYPE_AFSDB | AFS database record | 18 | 0x0012 | RFC1183 | Location of database servers of an AFS cell. This record is commonly used by AFS clients to contact AFS cells outside their local domain. A subtype of this record is used by the obsolete DCE/DFS file system. |
| X25 | DNS_TYPE_X25 | For security key | 19 | 0x0013 | RFC1183 | Not in current use by any notable application |
| ISDN | DNS_TYPE_ISDN | For ISDN address | 20 | 0x0014 | RFC1183 | Not in current use by any notable application |
| RT | DNS_TYPE_RT | For Route Through | 21 | 0x0015 | RFC1183 | Not in current use by any notable application |
| NSAP | DNS_TYPE_NSAP | For NSAP address, NSAP style A record | 22 | 0x0016 | RFC1706 | DEPRECATED |
| NSA-PPTR | DNS_TYPE_NSAPPTR | For domain name pointer, NSAP style | 23 | 0x0017 | RFC1706 | DEPRECATED |
| SIG | DNS_TYPE_SIG | For security signature | 24 | 0x0018 | RFC2536 RFC2931 RFC3110 RFC4034 | Signature record used in SIG(0) (RFC 2931) and TKEY (RFC 2930). RFC 3755 designated RRSIG as the replacement for SIG for use within DNSSEC |
| KEY | DNS_TYPE_KEY | For security key | 25 | 0x0019 | RFC2536 RFC2931 RFC3110 RFC4034 | Used only for SIG(0) (RFC 2931) and TKEY (RFC 2930). RFC 3445 eliminated their use for application keys and limited their use to DNSSEC. RFC 3755 designates DNSKEY as the replacement within DNSSEC. RFC 4025 designates IPSECKEY as the replacement for use with IPsec. |
| PX | DNS_TYPE_PX | X.400 mail mapping information | 26 | 0x001a | RFC2163 | Not in current use by any notable application |
| GPOS | DNS_TYPE_GPOS | Geographical Position | 27 | 0x001b | RFC1712 | A more limited early version of the LOC record |
| AAAA | DNS_TYPE_AAAA | IP6 Address | 28 | 0x001c | RFC3596 | Returns a 128-bit IPv6 address, most commonly used to map hostnames to an IP address of the host. |
| LOC | DNS_TYPE_LOC | Location Information | 29 | 0x001d | RFC1876 | Specifies a geographical location associated with a domain name |
| NXT | DNS_TYPE_NXT | Next Domain (OBSOLETE) | 30 | 0x001e | RFC2535 RFC3755 | Part of the first version of DNSSEC (RFC 2065). NXT was obsoleted by DNSSEC updates (RFC 3755). At the same time, the domain of applicability for KEY and SIG was also limited to not include DNSSEC use. |
| EID | DNS_TYPE_EID | Endpoint Identifier | 31 | 0x001f | None | Defined by the Nimrod DNS Internet Draft, but never made it to RFC status. Not in current use by any notable application. |
| NIMLOC | DNS_TYPE_NIMLOC | Nimrod Locator | 32 | 0x0020 | None | Defined by the Nimrod DNS Internet Draft, but never made it to RFC status. Not in current use by any notable application. |
| SRV | DNS_TYPE_SRV | Service locator | 33 | 0x0021 | RFC2782 | Generalized service location record, used for newer protocols instead of creating protocol-specific records such as MX. |
| ATMA | DNS_TYPE_ATMA | ATM Address | 34 | 0x0022 | RFC1002 | Mistakes (from RFC 1002); the numbers are now assigned to NIMLOC and SRV. |
| NAPTR | DNS_TYPE_NAPTR | Naming Authority Pointer | 35 | 0x0023 | RFC3403 | Defined by The ATM Forum Committee |
| KX | DNS_TYPE_KX | Key Exchanger | 36 | 0x0024 | RFC2230 | Used with some cryptographic systems (not including DNSSEC) to identify a key management agent for the associated domain-name. Note that this has nothing to do with DNS Security. It is Informational status, rather than being on the IETF standards-track. It has always had limited deployment, but is still in use. |
| CERT | DNS_TYPE_CERT | Certificate record | 37 | 0x0025 | RFC4398 | Stores digital certificates in various forms (PKIX, SPKI, PGP, etc). |
| A6 | DNS_TYPE_A6 | A6 (OBSOLETE – use AAAA) | 38 | 0x0026 | RFC2874 RFC3226 RFC6563 | Defined as part of early IPv6 but downgraded to experimental by RFC 3363; later downgraded to historic by RFC 6563 |
| DNAME | DNS_TYPE_DNAME | Delegation name record | 39 | 0x0027 | RFC6672 | Alias for a name and all its subnames, unlike CNAME, which is an alias for only the exact name. Like a CNAME record, the DNS lookup will continue by retrying the lookup with the new name. |
| SINK | DNS_TYPE_SINK | SINK | 40 | 0x0028 | None | Defined by the Kitchen Sink Internet Draft, but never made it to RFC status |
| OPT | DNS_TYPE_OPT | Option | 41 | 0x0029 | RFC3225 RFC6891 | This is a pseudo-record type needed to support EDNS. |
| APL | DNS_TYPE_APL | Address Prefix List | 42 | 0x002A | RFC3123 | Specify lists of address ranges, e.g. in CIDR format, for various address families. Experimental. |
| DS | DNS_TYPE_DS | Delegation Signer | 43 | 0x002B | RFC4034 | The record used to identify the DNSSEC signing key of a delegated zone |
| SSHFP | DNS_TYPE_SSHFP | SSH Public Key Fingerprint | 44 | 0x002C | RFC4255 | Resource record for publishing SSH public host key fingerprints in the DNS, in order to aid in verifying the authenticity of the host. RFC 6594 defines ECC SSH keys and SHA-256 hashes. See the IANA SSHFP RR parameters registry for details. |
| IPSECKEY | DNS_TYPE_IPSECKEY | IPsec Key | 45 | 0x002D | RFC4025 | Key record that can be used with IPsec |
| RRSIG | DNS_TYPE_RRSIG | DNSSEC signature | 46 | 0x002E | RFC4034 | Signature for a DNSSEC-secured record set. Uses the same format as the SIG record. |
| NSEC | DNS_TYPE_NSEC | Next Secure record | 47 | 0x002F | RFC4034 RFC9077 | Part of DNSSEC—used to prove a name does not exist. Uses the same format as the (obsolete) NXT record. |
| DNSKEY | DNS_TYPE_DNSKEY | DNS Key record | 48 | 0x0030 | RFC4034 | The key record used in DNSSEC. Uses the same format as the KEY record. |
| DHCID | DNS_TYPE_DHCID | DHCP identifier | 49 | 0x0031 | RFC4701 | Used in conjunction with the FQDN option to DHCP |
| NSEC3 | DNS_TYPE_NSEC3 | Next Secure record version 3 | 50 | 0x0032 | RFC5155 RFC9077 | An extension to DNSSEC that allows proof of nonexistence for a name without permitting zonewalking |
| NSEC3PARAM | DNS_TYPE_NSEC3PRAM | NSEC3 parameters | 51 | 0x0033 | RFC5155 | Parameter record for use with NSEC3 |
| TLSA | DNS_TYPE_TLSA | TLSA certificate association | 52 | 0x0034 | RFC6698 | A record for DANE. RFC 6698 defines “The TLSA DNS resource record is used to associate a TLS server certificate or public key with the domain name where the record is found, thus forming a ‘TLSA certificate association'”. |
| SMIMEA | DNS_TYPE_SMIMEA | S/MIME cert association | 53 | 0x0035 | RFC8162 | Associates an S/MIME certificate with a domain name for sender authentication. |
| HIP | DNS_TYPE_HIP | Host Identity Protocol | 55 | 0x0037 | RFC8005 | Method of separating the end-point identifier and locator roles of IP addresses. |
| NINFO | DNS_TYPE_NINFO | NINFO | 56 | 0x0038 | None | Used to provide status information about a zone. Requested for the IETF draft “The Zone Status (ZS) DNS Resource Record” in 2008. Expired without adoption.[36] |
| RKEY | DNS_TYPE_RKEY | RKEY | 57 | 0x0039 | None | Used for encryption of NAPTR records. Requested for the IETF draft “The RKEY DNS Resource Record” in 2008. Expired without adoption.[37] |
| TALINK | DNS_TYPE_TALINK | TALINK | 58 | 0x003A | None | Defined by the DNSSEC Trust Anchor History Service Internet Draft, but never made it to RFC status |
| CDS | DNS_TYPE_CDS | Child DS | 59 | 0x003B | RFC7344 | Child copy of DS record, for transfer to parent |
| CDNSKEY | DNS_TYPE_CDNSKEY | DNSKEY(s) the Child wants reflected in DS | 60 | 0x003C | RFC7344 | Child copy of DNSKEY record, for transfer to parent |
| OPENPGPKEY | DNS_TYPE_OPENPGPKEY | OpenPGP public key record | 61 | 0x003D | RFC7929 | A DNS-based Authentication of Named Entities (DANE) method for publishing and locating OpenPGP public keys in DNS for a specific email address using an OPENPGPKEY DNS resource record. |
| CSYNC | DNS_TYPE_CSYNC | Child-To-Parent Synchronization | 62 | 0x003E | RFC7477 | Specify a synchronization mechanism between a child and a parent DNS zone. Typical example is declaring the same NS records in the parent and the child zone |
| ZONEMD | DNS_TYPE_ZONEMD | Message Digests for DNS Zones | 63 | 0x003F | RFC8976 | Provides a cryptographic message digest over DNS zone data at rest. |
| SVCB | DNS_TYPE_SVCB | Service Binding | 64 | 0x0040 | RFC9460 | This resource record provides metadata and other information that can help clients connect to the host. The HTTPS record is a specialised SVCB record to help when establishing HTTPS connections. The more general SVCB record can provide other information such as supported protocols, alternative endpoints, and some types of aliasing not supported by CNAME records. |
| HTTPS | DNS_TYPE_HTTPS | HTTPS Binding | 65 | 0x0041 | RFC9460 | A specialised type of SVCB record. Provides connection information required to establish a secure connection via HTTPS, which would ordinarily be obtained and negotiated during connection to the host. Obtaining the information from the DNS server instead of negotiating it with the host allows for more secure connections (e.g. by using Encrypted Client Hello) and lower latency when the connection to the host is first established. |
| DSYNC | DNS_TYPE_DSYNC | Endpoint discovery for delegation synchronization | 66 | 0x0042 | RFC9859 | |
| HHIT | DNS_TYPE_HHIT | Hierarchical Host Identity Tag | 67 | 0x0043 | RFC9886 | |
| BRID | DNS_TYPE_BRID | UAS Broadcast Remote Identification | 68 | 0x0044 | RFC9886 | |
| UNECE | DNS_TYPE_UNECE | Value coded per a UNECE Recommendation | 69 | 0x0045 | None | |
| ISO | DNS_TYPE_ISO | Value coded per an ISO standard | 70 | 0x0046 | None | |
| SPF | DNS_TYPE_SPF | SPF data record | 99 | 0x0063 | RFC7208 | Specified as part of the Sender Policy Framework protocol as an alternative to storing SPF data in TXT records, using the same format. It was discontinued in RFC 7208 due to widespread lack of support. |
| UINFO | DNS_TYPE_UINFO | UINFO | 100 | 0x0064 | None | IANA reserved, no RFC documented them and support was removed from BIND in the early 90s. |
| UID | DNS_TYPE_UID | UID | 101 | 0x0065 | None | IANA reserved, no RFC documented them and support was removed from BIND in the early 90s. |
| GID | DNS_TYPE_GID | GID | 102 | 0x0066 | None | IANA reserved, no RFC documented them and support was removed from BIND in the early 90s. |
| UNSPEC | DNS_TYPE_UNSPEC | UNSPEC | 103 | 0x0067 | None | IANA reserved, no RFC documented them and support was removed from BIND in the early 90s. |
| NID | DNS_TYPE_NID | NID | 104 | 0x0068 | RFC6742 | Not in use by any notable application and marked as “experimental” |
| L32 | DNS_TYPE_L32 | L32 | 105 | 0x0069 | RFC6742 | Not in use by any notable application and marked as “experimental” |
| L64 | DNS_TYPE_L64 | L64 | 106 | 0x006A | RFC6742 | Not in use by any notable application and marked as “experimental” |
| LP | DNS_TYPE_LP | LP | 107 | 0x006B | RFC6742 | Not in use by any notable application and marked as “experimental” |
| EUI48 | DNS_TYPE_EUI48 | an EUI-48 address | 108 | 0x006C | RFC7043 | |
| EUI64 | DNS_TYPE_EUI64 | an EUI-64 address | 109 | 0x006D | RFC7043 | |
| NXNAME | DNS_TYPE_NXNAME | NXDOMAIN indicator for Compact Denial of Existence | 128 | 0x0080 | RFC9824 | |
| ADDRS | DNS_TYPE_ADDRS | 248 | 0x00f8 | |||
| TKEY | DNS_TYPE_TKEY | Transaction Key | 249 | 0x00f9 | RFC2930 | A method of providing keying material to be used with TSIG that is encrypted under the public key in an accompanying KEY RR |
| TSIG | DNS_TYPE_TSIG | Transaction Signature | 250 | 0x00fa | RFC8945 | Can be used to authenticate dynamic updates as coming from an approved client, or to authenticate responses as coming from an approved recursive name server[23] similar to DNSSEC. |
| IXFR | DNS_TYPE_IXFR | Incremental Zone Transfer | 251 | 0x00fb | RFC1995 | Requests a zone transfer of the given zone but only differences from a previous serial number. This request may be ignored and a full (AXFR) sent in response if the authoritative server is unable to fulfill the request due to configuration or lack of required deltas. |
| AXFR | DNS_TYPE_AXFR | Transfer of an entire zone | 252 | 0x00fc | RFC1035 RFC5936 | Transfer entire zone file from the primary name server to secondary name servers. |
| MAILB | DNS_TYPE_MAILB | Mailbox-related RRs (MB, MG or MR) | 253 | 0x00fd | RFC1035 | MB, MG, MR, and MINFO are records to publish subscriber mailing lists. MAILB is a query code which returns one of those records. The intent was for MB and MG to replace the SMTP VRFY and EXPN commands. MR was to replace the “551 User Not Local” SMTP error. Later, RFC 2505 recommended that both VRFY and EXPN be disabled, making MB and MG unnecessary. They were classified as experimental by RFC 1035. |
| MAILA | DNS_TYPE_MAILA | Mail agent RRs (OBSOLETE – see MX) | 254 | 0x00fe | RFC1035 | Mail destination (MD) and mail forwarder (MF) records; MAILA is not an actual record type, but a query type which returns MF and/or MD records. RFC 973 replaced these records with the MX record. |
| * | DNS_TYPE_ALL DNS_TYPE_ANY | All cached records | 255 | 0x00ff | RFC1035 | Returns all records of all types known to the name server. If the name server does not have any information on the name, the request will be forwarded on. The records returned may not be complete. For example, if there is both an A and an MX for a name, but the name server has only the A record cached, only the A record will be returned. Usually referred to as ANY (e.g., in dig, Windows nslookup, and Wireshark). In 2019, RFC 8482 standards-track publication led many DNS providers, including Cloudflare, to provide only minimal responses to “ANY” queries, instead of enumerating records. |
| URI | DNS_TYPE_URI | Uniform Resource Identifier | 256 | 0x0100 | RFC7553 | Can be used for publishing mappings from hostnames to URIs. |
| CAA | DNS_TYPE_CAA | Certification Authority Restriction | 257 | 0x0101 | RFC8659 | DNS Certification Authority Authorization, constraining acceptable CAs for a host/domain |
| AVC | DNS_TYPE_AVC | Application Visibility and Control | 258 | 0x0102 | None | |
| DOA | DNS_TYPE_DOA | Digital Object Architecture | 259 | 0x0103 | None | Defined by the DOA over DNS Internet Draft, but never made it to RFC status |
| AMTRELAY | DNS_TYPE_AMTRELAY | Automatic Multicast Tunneling Relay | 260 | 0x0104 | RFC8777 | |
| RESINFO | DNS_TYPE_RESINFO | Resolver Information as Key/Value Pairs | 261 | 0x0105 | RFC9606 | |
| WALLET | DNS_TYPE_WALLET | Public wallet address | 262 | 0x0106 | None | |
| CLA | DNS_TYPE_CLA | BP Convergence Layer Adapter | 263 | 0x0107 | None | |
| IPN | DNS_TYPE_IPN | BP Node Number | 264 | 0x0108 | None | |
| TA | DNS_TYPE_TA | DNSSEC Trust Authorities | 32768 | 0x8000 | None | Part of a deployment proposal for DNSSEC without a signed DNS root. See the IANA database and Weiler Spec for details. Uses the same format as the DS record. |
| DLV | DNS_TYPE_DLV | DNSSEC Lookaside Validation record | 32769 | 0x8001 | RFC8749 RFC4131 | For publishing DNSSEC trust anchors outside of the DNS delegation chain. Uses the same format as the DS record. RFC 5074 describes a way of using these records. |
| WINS | DNS_TYPE_WINS | 65281 | 0xff01 | |||
| WINSR | DNS_TYPE_WINSR | 65282 | 0xff02 |
- Domain Name System blocklist ↩︎
