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 服务器在本地缓存中找不到对应记录的时候,则会向权威域名服务器查询所要的名称。

我们举例说明,假设我们要查询互联网上的一个名称为 www.adntech.com,以下为名称
解析过程的每一步骤。
- 在 DNS 的客户端浏览器的地址栏中输入 http://www.adntech.com,则在客户端浏览器本地的 DNS
客户端首先向本机已经配置或者分配好的 DNS 服务器发起 www.adntech.com的域名解析请求,这里客户端配置的 DNS 服务器我们通常称为 Local DNS 服务器。 - 而 Local DNS 服务器先查询是否在本地的缓存中有有效的 www.adntech.com 的
DNS记录,如果发现有在有效期之内的对应 DNS 记录,则直接返回给 Local DNS 解析的结果。 - 查询后如果发现本地缓存中没有这条记录,则直接从本机预先配置好的根 DNS 服务器 IP 地址列表中向某一台根 DNS
服务器发起请求,查询 www.adntech.com。 - 在根 DNS 服务器中,记录了每个顶级域分别是由哪些 DNS 服务器负责,所以它会向发起请求的 Local DNS 服务器返回.com
域的权威 DNS 服务器记录。 - Local DNS 再向.com 的权威 DNS 服务器发起 www.adntech.com 的域名解析请求,在.com 权威 DNS
服务器向 Local DNS 返回 adntech.com 的权威域名服务器记录对应的 IP 地 址。 - Local DNS 再向 adntech.com 的权威域名服务器发起 www.adntech.com 的域名解析请求。这时
adntech.com 的权威域名服务器向 Local DNS 返回 www.adntech.com 域名所对应的IP 地址。 - 客户端的本地 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 是日也,天朗气清,惠风和畅。仰观宇宙之大,俯察论文论坛,所以游目骋怀,足以极视听之娱,信可乐也。 夫人之相与,俯仰一世,或取诸怀抱,悟言一室之内;或因寄所…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
