DNS如何工作
上一篇文章(什么是DNS)中,我们解释了 DNS 所涉及到的一些术语,接下来我们来看看 DNS 这个系统是如何工作的?
从高层次上看,这个系统非常简单,但是当你关注细节时,它又非常复杂。总的来说,它是一个非常可靠的基础设施,对于构建我们当今的互联网,是至关重要的。
根服务器
如前所述,DNS 的核心是一个分层系统。在这个系统的顶部是所谓的 “根服务器”。这些服务器由各种组织控制,并由 ICANN(互联网名称和数字地址分配公司)授权。
目前正在使用的根服务器有 13 个。但是,由于每分钟都要解析的名称数量多得令人难以置信,所以实际上每个根服务器都有镜像服务器。有关这个一个有趣的事情是,每个根服务器与它的镜像服务器共享同一个 IP 地址。当你对某个根服务器发出请求时,请求会被路由到该根服务器离你最近的镜像服务器。
这些根服务器做什么的?根服务器处理有关顶级域名信息的请求。因此,如果某个请求低级别名称服务器无法解析,则会向该域的根服务器进行查询。
根服务器不知道实际托管域名的位置。然而,他们会将请求引导到处理特定请求的顶级域名的名称服务器。
因此,如果向根服务器发出对 “www.wikipedia.org” 的请求,则根服务器不能在它的记录文件中找到与 “www.wikipedia.org” 匹配的记录。
但是它会找到 “org” TLD 的记录,并把负责 “org” 地址的名称服务器的地址发回给请求者。
TLD 服务器
请求者然后向负责该请求的顶级域名的 IP 地址(由根服务器给予)发送新请求。
对于我们的例子,它会发送想负责 “org” 域名的名称服务器发送一个请求,看看它是否知道 “www.wikipedia.org” 在哪里。
同样,该名称服务器也不会在记录文件中找到 “www.wikipdia.org” 记录。
但是,它会找到负责 “wikipedia.org” 的名称服务器的 IP 地址。这样就越来越接近我们想要的答案了。
域名级别名称服务器
此时,请求者知道了具体负责该资源的实际 IP 地址的名称服务器的 IP 地址。它向该名称服务器发送一个新的请求,再次询问它是否可以解析 “www.wikipedia.org”。
名称服务器检查其区域文件,并发现它有与 “wikipedia.org” 相关联的区域文件。在此文件的内部,有一个 “www” 主机的记录。此记录说明此主机所在的 IP 地址,并向请求者返回最终答案。
请求者是什么?
在上面的场景中,我们引用了 “请求者
在上面的场景中,我们引用了 “请求者”。在这种情况下请求者指的是什么?
在几乎所有情况下,请求者都是我们所谓的 “解析名称服务器”。解析名称服务器是配置着为询问其他服务器的问题的。它基本上是用户的中介,它缓存着先前的查询结果来提高速度,并且知道根服务器的地址,以便能够 “解析” 它还不知道的域名。
基本上,用户通常会在其计算机系统上配置多个解析名称服务器。解析名称服务器通常由 ISP 或其他组织提供。例如,Google 提供了你可以使用的 DNS 解析服务器。这些可以在计算机中自动或手动配置。
当你在浏览器的地址栏中键入网址时,你的计算机将首先查看是否可以在本地找到资源所在的位置。它检查计算机上的 “hosts” 文件和其他几个位置。然后它将请求发送到解析名称服务器,并等待接收资源的 IP 地址。
解析名称服务器首先检查其缓存。如果没有,它将通过上述步骤找到答案。
解析名称服务器基本上压缩了最终用户的请求过程。客户端只需要知道请求资源所在的解析名称服务器,并且确信他们会查询并返回最终答案。
总结
你现在知道了 DNS 的工作原理。但是要实际操作,你依然需要了解有哪些常见的 DNS记录以及它们的作用
DNS如何工作的更多相关文章
- 【DNS】简单聊聊DNS如何工作
随便聊聊 我们知道,网络上传输的数据包是一层一层的包起来的,典型的是mac地址层,ip层,tcp/udp层,应用层数据 这么几个层,那用户在浏览器中打开www.baidu.com数据包如何传到baid ...
- 简单谈谈DNS的工作原理及实践
DNS协议简介 dns(Domain Name System)是一个全球化的分布式数据库系统,用于存储域名和互联网IP地址的映射关系.dns协议是计算机协议栈应用层中,应用最广泛的协议之一.用户每一次 ...
- DNS协议工作过程;DNS的安全隐患
DNS协议工作过程 下面以域名为m.xyz.com的主机欲通过另一个主机的域名y.abc.com的IP地址为例,简述DNS协议过程. 主机m.xyz.com先向其本地服务器dns.xyz.com进 ...
- DNS的工作原理及解析
DNS协议是互联网核心协议之一.不管是上网浏览,还是编程开发,都需要了解一点它的知识. 一.什么是DNS? DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次 ...
- DNS域名工作原理及解析
0x00 定义 DNS( Domain Name System)是“域名系统”的英文缩写,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS使用TCP和UDP端口53 ...
- centos的DNS服务工作流程及搭建
1 什么是DNS? DNS(Domain Name Server,域名服务器)即域名解析服务,是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器.DNS ...
- 关于dns服务工作的原理,和配置的细节理解。
dns服务器相关 1,dns原理,也就是迭代,和递归查询.将域名解析为ip的过程. 一次完整的查询请求经过的流程: Client -->hosts文件 -->DNS Service Loc ...
- 什么是DNS攻击?它是如何工作的?
什么是DNS攻击?它是如何工作的? DNS攻击是一种利用域名系统中的弱点或漏洞的网络攻击.今天,互联网已成为我们生活中不可或缺的一部分.从社交到金融.购物再到旅游,我们生活的方方面面都是互联网.由于互 ...
- 解决域名DNS解析的故障
在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的.这个现象发生的机率比较 ...
随机推荐
- 输入一个数值num,对1到num的所有的数值进行全排列
输入一个数值num,对1到num的所有的数值进行全排列: 其实这个题目可以看成是将1到num个数字放入num个有序的盒子里面:当将最后一个数字放入盒子里的时候,就输出所有盒子里的数字:这就是一个排列的 ...
- Golang 匿名结构体及测试代码编写技巧
转自: https://www.jianshu.com/p/901820e17ffb 结构体基础 结构体 (struct) 将多个不同类型的字段集中组成一种复合类型,按声明时的字段顺序初始化. typ ...
- js放到head中失效的原因与解决方法
1.今天写js碰到一个奇怪的问题,写好的js放到body里面执行,但是放到head中没有任何效果,为什么导致这种原因呢? 看失效代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- C语言Ⅰ博客作业07
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9933 我在这个课程的目 ...
- 用python实现的21点游戏
游戏规则 该游戏的规则与实际的玩法应该有点差异,因为我没有去细查21点的确切玩法,只是根据印象中进行了一系列的定义,具体如下: 1.玩家为人类玩家与电脑玩家,共2个玩家.电脑为庄家. 2.先给人类玩家 ...
- foreach中的&用法
原地址:https://blog.csdn.net/qq_38287952/article/details/79468321 例如,给数组添加一个新的元素. 这里的需求是统计商品收入,就可以用到&am ...
- 树莓派安装使用RXTX
在RaspberryPi树莓派上使用RXTX(RXTX的源码安装)Linux 编译RXTX(JAVA串口开发)源码 如果为windows系统,则使用rxtx比较简单,到http://fizzed.co ...
- 将磁盘从FAT格式转换为NTFS格式的方法
不需要进行格式化,只需在命令提示符中输入如下内容:CONVERT X:/FS:NTFS把X换成你需要的盘符,转一个盘需十几或几十秒不等..注意:此方法不可逆转,FAT32转到NTFS后不可转回,当然也 ...
- CSS 小工具集
http://www.colorzilla.com/gradient-editor/css渐变生成工具.http://linxz.github.io/tianyizone/css志爷小工具.http: ...
- centos7---ansible批量部署
CentOS7系统 ansible自动化部署多台服务器部署 Ansible工作机制 从图中可以看出ansible分为以下几个部份: 1> Control Node:控制机器2> In ...