DNS 中的协议字段详细定义
DNS中的协议字段定义
Table of Contents
1 概述
总结DNS协议中各字段的取值
2 DNS Classes
Decimal | Name | Reference |
---|---|---|
0 | Reserved | RFC6895 |
1 | Internet(IN) | RFC1035 |
2 | Unassigned | |
3 | Chaos(CH) | |
4 | Hesiod(HS) | |
5-253 | Unassigned | |
254 | QCLASS NONE | RFC2136 |
255 | QCLASS * (ANY) | RFC1035 |
256-65279 | Unassigned | |
65280-65534 | Reserved for Private Use | RFC6895 |
65535 | Reserved | RFC6895 |
3 DNS OpCodes
OpCode | Name | Reference |
---|---|---|
0 | Query | RFC1035 |
1 | IQuery(Inverse Query) | RFC3425 |
2 | Status | RFC1035 |
3 | Unsassined | |
4 | Notify | RFC1996 |
5 | Update | RFC2136 |
6-15 | Unassigned |
4 DNS RCODEs
Rcode | Name | Description | Reference |
---|---|---|---|
0 | NoError | No Error | RFC1035 |
1 | FormErr | Format Error | RFC1035 |
2 | ServFail | Server Failure | RFC1035 |
3 | NXDomain | Non-Existent Domain | RFC1035 |
4 | NotImp | Not Implemented | RFC1035 |
5 | Refused | Query Refused | RFC1035 |
6 | YXDomain | Name Exists when it should not | RFC2136 |
7 | YXRRSet | RR Set Exists when it should not | RFC2136 |
8 | NXRRSet | RR set that should exist does not | RFC2136 |
9 | NotAuth | Server Not Authoritative for zone | RFC2136 |
10 | NotZone | Not AUthorized | RFC2845 |
11-15 | Unassigned | ||
16 | BADVERS | Bad OPT Version | RFC6891 |
16 | BADSIG | TSIG Signature Failure | RFC2845 |
17 | BADKEY | Key not revognized | RFC2845 |
18 | BADTIME | Signature out of time window | RFC2845 |
19 | BADMODE | Bad TKEY Mode | RFC2930 |
20 | BADNAME | Duplicate key name | RFC2930 |
21 | BADALG | Algorithm not supported | RFC2930 |
22 | BADTRUNC | Bad Truncation | RFC4635 |
23-3840 | Unassigned | ||
3841-4095 | Reserved for Private Use | ||
4096-65534 | Unassigned | ||
65535 | Reserved |
5 DNS Label Types
DNS label的最高两位来标识该label的类型
Value | Type | Status | Reference |
---|---|---|---|
0 0 | 普通label. 低6位是该label的长度 | Standard | RFC1035 |
1 1 | 压缩label. 低6位和接下来的8位标识它相对于包头的偏移量 | Standard | RFC1035 |
0 1 | 扩展类型的label. 低6位表示label的类型那个 | Standard | RFC1035 |
1 0 | 未分配 |
6 DNS资源记录
TYPE | Value | Meaning | Reference |
---|---|---|---|
A | 1 | a host address | [RFC1035] |
NS | 2 | an authoritative name server | [RFC1035] |
MD | 3 | a mail destination(OBSOLETE - use MX) | [RFC1035] |
MF | 4 | a mail forwarder(OBSOLETE - use MX) | [RFC1035] |
CNAME | 5 | the canonical name for an alias | [RFC1035] |
SOA | 6 | marks the start of a zone of authority | [RFC1035] |
MB | 7 | a mailbox domain name (EXPERIMENTAL) | [RFC1035] |
MG | 8 | a mail group member (EXPERIMENTAL) | [RFC1035] |
MR | 9 | a mail rename domain name (EXPERIMENTAL) | [RFC1035] |
NULL | 10 | a null RR (EXPERIMENTAL) [RFC1035] | |
WKS | 11 | a well known service description | [RFC1035] |
PTR | 12 | a domain name pointer | [RFC1035] |
HINFO | 13 | host information | [RFC1035] |
MINFO | 14 | mailbox or mail list information | [RFC1035] |
MX | 15 | mail exchange | [RFC1035] |
TXT | 16 | text strings | [RFC1035] |
RP | 17 | for Responsible Person | [RFC1183] |
AFSDB | 18 | for AFS Data Base location | [RFC1183][RFC5864] |
X25 | 19 | for X.25 PSDN address | [RFC1183] |
ISDN | 20 | for ISDN address | [RFC1183] |
RT | 21 | for Route Through | [RFC1183] |
NSAP | 22 | for NSAP address, NSAP style A record | [RFC1706] |
NSAP-PTR | 23 | for domain name pointer, NSAP style | [RFC1348][RFC1637][RFC1706] |
SIG | 24 | for security signature | [RFC4034][RFC3755][RFC2535][RFC2536][RFC2537][RFC2931][RFC3110][RFC3008] |
KEY | 25 | for security key | [RFC4034][RFC3755][RFC2535][RFC2536][RFC2537]\\[RFC2539][RFC3008][RFC3110] |
PX | 26 | X.400 mail mapping information | [RFC2163] |
GPOS | 27 | Geographical Position | [RFC1712] |
AAAA | 28 | IP6 Address | [RFC3596] |
LOC | 29 | Location Information | [RFC1876] |
NXT | 30 | Next Domain (OBSOLETE) | [RFC3755][RFC2535] |
EID | 31 | Endpoint Identifier | [http://ana-3.lcs.mit.edu/~jnc/nimrod/dns.txt] |
NIMLOC | 32 | Nimrod Locator | [http://ana-3.lcs.mit.edu/~jnc/nimrod/dns.txt] |
SRV | 33 | Server Selection | [RFC2782] |
ATMA | 34 | ATM Address | |
NAPTR | 35 | Naming Authority Pointer | [RFC2915][RFC2168][RFC3403] |
KX | 36 | Key Exchanger | [RFC2230] |
CERT | 37 | CERT | [RFC4398] |
A6 | 38 | A6 (OBSOLETE - use AAAA) | [RFC3226][RFC2874][RFC6563] |
DNAME | 39 | DNAME | [RFC6672] |
SINK | 40 | SINK | [http://tools.ietf.org/html/draft-eastlake-kitchen-sink] |
OPT | 41 | OPT | [RFC6891][RFC3225] |
APL | 42 | APL | [RFC3123] |
DS | 43 | Delegation Signer | [RFC4034][RFC3658] |
SSHFP | 44 | SSH Key Fingerprint | [RFC4255] |
IPSECKEY | 45 | IPSECKEY | [RFC4025] |
RRSIG | 46 | RRSIG | [RFC4034][RFC3755] |
NSEC | 47 | NSEC | [RFC4034][RFC3755] |
DNSKEY | 48 | DNSKEY | [RFC4034][RFC3755] |
DHCID | 49 | DHCID | [RFC4701] |
NSEC3 | 50 | NSEC3 | [RFC5155] |
NSEC3PARAM | 51 | NSEC3PARAM | [RFC5155] |
TLSA | 52 | TLSA | [RFC6698] |
Unassigned | 53-54 | ||
HIP | 55 | Host Identity Protocol | [RFC5205] |
NINFO | 56 | NINFO | [JimReid] |
RKEY | 57 | RKEY | [JimReid] |
TALINK | 58 | Trust Anchor LINK | [WouterWijngaards] |
CDS | 59 | Child DS | [GeorgeBarwood] |
Unassigned | 60-98 | ||
SPF | 99 | [RFC-ietf-spfbis-4408bis-21] | |
UINFO | 100 | [IANA-Reserved] | |
UID | 101 | [IANA-Reserved] | |
GID | 102 | [IANA-Reserved] | |
UNSPEC | 103 | [IANA-Reserved] | |
NID | 104 | [RFC6742] | |
L32 | 105 | [RFC6742] | |
L64 | 106 | [RFC6742] | |
LP | 107 | [RFC6742] | |
EUI48 | 108 | an EUI-48 address | [RFC7043] |
EUI64 | 109 | an EUI-64 address | [RFC7043] |
Unassigned | 110-248 | ||
TKEY | 249 | Transaction Key [RFC2930] | |
TSIG | 250 | Transaction Signature | [RFC2845] |
IXFR | 251 | incremental transfer | [RFC1995] |
AXFR | 252 | transfer of an entire zone | [RFC1035][RFC5936] |
MAILB | 253 | mailbox-related RRs (MB, MG or MR) | [RFC1035] |
MAILA | 254 | mail agent RRs (OBSOLETE - see MX) | [RFC1035] |
* | 255 | all records the server/cache has available | [RFC1035][RFC6895] |
URI | 256 | URI | [PatrikFaltstrom] |
CAA | 257 | Certification Authority Restriction | [RFC6844] |
Unassigned | 258-32767 | ||
TA | 32768 | DNSSEC Trust Authorities | |
DLV | 32769 | DNSSEC Lookaside Validation | [RFC4431] |
Unassigned | 32770-65279 | ||
Private use | 65280-65534 | ||
Reserved | 65535 |
7 EDNS Version
Range | Description | Reference |
---|---|---|
0 | EDNS version 0 | RFC6891 |
1-255 | Unassigned |
8 DNS EDNS0 Option Codes (OPT)
Value | Name | Status | Reference |
---|---|---|---|
0 | Reserved | [RFC6891] | |
1 | LLQ | On-hold | [http://files.dns-sd.org/draft-sekar-dns-llq.txt] |
2 | UL | On-hold | [http://files.dns-sd.org/draft-sekar-dns-ul.txt] |
3 | NSID | Standard | [RFC5001] |
4 | Reserved | ||
5 | DAU | Standard | [RFC6975] |
6 | DHU | Standard | [RFC6975] |
7 | N3U | Standard | [RFC6975] |
8 | edns-client-subnet | Optional | |
9-65000 | Unassigned | ||
65001-65534 | Reserved for Local/Experimental Use | [RFC6891] | |
65535 | Reserved for future expansion | [RFC6891] |