- N +

【科普】DNS小知识以及DNS服务器的工作方式

你是否在上网时,遇到过这样的情况:QQ正常发送消息,但是网页却打不开,查看网络连接又正常显示。面对这种情况很多小伙伴都感到有些无措。那究竟要怎么处理,这究竟是怎么回事呢?


上网查询得知,一般情况下电脑都是自动获取DNS服务器的,无需手动设置,但一些特殊情况下,没有获取到DNS服务器,或者服务器出现故障,那我们就需要手动更换DNS来保证正常访问网页。而这类无法显示的情况,恰好都是因为DNS配置错误导致的,可以通过修改DNS来解决。


那么DNS到底在哪里,它要如何修改呢?首先我们要知道什么是DNS?

DNS(DomainNameSystem)是域名系统的缩写。它是Internet的基础之一,用于将域名映射到IP地址,就像手机电话簿里将人的名字对应到电话号码一样。当我们在浏览器中输入Web地址时,就可以通过DNS查询将其转换为关联服务器对应的IP地址。如果没有DNS,我们需要记住每个站点的IP地址才能访问它。


这在互联网刚兴起时,还是可以比较轻松做到的,当时人们可以轻松地将特定IP地址与特定计算机相对应,通过在浏览器中直接输入特定的IP地址以访问网站。后来,随着越来越多的设备和人们加入到这个不断发展的网络,IP越来越多,记忆就变成了一项极大的负担,网民都想要一个更易于记忆的单词组成的地址,因此诞生了域名。


在70年代和80年代初,这些名称和地址是由一个人(斯坦福大学的ElizabethFeinler)分配的,此人在名为HOSTS.TXT的文本文件中维护了所有与互联网连接的计算机的主列表。


显而易见随着Internet的发展,这是站不住脚的局面,越来越多的地址不可能由一个人维护。所以1983年,南加州大学的研究人员PaulMockapetris因此开发了最初的域名系统,并命名为DNS。尽管此后DNS发生了很大变化,但从根本上讲,它的工作方式仍与40年前一样。在具体了解DNS在网络中的作用于工作原理前,我们先来看一下DNS的类别。


DNS服务器类别

所有DNS服务器都属于以下四个类别之一:递归解析器、根域名服务器、TLD域名服务器和权威性域名服务器。在典型的DNS查找中,这四种DNS服务器通过协同工作来完成将指定域的IP地址提供给客户端的任务。


DNS递归解析器

递归解析器(也称为DNS解析器)是DNS查询中的第一站。它属于客户端与DNS域名服务器的中间人。从Web客户端收到DNS查询的请求后,递归解析器将使用缓存的数据进行响应,或者向根域名服务器发送请求,接着向TLD域名服务器发送另一个请求,然后向权威性域名服务器发送最后一个请求。收到来自包含已请求IP地址的权威性域名服务器的响应后,递归解析器将向客户端发送响应。


在此过程中,递归解析器将缓存住从权威性域名服务器收到的信息。当一个客户端请求的域名IP地址是另一个客户端最近请求的IP地址时,解析器可绕过与域名服务器进行通信的过程,并从缓存中为客户端提供所请求的记录。


DNS根域名服务器

每个递归解析器都知道13个DNS根域名服务器,它们是递归解析器搜寻DNS记录的第一站。根服务器接受包含域名的递归解析器的查询,根域名服务器根据该域的扩展名(.com、.net、.org等),通过将递归解析器定向到TLD域名服务器进行响应。根域名服务器由一家名为Internet名称与数字地址分配机构(ICANN)的非营利组织进行监督。


TLD域名服务器

顶级域名服务器(TopLevelDomain)维护共享通用域扩展名的所有域名的信息,例如.com、.net等。例如,.comTLD域名服务器包含以“.com”结尾的每个网站的信息。如果用户正在搜索86719.cn,那么在收到来自根域名服务器的响应后,递归解析器将向.comTLD域名服务器发送查询,后者将通过针对该域的权威性域名服务器进行响应。

【科普】DNS小知识以及DNS服务器的工作方式-郧阳涛哥博客

权威性域名服务器

