DNS详解

embedded/2024/10/9 15:21:14/

DNS详解

DNS 是一个域名系统,它主要用于将人类容易记忆的域名转换成ip地址。

默认情况下,设备会自动从网络供应商获取DNS服务器地址,并使用DNS服务器对域名进行解析。

此外,你也可以手动设置DNS服务器,具体操作系统的操作步骤可以进行网络查询。

分布式架构

DNS是分布式架构的,全球拥有多个根服务器。

  • 根服务器:DNS最顶层,管理顶级域(.com,.net…)。
  • 顶级域名服务器:管理特定顶级域下的域名信息。(如.com)
  • 权威DNS服务器:存储特定域名的信息。
  • 递归解析器:用于接收用户DNS查询请求,并递归的向其他DNS服务器查询ip地址。

查询过程

这里在以浏览器输入一个域名开始为例:

  1. 查询本地是否包含DNS缓存,如果不存在则向递归解析器发起请求
  2. 递归解析器查看本地是否包含缓存结果,如果没有,则向根服务器发起查询请求。
  3. 根服务器返回管理特定顶级域的顶级域名服务器
  4. 递归解析器向顶级服务器发起查询请求
  5. 顶级服务器返回管理特定域名权威DNS服务器的地址
  6. 递归解析器向权威DNS服务器发起查询请求,权威DNS服务器返回特定域名的ip地址。
  7. 递归解析器将ip地址返回给设备。

在这里插入图片描述

例子

dig +trace www.baidu.com
; <<>> DiG 9.10.6 <<>> +trace www.baidu.com
;; global options: +cmd
.                       352657  IN      NS      j.root-servers.net.
.                       352657  IN      NS      h.root-servers.net.
.                       352657  IN      NS      l.root-servers.net.
.                       352657  IN      NS      d.root-servers.net.
.                       352657  IN      NS      k.root-servers.net.
.                       352657  IN      NS      b.root-servers.net.
.                       352657  IN      NS      e.root-servers.net.
.                       352657  IN      NS      i.root-servers.net.
.                       352657  IN      NS      g.root-servers.net.
.                       352657  IN      NS      m.root-servers.net.
.                       352657  IN      NS      f.root-servers.net.
.                       352657  IN      NS      c.root-servers.net.
.                       352657  IN      NS      a.root-servers.net.
;; Received 811 bytes from 192.168.2.1#53(192.168.2.1) in 24 mswww.baidu.com.          600     IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       600     IN      A       180.101.50.242
www.a.shifen.com.       600     IN      A       180.101.50.188

可以看到 www.baidu.com 是一个别名,它的真实域名是www.a.shifen.com。j.root-servers.net代表根服务器名称。

网站访问、负载均衡、内容分发系统(CDN)

在网站访问,负载均衡,CDN经常会用到DNS。

如负载均衡,将同一个域名解析为不同的ip地址,根据不同服务器的负载转给不同服务器去执行。

CDN,将域名的ip的地址解析为离用户较近的服务器,加快数据传输,减少传输延迟等。

其他

DNS缓存污染

攻击者向DNS解析器里注入恶意的DNS记录,导致用户访问恶意网站或者钓鱼网站。

DNS劫持

将用户DNS请求重定向到恶意DNS服务器,导致用户不正确的ip地址。


http://www.ppmy.cn/embedded/101410.html

相关文章

nginx知识补充

文章目录 一、正、反向代理服务器正向代理服务器&#xff08;Forward Proxy&#xff09;反向代理服务器&#xff08;Reverse Proxy&#xff09;正向代理与反向代理的主要区别总结 二、nginx的四、七层反向代理七层反向代理&#xff08;Layer 7 Proxy&#xff09;四层反向代理&a…

【YOLOv8改进[Conv]】 感受野注意力卷积RFAConv(2024.3)| 使用RFAConv改进目标检测效果 + 含全部代码和详细修改方式

本文将进行在YOLOv8中使用 感受野注意力卷积RFAConv改进v8 的实践,助力YOLOv8目标检测效果,文中含全部代码、详细修改方式。助您轻松理解改进的方法。

解决执行npm run dev报错node: --openssl-legacy-provider is not allowed in NODE_OPTIONS

问题&#xff1a; 最近下载了一个开源系统&#xff0c;执行npm install很顺利&#xff0c;以为大功告成&#xff0c;结果运行npm run dev时报错node: --openssl-legacy-provider is not allowed in NODE_OPTIONS 解决方法&#xff1a; 应用程序配置&#xff08;package.json&a…

UE4编安卓时Core模块为何只include Android文件夹?

Core模块 Core模块是整个引擎中最核心的模块。几乎UE4中的每个其他模块都导入Core。Engine\Source\Runtime\Core\Private下有很多文件夹&#xff0c;下面罗列一部分&#xff1a; G:\St\EngineSource\Engine\Source\Runtime\Core\Private 的目录 2024/07/18 12:02 <DIR…

DataX(Doris同步数据到SelectDB)

背景 由于之前的doris数仓在本地的服务器&#xff0c;当数据量越来越大&#xff0c;服务器的性能达不到要求&#xff0c;查询数据经常超时&#xff0c;故需要把本地的doris数仓部署到云上&#xff0c;本文以阿里云为例&#xff0c;迁移工具使用的阿里开源的datax。 datax官方文…

【Java 搜索二维矩阵 I II,多数元素 I II,分治法 二分法 摩尔投票法】

搜索二维矩阵 I II&#xff0c;多数元素&#xff0c;分治法 & 二分法 & 摩尔投票法 题目1&#xff1a;力扣-搜索二维矩阵[https://leetcode.cn/problems/search-a-2d-matrix/description/](https://leetcode.cn/problems/search-a-2d-matrix/description/)分治-排除法分…

STM32——TIM定时器的输入捕获功能

一、什么是输出比较与输入捕获&#xff1f; 可以看到&#xff1a; 输出比较OC是用于输出一定频率和占空比的PWM波形&#xff0c;可用于电机驱动进行调速等&#xff1b;而输入捕获IC是用于测量PWM波形的频率以及占空比等参数&#xff1b;和他们的名字相反&#xff0c;一个是比…

【知识图谱】2.知识抽取与知识存储

目录 一、知识抽取 1、实体命名识别&#xff08;Name Entity Recognition&#xff09; 2、关系抽取&#xff08;Relation Extraction&#xff09; 3、实体统一&#xff08;Entity Resolution&#xff09; 4、指代消解&#xff08;Coreference Resolution&#xff0…