什么是DNS?DNS工作原理的完整指南
DNS是什么?
域名系统(DNS)是一个广受认可的机制,用于标识和定位所有通过网络可以访问的页面和内容。它将人类可以直接阅读的URL转换并连接成了机器可读的数字格式。
尽管存在许多网络浏览器、互联网服务提供商(ISP)、域名注册商和网络主机,但只有一个通用的DNS。因此,可以向全球用户展示同一网页,无论他们使用哪种工具来访问互联网。
DNS是如何运作的?
DNS在短短几秒内,通过一系列快速复杂的互联网协议查找并显示你正在寻找的网页。一言以蔽之,它就像是网络电话簿。
DNS将你在网络浏览器中输入的URL转换成一个唯一的互联网协议(IP)地址, 这一转换过程就像电话号码一样。每一个连接到互联网的设备,无论它是用来托管网站还是浏览网站,都有一个IP地址。
互联网有两种并行但分离的方式来识别网站。第一种是域名空间(通过域名识别网站),第二种是IP地址系统,这个系统使用一组独特的数字来识别连接到互联网的设备。
什么是DNS查询?
DNS查询(或DNS请求)是由用户设备(即DNS客户端)发起,向DNS服务器请求信息的过程。最常见的DNS查询类型是请求与特定域名相关联的IP地址。
什么是DNS服务器?
DNS服务器是一台将域名转换为IP地址的机器。IP地址将网络浏览器引导至含有用户请求内容的服务器。
DNS服务器如何运作?
DNS服务器通过一个被称为DNS解析的过程进行运作。一个客户端发起DNS查询,以寻找一个所谓的“A记录”,使域名关联至一组IP地址,并向用户展示相应的网页。
在加载网页的过程中涉及到四种类型的DNS服务器:一个DNS递归器(也称为递归解析器)、根域名服务器、顶级域名(TLD)域名服务器和权威域名服务器。
DNS递归器
DNS递归器(或递归解析器)是DNS查询的第一步。可以将递归解析器想象为大型档案库的接待员。解析器从浏览器中接收DNS查询,并向其他一些服务器发送自己的DNS请求,以便帮助找到你正在寻找的信息。
根域名服务器
在DNS查询过程中,根域名服务器是递归器查询的第一个服务器。DNS根域名服务器从递归器接收请求,并进行回应,提供掌握递归器查询信息的顶级域名(TLD)域名服务器列表。
TLD域名服务器
TLD域名服务器负责维护所有共享相同扩展名(如 .com 或 .net)的域名的信息,这被称为顶级域名。在从根域名服务器收到回应之后,DNS递归器查询相应的TLD域名服务器,后者会回应正确的权威域名服务器。
权威域名服务器
权威域名服务器可以提供DNS递归器开始询问的那个查询的答案。权威域名服务器回应网页的IP地址,或者如果找不到,就回应一个错误信息。
一旦解析器找到了所请求网页对应的IP地址,就可以将该信息发送到网络浏览器,然后网络浏览器就可以显示所请求的网页。
DNS和IP地址的区别是什么?
DNS将用户请求的域名转换成IP地址。IP地址是域名下的文件的数值位置。
什么是DNS缓存?
DNS缓存是DNS客户端在本地存储DNS记录的过程。客户端通常是操作系统或网络浏览器。缓存可以让客户端在无需进行DNS查询的情况下,展示与特定域名相关的网页的信息。
域名系统还对所有DNS记录执行生存时间(或TTL),该记录指明一个记录可以被缓存多长时间。在缓存过程中存储的TTL值,使得记录在特定时间后从缓存中删除。
DNS查询有哪些类型?
DNS查询有三种类型:递归查询,迭代查询和非递归查询。
递归查询
在递归查询中,DNS客户端提交一个主机名,并要求递归DNS服务器(DNS解析器)回应正确的资源记录,或者一条表示记录无法被检索的错误消息。
迭代查询
在迭代查询中,DNS客户端提交一个主机名,并允许DNS解析器给出它的最佳回答。DNS解析器可以通过返回缓存的DNS记录(如有)进行回应,或者将DNS客户端引向根域名服务器或最接近所需DNS区域的权威DNS服务器。
然后,递归器查询给出的DNS域名服务器是否有匹配。本过程在服务器的指令链中不断地进行,直至出现答案、错误或超时。
非递归查询
在此类查询中,DNS解析器可立即提供答案,因为它对记录有权威,或是因为它在缓存中存储了记录。在非递归查询中,无需进行额外查询,即可立即返回响应。
什么是CNAME记录?
规范名称(CNAME)记录在DNS查找过程中用来创建一个域名到另一个域名的别名。
例如,一个试图解析子域名www.example.com的DNS客户端,将会被CNAME记录引导至根域名(在此情形下,例如example.com)。
CNAME记录通常用于:
- 将用户从所拥有的域名重定向至主要网站。例如,输入网址gogle.com将重定向用户至google.com,尽管存在拼写错误。
- 为在不同端口运行的特定网络服务提供独立的主机名。例如,允许一个文件传输协议(FTP)服务器和一个网络服务器在同一IP地址的不同端口运行。
- 登记本地化域名并将它们指向一个主要网站。例如,假设你在example.com上托管了主要网站,而你希望将example.ca、example.co.uk和example.us的用户重定向至同一个网站。
DNS是浏览互联网的必备要素
没有域名系统(DNS),将无法浏览互联网。DNS的通用性使网络浏览器能够在通常不到一秒的时间内,梳理出线上巨大的文档库,并向用户展现正确的页面。
DNS常见问题
DNS是什么意思?
DNS是域名系统的缩写。
DNS是什么,为什么要使用DNS?
域名系统(DNS)是一个广受认可的命名制度,将人类可读的域名转化为计算机可读的IP地址,使得不同的浏览器在访问同一网页时能够加载相同的DNS信息。
DNS和IP有什么区别?
虽然DNS和IP地址都在DNS查询中起到作用,但是他们有各自非常不同的角色。域名系统(DNS)是一个广受认可的工具,将域名与计算机可读的IP地址相匹配。可以将DNS想象为电话簿,其中域名就像是一个常用或特定的名字,IP地址则相当于电话号码。
什么是域名服务器?
域名服务器是DNS的服务器组成部分,它在DNS解析过程中负责将人类可读的域名和主机名转换成计算机可读的IP地址。
什么是DNS服务器?
DNS服务器(和域名服务器同义)是在DNS解析过程中负责将主机名转换成IP地址的服务器。在DNS查找过程中使用了四种类型的DNS服务器:DNS递归器、根域名服务器、顶级域名(TLD)域名服务器和权威域名服务器。