首页 > 其他分享 >DNS原理及解析过程详解

DNS原理及解析过程详解

时间:2023-12-31 11:45:33浏览次数:29  
标签:cn 记录 域名 详解 DNS 服务器 解析

相信大家在平时工作中都离不开DNS解析,DNS解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。下面我们将详细的给大家讲解DNS的相关知识。

什么是DNS

DNS就是域名系统,是因特网中的一项核心服务,是用于实现域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址。通过主机名,得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

域名结构解析

如上图所示,域名结构是树状结构,树的最顶端代表根服务器,根的下一层就是由我们所熟知的.com、.net、.cn等通用域和.cn、.uk等国家域组成,称为顶级域。网上注册的域名基本都是二级域名,比如http://baidu.com、http://taobao.com等等二级域名,它们基本上是归企业和运维人员管理。接下来是三级或者四级域名,这里不多赘述。总体概括来说域名是由整体到局部的机制结构。

DNS解析流程

如上图所示,我们将详细阐述DNS解析流程。

1、首先客户端位置是一台电脑或手机,在打开浏览器以后,比如输入http://www.zdns.cn的域名,它首先是由浏览器发起一个DNS解析请求,如果本地缓存服务器中找不到结果,则首先会向根服务器查询,根服务器里面记录的都是各个顶级域所在的服务器的位置,当向根请求http://www.zdns.cn的时候,根服务器就会返回.cn服务器的位置信息。

2、递归服务器拿到.cn的权威服务器地址以后,就会寻问cn的权威服务器,知不知道http://www.zdns.cn的位置。这个时候cn权威服务器查找并返回http://zdns.cn服务器的地址。

3、继续向http://zdns.cn的权威服务器去查询这个地址,由http://zdns.cn的服务器给出了地址:202.173.11.10

4、最终才能进行http的链接,顺利访问网站。

5、这里补充说明,一旦递归服务器拿到解析记录以后,就会在本地进行缓存,如果下次客户端再请求本地的递归域名服务器相同域名的时候,就不会再这样一层一层查了,因为本地服务器里面已经有缓存了,这个时候就直接把http://www.zdns.cn的A记录返回给客户端就可以了。

***.是根DNS服务器、cn是顶级域名服务器、zdns.cn是该域名的权威域名服务器;以上把所有服务器都叫做权威服务器,可能是认为cn是cn域名的权威服务器、zdns.cn是自己域名的权威服务器;不过,根DNS服务器和顶级域名服务器可以做A记录解析吗,还是只能做NS记录解析?可能当他做A记录解析的时候可以把它当做权威服务器,当它做NS记录解析的时候,它才是根DNS服务器、顶级域名服务器。有了解确切信息的可以留言解惑,多谢***

DNS资源记录

记录一条域名信息映射关系,称之为资源记录(RR)。

当我们查询域名http://www.zdns.cn的时候,查询结果得到的资源记录结构体中有如下数据:

1、TTL,就是生存周期,是递归服务器会在缓存中保存该资源记录的时长。

2、网络/协议类型,它的代表的标识是IN,IN就是internet,目前DNS系统主要支持的协议是IN。

3、type,就是资源记录类型,一般的网站都是都是A记录(IPv4的主机地址)。

4、rdata是资源记录数据,就是域名关联的信息数据。

小知识:

下面我们列出几条常用的资源记录类型:

A :IPv4地址解析记录

AAAA:IPv6地址解析记录

NS :Name Server域名服务器,委派记录

SOA:Start of Authority起始授权机构

MX:Mail Exchanger邮件交换

CNAME:Canonical Name规范名

PTR:Pointer指针

TXT:Text

SRV:Service

DNS服务器的分类

常见的DNS服务器就是两种:权威解析服务器和递归解析服务器。递归解析服务器也可以叫做localDNS。

权威解析服务器

DNS权威服务器保存着域名空间中部分区域的数据。如果DNS服务器负责管辖一个或多个区域时,称此DNS服务器为这些区域的权威服务器。

根权威DNS或者二级权威服务器中的资源记录标记被指定为区域权威服务器的DNS服务器。通过资源记录中列出服务器,其他服务器就认为它是该区域的权威服务器。这意味着在 NS 资源记录中指定的任何服务器都被其他服务器当作权威的来源,并且能肯定应答区域内所含名称的查询。

