当前位置: 首页 > news >正文

DNS作用及工作原理

文章目录

  • 1. DNS作用
  • 2 DNS 三个组成部分:
    • 2.1 客户端
    • 2.2Local DNS
    • 2.3 权威域 DNS 服务器
  • 3 工作过程

1. DNS作用

DNS 分为 Client 和 Server,Client 扮演发问的角色,也就是问 Server 一个 Domain Name,而 Server 必须要回答此 Domain Name 的真正 IP 地址,DNS 是怎么来作名称解析的?

2 DNS 三个组成部分:

2.1 客户端

客户端:也就是真正的用户使用终端,对于终端用户而言,复杂的 IP 地址是很难记忆的,因此采用 DNS 解析,可以只需要记住简单好用的域名即可。另外,当应用的 IP 地址调整的时候,客户端也无需知道新的 IP 地址,只需要访问统一的域名。

2.2Local DNS

Local DNS: Local DNS 通常是预先在客户端配置好的 DNS 服务器地址,或者是在用户用
ADSL 等网络服务,通过 DHCP 协议分配的 DNS 服务器地址。Local DNS 是直接面向客户端提
供 DNS 解析服务的。

2.3 权威域 DNS 服务器

权威域 DNS 服务器:权威域 DNS 服务器上配置的域名和 IP 地址的对应关系,提供给 LocalDNS 或者客户端直接查询。当应用的 IP 地址调整的时候,只需要在权威域 DNS 服务器上更改域名和 IP 地址的对应,则所有的客户端或者 Local DNS 查询时就会得到新的对应记录。DNS 服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。

3 工作过程

在每一个 Local DNS 服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该 Local DNS 服务器所查询出来的名称及相对的 IP 地址记录在快取缓存区中,这样当下一次还有另外一个客户端到 Local DNS 服务器上去查询相同的名称时,服务器就不用在到权威域名服务器上去寻找,而直接可以从缓存区中找到该笔名称记录,传回给客户端,加速客户端对名称查询的速度。例如:当 DNS 客户端向指定的 Local DNS 服务器查询互联网上的某一台主机名称,Local DNS服务器会在缓存中找寻用户所指定的名称如果找到该笔名称记录后,则会直接将所对应到的域名和 IP 地址对应记录传回给客户端 ,如果 Local DNS 服务器在本地缓存中找不到对应记录的时候,则会向权威域名服务器查询所要的名称。

图:DNS 工作原理

我们举例说明,假设我们要查询互联网上的一个名称为 www.adntech.com,以下为名称
解析过程的每一步骤。

  1. 在 DNS 的客户端浏览器的地址栏中输入 http://www.adntech.com,则在客户端浏览器本地的 DNS
    客户端首先向本机已经配置或者分配好的 DNS 服务器发起 www.adntech.com的域名解析请求,这里客户端配置的 DNS 服务器我们通常称为 Local DNS 服务器。
  2. 而 Local DNS 服务器先查询是否在本地的缓存中有有效的 www.adntech.com 的
    DNS记录,如果发现有在有效期之内的对应 DNS 记录,则直接返回给 Local DNS 解析的结果。
  3. 查询后如果发现本地缓存中没有这条记录,则直接从本机预先配置好的根 DNS 服务器 IP 地址列表中向某一台根 DNS
    服务器发起请求,查询 www.adntech.com。
  4. 在根 DNS 服务器中,记录了每个顶级域分别是由哪些 DNS 服务器负责,所以它会向发起请求的 Local DNS 服务器返回.com
    域的权威 DNS 服务器记录。
  5. Local DNS 再向.com 的权威 DNS 服务器发起 www.adntech.com 的域名解析请求,在.com 权威 DNS
    服务器向 Local DNS 返回 adntech.com 的权威域名服务器记录对应的 IP 地 址。
  6. Local DNS 再向 adntech.com 的权威域名服务器发起 www.adntech.com 的域名解析请求。这时
    adntech.com 的权威域名服务器向 Local DNS 返回 www.adntech.com 域名所对应的IP 地址。
  7. 客户端的本地 DNS 客户端将解析结果返回给浏览器,则浏览器向 www.adntech.com对应的 IP 地址的 80 端口发起 HTTP GET 指令,Web 服务器则返回相应的请求内容

