问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

DNS是什么,有什么用(详细介绍版)

创作时间:
作者:
@小白创作中心

DNS是什么,有什么用(详细介绍版)

引用
CSDN
1.
https://blog.csdn.net/qq_56734304/article/details/140910848

DNS(Domain Name System) 是一种用于将域名(例如www.baidu.com)转换为IP地址(例如 220.181.111.188 )的分布式系统。在互联网上,计算机和其他网络设备使用IP地址来相互识别和通信。然而,IP地址是一串数字,不太方便人们使用和记忆,所以就使用了域名来代替复杂的IP地址。

对于DNS服务器若采用集中式的设计有以下问题:

  1. 单点故障:如果 DNS 服务器崩溃,那么整个网络随之瘫痪。通信容量(traffic volume),单个 DNS 服务器不得不处理所有的 DNS 查询,这种查询级别可能是上百万上千万级,一台服务器很难满足;
  2. 远距离集中式数据库:单个 DNS 服务器不可能邻近所有的用户,假设在美国的 DNS 服务器不可能临近让澳大利亚的查询使用,其中查询请求势必会经过低速和拥堵的链路,造成严重的时延;
  3. 维护:维护成本巨大,而且还需要频繁更新

域名的层级关系

DNS 中的域名都是用句点来分隔的,比如 www.server.com,这里的句点代表了不同层次之间的界限。在域名中,越靠右的位置表示其层级越高。

DNS解析过程

  1. 先查询浏览器缓存是否有该域名对应的IP地址。
  2. 如果浏览器缓存中没有,会去计算机本地的Host文件中查询是否有对应的缓存。
  3. 如果Host文件中也没有则会向本地的DNS服务器(通常由你的互联网服务提供商(ISP)提供,比如中国移动)发送一个DNS查询请求。
  4. 如果本地DNS解析器有该域名的ip地址,就会直接返回,如果没有缓存该域名的解析记录,它会向根DNS服务器发出查询请求。根DNS服务器并不负责解析域名,但它能告诉本地DNS解析器应该向哪个顶级域(.com/.net/.org)的DNS服务器继续查询。
  5. 本地DNS解析器接着向指定的顶级域名DNS服务器发出查询请求。顶级域DNS服务器也不负责具体的域名解析,但它能告诉本地DNS解析器应该前往哪个权威DNS服务器查询下一步的信息。
  6. 本地DNS解析器最后向权威DNS服务器发送查询请求。权威DNS服务器是负责存储特定域名和IP地址映射的服务器。当权威DNS服务器收到查询请求时,它会查找"example.com"域名对应的IP地址,并将结果返回给本地DNS解析器。
  7. 本地DNS解析器将收到的IP地址返回给浏览器,并且还会将域名解析结果缓存在本地,以便下次访问时更快地响应。
  8. 浏览器发起连接:本地DNS解析器已经将IP地址返回给您的计算机,您的浏览器可以使用该IP地址与目标服务器建立连接,开始获取网页内容。

递归查询和迭代查询

递归查询和迭代查询是在DNS解析过程中用于获取域名解析信息的两种不同方法。

1. 递归查询

在递归查询中,DNS客户端(通常是本地DNS解析器)向上层DNS服务器(如根域名服务器、顶级域名服务器)发起查询请求,并要求这些服务器直接提供完整的解析结果。递归查询的特点是,DNS客户端只需要发送一个查询请求,然后等待完整的解析结果。上层DNS服务器会自行查询下一级的服务器,并将最终结果返回给DNS客户端。

2. 迭代查询

在迭代查询中,DNS客户端向上层DNS服务器发起查询请求,但不要求直接提供完整的解析结果。相反,DNS客户端只是询问上层服务器一个更高级的域名服务器的地址,然后再自行向那个更高级的服务器发起查询请求,以此类推,直到获取完整的解析结果为止。递归查询适合普通用户和客户端,而迭代查询适用于DNS服务器之间的通信。

此图属于迭代查询。

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号