DNS 中的协议字段详细定义

DNS中的协议字段定义

Table of Contents

  • 1 概述
  • 2 DNS Classes
  • 3 DNS OpCodes
  • 4 DNS RCODEs
  • 5 DNS Label Types
  • 6 DNS资源记录
  • 7 EDNS Version
  • 8 DNS EDNS0 Option Codes (OPT)

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]

Date: 2014-04-26T12:10+0800

Author: Cobbliu

Org version 7.9.3f with Emacs version 24

时间: 2024-10-06 00:39:23

DNS 中的协议字段详细定义的相关文章

ICMPv6协议中各种Type的详细取值范围及其含义

https://www.ipv6s.com/basis/20100912134.html 在ICMPv6中的Type字段定义中,0-127为错误消息(Error messages),而128-255为信息消息(Informational messages),其中每种Type定义一种类型及其含义分类,而部分Type中由根据Code值指定该类别下更详细的错误或信息分类. 针对ICMPv6协议属于IPv6协议的一部分,因此该部分对IPv6的ND邻居发现协议进行了很详细的分类,ND邻居发现协议由ICMP

TCP/IP模型中应用层协议之DNS系统

1.概述 域名系统 DNS 是因特网使用的命名系统,用来把便于人们使用的机器名字(即域名)转换为 ip 地址. 用户与因特网上某个主机通信时,必须要知道对方的 ip 地址,然而用户很难记住长达32位二进制主机地址,即使是点分十进制 IP 地址也并不太容易记忆.在应用层中为了便于用户记忆各种网络应用, 更多的是使用主机名字(即网站名:服务器名+域名). 因特网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户--服务器方式.DNS 使大多数名字都在本地进行解析,仅少量解析需要在因特网上

HTTP 首部字段详细介绍

HTTP 协议的请求和响应报文中必定包含 HTTP 首部,只是我们平时在使用 Web 的过程中感受不到它.本章 我们一起来学习 HTTP 首部的结构,以及首部中各字段的用法. 6.1 HTTP 报文首部 首部内容为客户端和服务器分别处理请求和响应提供 所需要的信息.对于客户端用户来说,这些信息中的大部分内容都无须亲自查看. HTTP 请求报文 在请求中,HTTP 报文由方法.URI.HTTP 版本.HTTP 首部字段等部分构成. 下面的示例是访问 http://hackr.jp 时,请求报文的首

DICOM:参考dcm4che2扩展fo-dicom(mDCM)中的UserIdentity字段

背景: 5月份的前半段好懒惰,手里积攒了好多篇文章,也有之前答应过博友要写的,迟迟未动笔.究其根源,有些许懒惰,但更多的是迷惑和一知半解,虽想写但却不知如何入手,零星的感悟要积累成文还是需要时间去沉淀的,以期尽量做到每篇博文有理有据. 今天正好借着手头新任务的机会,介绍一下DICOM3.0标准中的又一新内容.继之前两篇博文基于JMeter+dcm4che2测试PACS服务器性能的解决方案(前/续篇)中提到的DICOM标准第15部分中的TransferCapability概念,本篇介绍标准第8部分

好文转载--无线物联网中CoAP协议的研究与实现

无线物联网中CoAP协议的研究与实现 时间:2013-04-09?来源:电子科技 作者:汤春明,张 荧,吴宇平 关键字:CoAP???无线???物联网???协议?????? 摘要:由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用.IETF的CoRE工作组提出了一种基于REST架构的CoAP协议.CoAP是6LowPAN协议栈中的应用层协议.该文在详细介绍了CoAP协议的内容.特点和交互模型后,在uIPv6 S

理解IP及DNS中的TTL

1. TTL 1.1 IP协议中的TTL 定义 TTL是IP协议包中的一个值,指定数据报被路由器丢弃之前允许通过的网段数量.(IP数据包在计算机网络中可以转发的最大跳数) 在很多情况下数据包在一定时间内不能被传递到目的地.解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发. TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环.转发 IP 数据包时,每经过一个路由器,路由器会修改TTL值, 即将改值减小1.当记数到0时,路由器决定丢弃该包,

聊聊 iOS 开发中的协议

前言 何为协议,简单来说在OC中我们使用关键字@protocol可以声明一个协议,并在协议中添加多个属性.方法供于遵循者实现,从某个角度上来说,这是一种不同于category机制的category.在日常开发中,协议可谓无处不在,最为核心的UITableView通过协议来获取数据.完成事件处理等.下面就是一个最粗浅的协议 @protocol CustomProtocol - (void)doSomething; @end 对于协议的理解,很多的开发者依旧保留在委托-代理等于协议等认知上.然而前者

iOS开发OC基础:OC中的协议

1.协议是一种为有源代码的类扩充方法的方式. 2.协议只是一系列方法的生命,就相当于一张任务清单,规定了要做的事情,但是具有的实施(也就是实现),是由服从该协议的类来实现.所以协议只有.h文件,并且不可以定义变量 3.协议的定义是以@protocol开头, + 协议的名字 <>(表示服从的协议)服从的协议写在<>之内,多个协议之间通过逗号来进行分隔,父协议中的内容就相当于子协议也具有这些内容,以@end结束. 下面的附件是协议的一个小例子,可以加深大家对协议的理解,看完之后一定要多

thinkphp框架中“关联操作”的完整定义详解

在复杂的关联操作中,如果要给关联定义增加可选的属性,我们可以采用完整定义的方式. 完整定义的格式是: protected $_link = array( '关联表名1'  =>  array( '该表的关联方式的属性1' => '定义', '该表的关联方式的属性N' => '定义', ), '关联表名2'  =>  array( '该表的关联方式的属性1' => '定义', '该表的关联方式的属性N' => '定义', ), ... ); 在上面的格式描述中,对于属性我