每一个域名解析记录都有对应的 TTL 值,根据这个 TTL 值所定义的时间,客户端和 LocalDNS 都将会在本地缓存解析得到的结果直到 TTL 值到达,然后再发起新的 DNS 查询请求。对于客户端而言,在 TTL 的有效时间内,如果浏览器或者本机的其他应用程序需要访问这个域名的时候,都无需再进行查询动作,而直接从本地缓存内取得解析结果然后连接对应的 IP地址。对于 Local DNS 而言,在 TTL 有效时间内,任何一个客户端请求,都将直接返回本地缓存的记录,在超过缓存时间后,则重复进行前面的动作,解析域名所对应的 IP 地址。

相关文章:

DNS作用及工作原理

文章目录1. DNS作用2 DNS 三个组成部分:2.1 客户端2.2Local DNS2.3 权威域 DNS 服务器3 工作过程1. DNS作用 DNS 分为 Client 和 Server,Client 扮演发问的角色,也就是问 Server 一个 Domain Name,而 Server 必须要回答此 Domain…...

Android 9.0 wifi的随机mac地址修改为固定不变

1.前言 在9.0的系统rom产品定制化开发中,在系统默认的wifi的mac地址是会在联网前后会变化,因为默认是随机显示mac地址,所以会在连上wifi后mac地址会变动但是如果根据mac地址来升级 会引起一系列问题,为了避免这些问题 所以就要求固定mac地址,这就需要看wifi模块怎么改变ma…...

Apinto 网关 V0.11.1 版本发布,多协议互转,新增编码转换器,接入 Prometheus

Eolink 旗下 Apinto 开源网关再次更新啦~ 一起来看看是否有你期待的功能! 1、协议转换功能上线 之前发布的 Apinto v0.10.0 已经支持了多协议的基本功能,实现多协议支持的一次验证。本次最新版本可以支持 HTTP 与 gRPC、HTTP 与 Dubbo2 之间的协议转换。…...

Android 12.0 根据app包名授予app监听系统通知权限

1.概述 在12.0的系统rom产品定制化开发中,在一些产品rom定制化开发中,系统内置的第三方app需要开启系统通知权限,然后可以在app中,监听系统所有通知,来做个通知中心的功能,所以需要授权 获取系统通知的权限,然后来顺利的监听系统通知。来做系统通知的功能 2.根据app包名…...

mysql视图和存储过程

视图视图就是将一条sql查询语句封装起来,之后使用sql时,只需要查询视图即可,查询视图时会将这条sql语句再次执行一遍。视图不保存数据,数据还是在表中。SELECT 语句所查询的表称为视图的基表,而查询的结果集称为虚拟表…...

uniapp 实现人脸认证

前言 对于前端来说,需要后端提供一个人脸识别接口,前端传入图片,接口识别并返回结果,如此看来,其实前端只需实现图片传入即可,但是其实不然,在传入图片时,需要进行以下几点操作&…...

自学大数据第三天~终于轮到hadoop了

前面那几天是在找大数据的门,其实也是在搞一些linux的基本命令,现在终于轮到hadoop了 Hadoop hadoop的安装方式 单机模式: 就如字面意思,在一台机器上运行,存储是采用本地文件系统,没有采用分布式文件系统~就如我们一开始入门的时候都是从本地开始的; 伪分布式模式 存储采用…...

Unity 入门精要00---Unity提供的基础变量和宏以及一些基础知识

头文件引入: XXPROGRAM ... #include "UnityCG.cginc"; ... ENDXX 常用的结构体(在UnityCg.cginc文件中):在顶点着色器输入和输出时十分好用 。 关于如何使用这些结构体,可在Unity安装文件目录/Editor…...

Kubernetes的网络架构及其安全风险

本博客地址:https://security.blog.csdn.net/article/details/129137821 一、常见的Kubernetes网络架构 如图所示: 说明: 1、集群由多个节点组成。 2、每个节点上运行若干个Pod。 3、每个节点上会创建一个CNI网桥(默认设备名称…...