递归服务器

递归服务器在正常情况下,初始的时候里面没有任何域名解析数据,里面所有的域名解析数据都来自于它到权威解析服务器的查询结果,一旦查询完毕,递归服务器就会根据TTL时间在本地形成一条缓存记录,并为用户提供DNS解析的查询服务,这是递归服务器的功能。

小知识:

问:当我们修改DNS解析服务记录的时候,我们应该在权威里面修改还是在递归里面修改?

答:所有的DNS解析记录里面类型的修改都是在权威解析服务器里面做修改。

转载自:https://zhuanlan.zhihu.com/p/88260838

标签:cn,记录,域名,详解,DNS,服务器,解析
From: https://www.cnblogs.com/dier-gaohe/p/17937341

相关文章

  • 什么是DNS?
    TCP/IP提供了通过IP地址来连接到设备的功能,但对用户来讲,记住某台设备的IP地址是相当困难的,因此专门设计了一种字符串形式的主机命名机制,这些主机名与IP地址相对应。在IP地址与主机名之间需要有一种转换和查询机制,提供这种机制的系统就是域名系统DNS(DomainNameSystem)。目录......
  • 显著图:Saliency Map 详解
    https://zhuanlan.zhihu.com/p/644181243 泻药。最近在研究一些基于saliencymap的归因方法,在这里分享一下对saliencymap的开山鼻祖VGG2014:DeepInsideConvolutionalNetworks:VisualisingImageClassificationModelsandSaliencyMaps(https://arxiv.org/pdf/1312.6034.p......
  • 快速排序详解
    算法思想通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序算法通过多次比较和交换来实现排序,其排序流程如下:1......
  • Python解析命令行参数
    Python解析命令行参数获取命令行参数在Python中命令行参数通过sys.argv传递,它是一个list类型,其中的元素为字符串。importsysdefcli_parser():print(f"参数个数:{len(sys.argv)}")print(f"参数列表:{str(sys.argv)}")print(f"脚本名:{sys.argv[0]}")for......
  • 深入解析Linux中的df命令:轻松掌握磁盘空间使用情况
    当我们使用Linux系统时,经常会遇到需要查看磁盘空间使用情况的情况。df命令是一个非常有用的工具,可以帮助我们了解文件系统的磁盘使用情况。在这篇博客文章中,我们将深入探讨df命令的使用方法以及如何解读其输出。什么是df命令?df是磁盘空间查看命令,用于显示文件系统的磁盘使用情况......
  • Python教程(18)——python文件操作详解
    所谓的文件操作是指对计算机中的文件进行读取、写入、修改和删除等操作。简单来说可以分为以下三个部分:打开文件操作文件关闭文件就是这三个简简单单的操作,却在计算机世界占有一席之地。打开文件有各种打开模式,各不相同;操作文件,有读写模式;关闭文件就比较简单了。Python文......
  • 《图解支付系统设计与实现》之详解收单结算拒付
    这是《图解支付系统设计与实现》系统文章中的第(2)篇。本章主要讲清楚支付系统中收单结算涉及的基本概念,产品架构、系统架构,以及一些核心的流程和相关领域模型、状态机设计,并顺便讲讲和收单结算非常紧密的拒付。收单结算是支付系统最重要的子域之一,行业内经常把有牌照的支付平台称为......
  • Flink侧输出流解析
    在实时数据处理领域,ApacheFlink已成为一个不可或缺的工具。它以其高吞吐量和低延迟处理能力而闻名。而在Flink的众多特性中,侧输出流(SideOutputs)提供了一种灵活的方式来处理复杂的数据流。本文将探讨如何在Flink的ScalaAPI中有效使用侧输出流。1.侧输出流的基本概念侧......
  • 【并发编程】CopyOnWriteArrayList详解与原理
    ......
  • 08 AXI4-FULL-MASTER IP FDMA详解
    软件版本:vitis2021.1(vivado2021.1)操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!1概述FDMA是米联客的基于AXI4总线协议定制的一个DMA控制器。本文对AXI4-FULL总线接口进行了封装,同时定义了简单的APP......