聊聊DNS的那些小知识

聊聊DNS的那些小知识

浏览次数:
信息来源: 用户投稿
更新日期: 2025-11-05
文章简介

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

2025阿里云双十一服务器活动

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

  上网查询得知,一般情况下电脑都是自动获取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服务器都属于以下四个类别之一:递归解析器、根域名服务器、TLD域名服务器和权威性域名服务器。在典型的DNS查找中,这四种DNS服务器通过协同工作来完成将指定域的IP地址提供给客户端的任务。

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

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

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

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

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

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

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

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

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

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

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

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

聊聊DNS的那些小知识

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

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

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

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

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

  当域或子域是另一个域的别名时,使用“规范名称”记录代替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的工作方式了。

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

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

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

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

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

  解析器向.comTLD发出请求。

  TLD服务器随后使用该域的域名服务器upyun.com的IP地址进行响应。

  递归解析器将查询结果发送到域的域名服务器。

  upyun.com的IP地址之后从域名服务器返回解析器。

  DNS解析器使用最初请求的域的IP地址响应Web浏览器。

  通过DNS查找的这几步返回upyun.com的IP地址后,浏览器便能发出对该网页的请求:

  浏览器向该IP地址发起HTTP请求。

  位于该IP的服务器返回网页到浏览器(第10步)。

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

标签:
cloudscada德国wago(2019年最好的国外vps)
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!