DNS云学堂 | 权威DNS那些事儿(上)
说到DNS,对于网络工程师来说并不是一个陌生的领域,但仍然常会有人问诸如权威DNS变更怎么做比较好、怎么设计更合理之类的问题。
这是因为对于大多数人来说,DNS只是一个不知不觉每天都在使用的网络服务,对它的认知仅仅停留在冰山水面之上可见的部分。而之所以出问题或有疑惑,其实主要是涉及到了水面下的领域——这部分知识相对冷门,且涉及到标准规范与落地运行的偏差,因此情况复杂多变。
对于整个DNS体系来说,水面下的部分非常庞大,要全部搞清楚非一日之功,所以互联网域名系统国家工程研究中心(ZDNS)的工程师们开启了“DNS云学堂”栏目,分享DNS相关基础知识、使用技巧、问题对策、典型案例、技术趋势等。今天带来第一期内容,分享权威DNS那些事儿。enjoy:
TIPS:
在讲解具体知识之前,有一些术语和原理需要先简单介绍一下:
注册局:域名注册局是管理顶级域名的组织。 他们创建域名后缀,设置域名规则,并与注册商合作向公众出售域名。 例如,VeriSign 管理 .com 域名及其域名系统 (DNS) 的注册,CNNIC管理 .cn 域名及其域名系统 (DNS) 的注册。
注册商:注册商是经认证可向公众销售域名的组织,如 万网、DNSPOD、新网、ZDNS等。每个注册商可注册的域名后缀有可能不同,是因为注册商需要与注册局对接以便开展对应后缀的域名注册等业务,未对接不可注册对应的域名。
顶级域名:.com、.cn、.net、.org、.fans、.ren等称之为顶级域名,及URL域名部分中最后的那个部分,由对应的注册局进行数据维护。
二级域名:这个就是我们常用的域名,比如baidu.com、taobao.com等均视为二级域名。
权威NS记录:域名服务器记录,用来表明由哪台服务器对该域名进行解析。注册域名时,需要指定由哪些DNS服务器来为该域名提供域名解析服务,若不指定,默认一般由注册商的DNS服务器提供免费的域名解析服务。
注册生效时间:REGISTER_TIME,变更NS记录时,需要向注册商提出申请,由注册商平台通过私有协议向注册局递交变更数据,注册局方面收到数据后不是立即生效,有可能需要通过审核、校验、窗口期等环节才会在顶级域数据库中进行变更,因此该时间有可能是几分钟,也有可能是1-2天,工程经验值最长不超过两天。
NS缓存时间:NS_TTL,分为上级权威指定和本级权威配置两种,一般是指本地权威DNS上配置的NS记录对应的TTL值(单位是秒,以下同)。
这两个值在实际环境中往往不相同,以zdns.cn为例,在上级权威指定的TTL为86400秒(2天),本地权威的TTL则为3600秒。这个值是递归DNS是否再次从根开始迭代查询的重要依据,其缓存的某域名区域的NS缓存过期后,再次向递归DNS查询该区域的非已缓存记录时,递归DNS开始新一轮的迭代查询。
下图为非托管域名的解析查询,NS缓存时间为3600秒,上级权威(顶级域权威.cn)指定时间为86400秒。
托管域名也类似,下图为吉利汽车的域名查询,托管在DNSPOD,其NS缓存时间为86400秒,上级(顶级域权威.com)指定为172800秒。
- 互联网DNS体系剖析
支撑互联网DNS运行的体系很复杂,大致可以分为两类:
一类就是我们熟知的互联网域名解析体系,包括13个根权威、顶级域名权威、二级及以上域名权威、递归服务器等。
另一类就是一套不那么为人熟悉、也不是完全在线自动化的域名注册管理体系,包括ICANN、注册局、注册商等等,这个领域相对是比较冷门的,也是导致出现本文开头提到的那些现象的原因。
除了这种相对冷门的知识以外,还有一个主要的因素需要我们高度重视,那就是——现行互联网DNS体系的很多实际落地方式和我们理解的DNS体系原理并不是完全匹配。
DNS有很多称之为草案或建议的技术在现网运行(比如EDNS),而且各种DNS软件的DNS实现机制也不尽相同,再加之部分运营商出于各自的考虑,其递归DNS往往会强制缓存域名记录并忽略TTL值,导致经常出现与技术原理不太相符的现象。
所以当变更权威NS这类的行为出现各种奇葩现象时,不要怀疑自己——“错的不是你,是世界
- 1.域名解析体系
- 1.1标准互联网域名解析流程
这就是我们熟知的互联网域名解析体系。以zdns.cn为例来说明互联网解析的正常流程。(递归与迭代:从客户端到客户端配置的DNS服务器的查询过程称之为递归,从递归服务器开始的各级查询称为迭代查询)。
从图中可以看到,递归DNS的每一次迭代查询都会缓存从各级权威DNS获得解析结果,以便在下一次查询相同域名区域的不同记录时,不再从根服务器开始迭代查询,而是从缓存中查找对应域名区域的NS记录,直接向该域名区域的权威DNS进行查询,以提高解析速度(比如缓存ZDNS权威的NS记录后,再查询cloud.zdns.cn时,不再重新从根查询,而是直接向zdns的权威DNS进行查询,提高效率)。
试想一下,如果递归DNS修改了从各级权威DNS获得的结果,是不是会出现与标准解析流程不同的现象?是的,这就是权威DNS变更时经常出现各种花样现象的原因之一。
- 1.2多权威DNS的可靠性机制
天有不测风云,为了确保权威域名解析服务的正常,避免在线业务的第一个关键环节的故障,在实际的生产环境中,往往会建立多个权威DNS服务器对应多个NS记录,来提高服务的可用性。
权威DNS的NS记录数量,ISC的推荐是2个以上,6个以下(低于该区间意味着单点故障的可能性,高于该区间意义不大,性价比不高)。
递归DNS(比如BIND)在获知某个域名存在多个NS记录时,自身有一个机制(RTT)对这些NS记录对应的服务器进行探测和排序,以决定使用哪个。每次查询失败,都会导致延迟增加作为惩罚,降低其优先级,进而选择另外一个NS记录对应的服务器进行查询。上图是一个简化的RTT机制,帮助理解这个机制的运行原理,实际的RTT机制比较复杂,这里不再赘述。
- 2域名注册体系
域名注册系统同样是一个分布式系统,这也就意味着作为域名的最终拥有者,是这个注册链条的末端环节,需要一级一级的向上办理业务,而不能跨级办理。
打比方来说,注册或变更zdns.cn的域名需要以下流程:
①想注册zdns.cn的域名,需要找一个有.cn注册资质的注册商,在该注册商的平台上进行信息填写及注册。
②然后该注册商会核实注册人的身份等信息,并向.cn的注册局进行提交。
③.cn的注册局收到该业务办理信息后,会在一定时间内将该域名及相关信息写入cn域的权威服务器数据库,该域名就可以互联网上进行解析了。
④变更的流程也是类似,作为域名的拥有者,只能找该域名当前对应的域名注册商进行信息提交,由注册商代理向注册局进行提交,直接提交的方式理论上是行不通的。
⑤由于存在中间环节,域名注册和变更信息不一定能实时在互联网DNS体系生效,这是另一个域名变更需要注意的因素。
BTW——费用、查重、域名保护之类的问题不在本文讨论的范围内。
(未完待续)
今天就先分享到这里,下一期我们将带来《权威DNS那些事儿》下篇,讨论分享NS记录的运行机制和验证,以及执行相关操作时的注意事项,欢迎小伙伴们持续关注。
关于ZDNS
互联网域名系统国家工程研究中心(简称ZDNS)是国家发改委批复的国家级工程研究中心,是工信部批准的根镜像运行机构,是中科院孵化的专注于域名领域的高新技术企业;ZDNS连续四年在DDI(DNS、DHCP、IPAM)设备领域市场占有率第一,服务金融、广电、教育、政府、军工、医疗、互联网等多个行业,全球近千家大型企业。
DNS云学堂 | 权威DNS那些事儿(上)相关推荐
- DNS云学堂 | 智能DNS让CDN乘风破浪
智能DNS是DNS领域经常被提及的一个概念.在和运营商客户进行技术交流时,也总是被问及,到底什么是智能DNS?智能DNS在CDN中扮演什么角色?它是怎么样的工作机制?今天DNS云学堂就来具体讲解下.e ...
- DNS云学堂 | 三分钟了解,最近大火的DOH与HTTPDNS、DOT的异同
最近DOH概念有点火,2018年DOH技术正式成为国际标准 (RFC8484),2019年谷歌公共递归8.8.8.8正式宣布支持DOH,随后Firefox.Chrome浏览器等应用程序也提供对DOH的 ...
- DNS云学堂 | 替代传统Windows DNS功能,不得不说的动态域名更新
为满足应用的双活改造和灵活切换的场景,很多企业依靠DNS系统实现应用与IP的解耦.搭建专业的DNS系统,替代传统Windows的DNS功能,成为了企业信息化发展健全的一个必要过程. 与域控结合,组建更 ...
- DNS云学堂 | 快速定位DNS解析异常问题,牢记这四种DNS状态码
DNS的状态码在进行故障排查的时候起着至关重要的作用.在DNS的维护中会经常遇到DNS解析异常问题,通过DNS的状态码可以初步判断DNS解析的异常问题.本期云学堂通过详解DNS状态码的定义,给出常见状 ...
- DNS云学堂 | 如何防范一本万利的DNS反射放大攻击
一.前言 DNS诞生于上世纪80年代,就像很多新的技术出现只是为了解决一些简单的问题一样,其诞生之初也仅仅是为了解决网络上主机数量爆炸性的增长.IP地址不便于记忆的问题.其发明者可能连自己也没有想到, ...
- 为什么选择高防DNS云解析?
DNS(Domain Name System,域名服务器)是互联网的一项核心服务,是域名与对应IP地址进行转换的系统,可将易于记忆的域名转换为可由服务器识别的用于互连通信的数字IP地址.随着大数据时代 ...
- 爱奇艺混合云内网DNS实践
爱奇艺早期业务多数以私有云方式部署,随时间推移,私有云模式在成本.弹性及区域覆盖等方面开始显现不足,而公有云在近年的发展中成熟度不断提高,逐步满足爱奇艺业务需求,爱奇艺开始有计划的使用公有云资源,逐渐 ...
- DNS服务器之一:总揽与非权威DNS的搭建
1 DNS总揽 1.1 DNS是什么? 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问 ...
- 什么是DNS云解析?-中科三方
什么是DNS云解析?中科三方为大家做下简单介绍. 一.什么是域名解析? 由于计算机只能识别纯数字组成的IP地址,无法直接读取域名.所以如果我们想通过域名访问对应服务器,就必须通过某种技术将域名与IP地 ...
最新文章
- OpenCV中的特征匹配(Feature Matching)
- 使用matlab进行mex编译时的路径问题mexopts
- 为什么源码编译安装mysql_从源码编译安装MySQL的步骤
- 关键短语抽取及使用BERT-CRF的技术实践
- imagenet 测试精度记录
- 如何在graphpad表示出正负误差_GraphPad Prism 8.0绘制误差连线并填充颜色图
- 亚马逊智能语音助手Alexa大举招聘 放出400个职位
- 【Linux操作系统分析】设备驱动处理流程
- *循环单链表[带头结点]
- vscode+TCC快捷编译c语言
- 工程项目成本/进度综合控制方法及应用
- oracle日期与字符串的相互转化
- 2019手机号码正则表达式
- 【Flink】Flink 基于 MailBox 实现的 StreamTask 线程模型
- python自动测试相机_Python + Appium+ IOS自动化测试
- Flutter实战一Flutter聊天应用(七)
- 算法-获取质数(素数)数组
- vue 修改路由名字_Vue 路由设置title
- 基于python下django框架 实现校园二手书籍交易系统详细设计
- kindeditor php 漏洞,KindEditor漏洞、优化以及漏洞、BUG修复方案汇总