DNS深入学习-1

本系列文章截止2018年对DNS进行正确介绍,使协议更易懂且与RFCs一致。文档开源,介绍了需预先了解的概念,回顾了DNS发展历程,阐述主要目标是提供易理解入口点,还列出主要文档内容,包括核心、服务器、解析器等方面。

DNS-1 welcome

本系列文章旨在提供对于DNS的正确介绍(截止2018)。原始的RFCs依然是所有标准文本的权威来源,本文档是为了使得此协议更加简单易懂,同时也保持与RFCs的一致性。

此文档开源并由各位开发者合作完成。github仓库地址:hello-dns。也欢迎各位加入。

主要贡献者包括:Michał Kępień, Jan-Piet Mens, Andrew Babichev, Jacob Hoffman-Andrews, Peter van Dijk, Nathan Froyd, Gene McCulley, Charles-Henri Bruyand, jose nazario, Warren Kumari, Patrick Cloke, and Andrew Tunnell-Jones. 首先感谢他们的辛苦付出。

需要预先知道的概念:

  1. 什么是ip地址
  2. 什么是(存根)DNS解析器
  3. 什么是权威域服务器(Authoritative server)
    [image:DB8033B5-D8DC-44BC-8AE5-EB805C6E0BB0-92027-0000693A81CEDB74/8399ECA3-9B7C-4E0A-BE82-280F0823BE5C.png]

经常有疑问的地方:权威域服务器储存DNS数据,解析器在权威域服务器上查找信息,客户端使用存根解析器在解析器上查找信息。本文档针对的是开发人员,但可能对于管理人员也有帮助。

DNS首次在1979年八月在IEN 116中被写下,作为描述互联网的一系列文件的一部分。IEN 116时代的DNS与今日的DNS并不兼容。在1983年,RFC 882和883发布了DNS与今日的有些类似,但还是不能互操作。

DNS在1987年发布RFC 1034和1035时形成了现代这种形式。尽管1034/1035的大部分内容仍然有效,但这些标准并不容易阅读,因为它们5是在一个非常不同的时代编写的。有一百多页的更新只能在以后的文件中找到。

文档的主要目标不是与DNS rfc相抵触,而是提供一个更容易理解域名系统的入口点。

本系列的主要文档:

  1. DNS核心
  2. 存根服务器与请求
  3. 权威域服务器
  4. 解析器
  5. tdns:一个从头开始的DNS库
  6. 可选的部分:EDNS,TSIG,动态升级,DNAME,DNS cookie
  7. 隐私相关:QName最小化,基于TLS的DNS,基于HTTPS的DNS,ENDS填充
  8. 域名系统安全扩展(DNSSEC)
  9. 非IETF标准:RRL和RPZ
  10. DNS的特殊部分:没有过时但是在生产中很少用到

我们从对DNS基础知识的一般性介绍开始:什么是资源记录,什么是RRSET,什么是区域,什么是区域切割,如何布置数据包。任何希望查询名称服务器或发出有效响应的人都需要阅读此部分。

然后,我们专门研究当应用程序向解析器发送问题时能期望得到什么,或者存根解析器能期望得到什么。

下一部分是关于权威服务器应该做什么。在此基础上,我们将不那么详细地描述解析器如何工作。最后,还有一节介绍可选元素,如EDNS、TSIG、动态更新和DNSSEC。

rfc,尤其是早期的rfc,倾向于描述同时执行授权和解析器功能的服务器。事实证明,这使得代码和故障排除都更加困难。因此,在这些文档中,授权功能和缓存功能分别进行了描述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值