• 因特网中的DNS域名系统


    一、什么是DNS?

    DNS,也叫域名系统,主要包括了以下两点:

    • 一个由DNS服务器实现的分布式数据库,其中存储了主机名和IP地址的映射;
    • 一个使得主机能查询该分布式数据库的应用层协议,它运行在UDP上,使用53号端口;

    网络中的主机往往有多种方式可以进行标识,常用的两种一种是主机名,另一种是IP地址。事实上主机名无法定位一台主机在网络中的位置,IP地址则可以

    当我们访问一个网站时,本质上还是对IP地址的访问。那么如何通过主机名找到其对应的IP地址,就是DNS帮我们做的事。

    二、DNS是如何工作的?

    DNS服务器结构层次分为三层,分别是:

    • 根DNS服务器:在逻辑上共有13个根DNS服务器,但实际上每台“服务器”都是一个冗余的服务器的网络,以提供安全性和可靠性。截至2011年,共有247个根服务器
    • 顶级域DNS服务器:这些服务器负责顶级域名如com、org、edu以及国家的顶级域名如uk、fr。
    • 权威DNS服务器:在因特网中所有可以公共访问的主机必须提供其主机名和IP地址的映射,并将其存在该组织机构的权威DNS服务器中。或者该组织机构也可以支付费用,将映射记录存储在某个服务提供商的权威DNS服务器中。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xwNM6gUx-1658938364075)(E:/Blog/lansg/source/img/image-20220727175402632.png)]

    还有一种DNS服务器称为本地DNS服务器,它不属于以上结构却十分重要。每个ISP(一所大学、一个公司等)都有一台本地DNS服务器。当主机发送DNS请求时,会先发往本地DNS服务器,它起着代理的作用,然后将该请求转发到DNS服务器层次结构中。

    当客户端主机对服务器主机发送请求时,DNS对服务器主机IP的查询步骤如下:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wGubMRq5-1658938364077)(E:/Blog/lansg/source/img/image-20220727181746504.png)]

    1.“客户端主机”向本地DNS服务器进行查询“服务器主机”IP地址

    2.本地DNS服务器根DNS服务器进行查询

    3.根DNS服务器返回顶级域DNS服务器的IP地址

    4.本地DNS服务器顶级域DNS服务器进行查询

    5.顶级域DNS服务器返回权威DNS服务器的IP地址

    6.本地DNS服务器权威DNS服务器进行查询

    7.权威DNS服务器中存储着“服务器主机”的IP地址,于是返回给本地DNS服务器

    8.本地DNS服务器将解析后的IP地址返回给“客户端主机”

    看上去比较繁琐,但实际上DNS是有缓存的,所以并不会经历那么多步骤。

    三、DNS缓存

    为了减少网络中DNS报文的数量,DNS广泛使用了缓存。当某个DNS服务器收到一个DNS回答后,它能将该回答中的信息缓存在本地存储器中。

    本地的DNS服务器中,不仅可以缓存“服务器主机”的ip地址,也可以缓存权威DNS服务器顶级域DNS服务器的地址,所以在实际查询中,经常会绕过查询链中的根DNS服务器

    但由于主机名和IP地址的映射不是永久的,所以DNS服务器在一段时间后就会丢弃缓存的信息。

  • 相关阅读:
    springboot晋韵戏剧点播网站设计毕业设计源码112304
    canal + rabbitmq监听mysql数据库变化
    百度搜索首届技术创新挑战赛 丰厚奖励等你拿!
    【SQL注入】联合查询(最简单的注入方法)
    哪些因素会导致咽炎?
    C Primer Plus(6) 中文版 第8章 字符输入/输出和输入验证 8.6 输入验证
    每日一题 322零钱兑换(完全背包)(灵神版本)
    VL3 奇偶校验
    Java+JSP+Mysql+Tomcat实现Web图书管理系统
    Linux学习记录——삼십이 协议、序列化和反序列化
  • 原文地址:https://blog.csdn.net/lans_g/article/details/126025823