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 | |
| KEY | 25 | for security key | |
| 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 | |
| NIMLOC | 32 | Nimrod Locator | |
| 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 | |
| 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] |
DNS 中的协议字段详细定义的更多相关文章
- 聊聊GIS中的坐标系|再版 详细定义、计算及高程系统
本篇讲坐标系统的详细定义,有关坐标系的变换公式,以及简单说说高程坐标系统. 本文约6000字,阅读时间建议45分钟.硬内容比较多,如有疏漏错误请指出,建议有兴趣的朋友进一步阅读. 作者:博客园/B站/ ...
- TFS中工作项的定制- 字段功能定义
参考,翻译此页面All FIELD XML Elements Reference(http://msdn.microsoft.com/en-us/library/ms194953.aspx) 对于每一 ...
- 让你提前认识软件开发(19):C语言中的协议及单元測试演示样例
第1部分 又一次认识C语言 C语言中的协议及单元測试演示样例 [文章摘要] 在实际的软件开发项目中.常常要实现多个模块之间的通信.这就须要大家约定好相互之间的通信协议,各自依照协议来收发和解析消息. ...
- HTTP 首部字段详细介绍
本文是HTTP解析系列第二篇,如果对http协议不是很了解,可以选去看第一篇:带新手走进神秘的HTTP协议,本文主要是对Http的首部字段进行详细解析. HTTP 协议的请求和响应报文中必定包含 HT ...
- 无线物联网中CoAP协议的研究与实现【转】
无线物联网中CoAP协议的研究与实现 时间:2013-04-09 来源:电子科技 作者:汤春明,张 荧,吴宇平 关键字:CoAP 无线 物联网 协议 摘要:由于物联网中的很多设备都是资源受 ...
- 聊聊 iOS 开发中的协议
前言 何为协议,简单来说在OC中我们使用关键字@protocol可以声明一个协议,并在协议中添加多个属性.方法供于遵循者实现,从某个角度上来说,这是一种不同于category机制的category.在 ...
- Java进阶(十五)Java中设置session的详细解释
Java中设置session的详细解释 简单通俗的讲session就是象一个临时的容器,用来存放临时的东西.从你登陆开始就保存在session里,当然你可以自己设置它的有效时间和页面,举个简单的例子: ...
- 判断逻辑 先判断协议字段返回,再判断业务返回,最后判断交易状态 API密钥
[微信支付]微信小程序支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_1 协议规则 商户接入微信支付, ...
- mysql中information_schema.columns字段说明
1. 获取所有列信息(COLUMNS) SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='数据库名'; COLUMNS表 ...
随机推荐
- linux 使用命令笔记
这篇随笔用来记载常用的 linux 终端命令 1. 重命名 方案a. mv old.c new.c //正规命令,把old.c 重命名为: new.c 方案b. cp old.c new.c ...
- HTML5页面绘图
canvas 标签:获取画笔: 对象.getContext("2d")制定画笔Syte: context.fillStyle = "red"; context. ...
- containing block
1(position:static和relative) 它的包含块由它最近的块级.单元格(table cell)或者行内块(inline-block)祖先元素创建. 2.position:fixed ...
- Android入门(五):程序架构——MVC设计模式在Android中的应用
刚刚接触编程的的人,可能会这样认为:只要代码写完了能够跑起来就算完工了.如果只是写一个小程序,“能够跑起来”这样的标准也就可以了,但是如果你是在公司进行程序的开发,那么仅仅让程序成功的跑起来是不行的, ...
- 【二分】POJ 2109
谁骗我这是贪心TT 大概就是求k的n次方等于p时的k(k到10^9),由于,p的数据到了10^101,n到200,所以直接算估计T ?? 反正看完想到二分,其实数据要是再大点估计我这个二分不行. 网上 ...
- Hello Java
用记事本或者Eclipse编写如下代码 public class JavaAPP{ public static void main(String[] args){ System ...
- 免费馅饼——G
G. 免费馅饼 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果 ...
- 日志分析_使用shell完整日志分析案例
一.需求分析 1. 日志文件每天生成一份(需要将日志文件定时上传至hdfs) 2. 分析日志文件中包含的字段:访问IP,访问时间,访问URL,访问状态,访问流量 3. 现在有"昨日" ...
- Oracle EBS - TNS
TNS Setting: DEV5.VIASYSTEMS.COM= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=10.1.50 ...
- elasticsearch-hadoop使用示例
在elasticsearch-hadoop的具体使用中碰到了几个问题,有必要记录一下,避免下次遇到时又要重新研究. 利用spark读取es数据源的简单示例 import org.elasticsear ...