当递归解析器收到来自TLD域名服务器的响应时,该响应会将解析器定向到权威性域名服务器。权威性域名服务器通常是解析器查找IP地址过程中的最后一步。权威名称服务器包含特定域名的信息(例如,86719.cn),并且它可为递归解析器提供在DNSA记录中找到的服务器IP地址。或者如果该域具有CNAME(别名)记录,它将为递归解析器提供一个别名域,这时递归解析器将必须执行全新的DNS查找,以便从权威性域名服务器获取记录(通常为包含IP地址的A记录)。


DNS记录

在权威性域名服务器中,DNS记录是不可或缺的存在。


DNS记录(又名区域文件)是位于权威DNS服务器中的指令,它提供了一个域的相关信息,包括哪些IP地址与该域关联,以及如何处理对该域的请求。此外,所有DNS记录都有一个“TTL”,代表生存时间,指DNS服务器多久刷新一次该记录。


常见的DNS记录有以下几种:

A记录:保存域的IP地址的记录。

CNAME记录:别名,将一个域或子域转发到另一个域,不提供IP地址。

MX记录:将邮件定向到电子邮件服务器。

TXT记录:可使管理员在记录中存储文本注释。

NS记录:存储DNS条目的名称服务器。

SOA记录:存储域的管理信息。

SRV记录:指定用于特定服务的端口。

PTR记录:在反向查询中提供域名。

其中A记录和CNAME这两个是解析域名最常用的记录。


DNSA记录

“A”代表“地址”,这是DNS记录的最基本类型,它指出了域的IP地址。例如,提取86719.cn的DNS记录,其“A”记录目前会返回IP地址47.56.82.1。“A”记录仅保存IPv4地址,如果站点具有IPv6地址,它将使用“AAAA”记录。


DNSCNAME记录

当域或子域是另一个域的别名时,使用“规范名称”记录代替A记录。假设www.example.com有一个CNAME记录,其值是“example.com”。这意味着,当DNS服务器访问www.example.com的DNS记录时,它实际上会触发对example.com的另一个DNS查找,返回example.com的IP地址。所有CNAME记录都必须指向一个域,而不是IP地址。


对于CDN来说,由于CDN中存在着遍布各地的节点,A记录是完全不够用的。而节点又需要根据用户本地DNS所在地区和运营商不断变动。所以使用CNAME记录进行域名解析,是一个非常方便的管理方法。做了别名记录后,就不用再去管节点的IP怎么变化了。


DNS的工作方式,了解了DNS有几种,我们就可以来看一下DNS的工作方式了。因为每一个上网设备都被分配了一个IP地址,所以当用户在Web浏览器中输入访问域名时,由客户端计算机发起请求,之后DNS在幕后通过一个名为“DNS解析”的过程,查询对应服务器IP,并进行连接。特别需要注意的是,如果你曾经访问过一次这个域名,那么你的本地会留有缓存,DNS就会查找过程中会跳过一些步骤,从而使查找更快。


而完整的DNS查找则需要经历以下几个步骤:

以访问“86719.cn”为例,用户在浏览器中输入入“86719.cn”,查询传输到Internet中,并被DNS递归解析器接收。


解析器查询DNS根域名服务器(.)。

根服务器使用存储其域信息的TLD域名服务器(.com)的地址响应该解析器。在搜索86719.cn时,我们的请求指向.comTLD。


解析器向.comTLD发出请求。

TLD服务器随后使用该域的域名服务器86719.cn的IP地址进行响应。递归解析器将查询结果发送到域的域名服务器。


86719.cn的IP地址之后从域名服务器返回解析器。DNS解析器使用最初请求的域的IP地址响应Web浏览器。通过DNS查找的这几步返回86719.cn的IP地址后,浏览器便能发出对该网页的请求:浏览器向该IP地址发起HTTP请求。

位于该IP的服务器返回网页到浏览器。


看完了DNS的介绍,你是不是已经对DNS有所了解了呢,了解了DNS,再遇到无法访问网页的情况,就可以通过修改DNS来解决了。是不是简单又方便呢?

有好的文章希望郧阳涛哥帮助分享或推广,请猛戳我要投稿图标。我要投稿

1

2
返回列表
上一篇:
下一篇:

发表评论中国互联网举报中心

快捷回复:

验证码

    评论列表 (暂无评论,共1123人参与)参与讨论

    还没有评论,来说两句吧...