Blob分析+特征+(差分)

Blob分析特征0 前言1 概念2 方法2.1 图像采集2.2 图像分割2.3 特征提取3 主要应用场景:0 前言 在缺陷检测领域,halcon通常有6种处理方法,包括Blob分析特征、Blob分析特征差分、频域空间域、光度立体法、特征训练、测量拟合,本篇博…...

Flink 提交模式

Flink的部署方式有很多,支持Local,Standalone,Yarn,Docker,Kubernetes模式等。而根据Flink job的提交模式,又可以分为三种模式: 模式1:Application Mode Flink提交的程序,被当做集群内部Application,不再需要Client端做繁重的准备工作。(例如执行main函数,生成JobG…...

网络总结知识点(网络工程师必备)三

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 目录 前言 51.什么是ARP代理?...

测开:前端基础-css

一、CSS介绍和引用 1.1 css概述 层叠样式表,是一种样式表语言,用来描述HTML和XML文档的呈现。 CSS 用于简化HTML标签,把关于样式部分的内容提取出来,进行单独的控制,使结构与样式分离开发。 CSS 是以HTML为基础&…...

Java学习记录之JDBC

JDBC JDBC 是 Java Database Connectivity 的缩写,是允许Java 程序访问并操作关系型数据库数据的一套 应用程序接口。本身就是一种规范,它提供的接口有一套完整的,可移植的访问底层数据库的程序。 JDBC 的架构 JDBC API支持两层和三层处理…...

矩阵翻硬币

题目描述 小明先把硬币摆成了一个 n 行 m 列的矩阵。 随后,小明对每一个硬币分别进行一次 Q 操作。 对第 x 行第 y 列的硬币进行 Q 操作的定义:将所有第 ix 行,第 jy 列的硬币进行翻转。...

【C语言跬步】——指针数组和数组指针(指针进阶)

一.指针数组和数组指针的区别 1.指针数组是数组,是一种存放指针的数组; 例如: int* arr[10]; 2.数组指针是指针,是一种指向数组的指针,存放的是数组的地址; 例如: int arr[5]; int (p)[5]&a…...

第十四届蓝桥杯模拟赛第三期(Python)

写在前面 包含本次模拟赛的10道题题解能过样例,应该可以AC若有错误,欢迎评论区指出本次题目除了最后两题有些难度,其余题目较为简单,我只将代码和结果给出,如果不能理解欢迎私信我,我会解答滴。start 2022…...

css-盒模型

巧妙运用margin负值盒模型和怪异盒模型(border padding 包含在内)display: block 能让textarea input 水平尺寸自适应父容器? – 不能 * {box-sizing: border-box; // bs: bb }<textarea/> 是替换元素,尺寸由内部元素决定,不受display水平影响. 当然可以直接设置宽度10…...

Linux | 调试器GDB的详细教程【纯命令行调试】

文章目录一、前言二、调试版本与发布版本1、见见gdb2、程序员与测试人员3、为什么Release不能调试但DeBug可以调试❓三、使用gdb调试代码1、指令集汇总2、命令演示⌨ 行号显示⌨ 断点设置⌨ 查看断点信息⌨ 删除断点⌨ 开启 / 禁用断点⌨ 运行 / 调试⌨ 逐过程和逐语句⌨ 打印 …...

wifi芯片大市场和个人小生活

3.3 是日也&#xff0c;天朗气清&#xff0c;惠风和畅。仰观宇宙之大&#xff0c;俯察论文论坛&#xff0c;所以游目骋怀&#xff0c;足以极视听之娱&#xff0c;信可乐也。 夫人之相与&#xff0c;俯仰一世&#xff0c;或取诸怀抱&#xff0c;悟言一室之内&#xff1b;或因寄所…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址&#xff1a;Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址&#xff08;如 10.244.1.2&#xff09;无特殊名称&#xff1a;在 Kubernetes 中&#xff0c;它通常被称为 “Pod IP” 或 “容器 IP”生命周期&#xff1a;与 Pod …...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...