谈谈DNS是什么?它的作用以及工作流程

作者:Insist--

个人主页:insist--个人主页

作者会持续更新网络知识和python基础知识,期待你的关注

目录

一、DNS是什么?

二、DNS的作用

三、DNS查询流程

1、查看浏览器缓存

2、查看系统缓存

3、查看路由器缓存

4、查看ISP DNS 缓存

5、询问根域名服务器

6、询问顶级域名服务器

7、询问权威域名服务器

8、保存结果至缓存


前言

本文就来谈谈DNS是什么,以及它的作用与工作流程。

一、DNS是什么?

02a5faff437b4527b07a4eade1a8bc6e.jpg

DNS全称Domain Name System,Domain Name被译为域名,中文名为域名系统,也称为域名解析系统。因为IP地址是比较难记忆的,所以发明了域名方便大家上网使用。

例如:

你要访问百度网站,不需要输入百度服务器的IP地址,只需要输入百度的域名即可。简单来说,DNS就是用来把域名转换成IP地址的一个系统。

二、DNS的作用

正如上面所说,DNS的作用就是将一个域名转换成IP地址

DNS在互联网中起到了关键的作用。它通过域名解析和IP地址管理,使得人们使用简单易记的域名来访问互联网资源。同时,它还支持负载均衡、缓存和邮件交换等功能,以提高网络性能和服务质量。

三、DNS查询流程

域名解析一般采用递归查询的方式进行。一个完整的域名解析过程如下图所示:

0a74a73be6e843a6899007fa67f4b8e1.jpg

1、查看浏览器缓存

当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名的 IP 地址

注意:之前访问过这个域名并没有清除缓存就会有记录。

2、查看系统缓存

当浏览器缓存中无域名对应 IP 则会自动检查用户计算机系统 Hosts 文件 DNS 缓存是否有该域名对应 IP

3、查看路由器缓存

当浏览器及系统缓存中均无域名对应 IP 则进入路由器缓存中检查。

注意:以上三步均为客服端的 DNS 缓存。

4、查看ISP DNS 缓存

当在用户客服端查找不到域名对应 IP 地址,则将进入 ISP DNS 缓存中进行查询。比如你用的是移动的网络,则会进入移动的 DNS 缓存服务器中进行查找。

5、询问根域名服务器

如果以上都不符合,则进入根服务器进行查询。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com等)服务器 IP 告诉本地 DNS 服务器。

6、询问顶级域名服务器

顶级域名服务器收到请求后查看区域文件记录,若无记录则将其管辖范围内权威域名服务器的 IP 地址告诉本地 DNS 服务器。

7、询问权威域名服务器

权威域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确记录。

8、保存结果至缓存

本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个 IP 地址即可访问目标Web服务器。至此,DNS递归查询的整个过程结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/56812.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 DMA学习

DMA简称 DMA,Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,能使CPU的效率大为提高。…

Java私有仓库Nexus搭建部署

Java私有仓库Nexus搭建部署 需求分析 为什么要搭建部署Nexus私有仓库,有什么用,用来干什么,怎么用,也许是大家看到这篇文章的第一个反应和疑惑,这里给大家先笼统的做一个介绍: 依赖管理:在Java…

24届近5年上海大学自动化考研院校分析

今天给大家带来的是上海大学控制考研分析 满满干货~还不快快点赞收藏 一、上海大学 学校简介 上海大学是上海市属的综合性研究型大学,是教育部与上海市人民政府共建高校,是国家“211 工程”重点建设高校、上海市高水平地方大学建设高校&a…

数据结构刷题训练——链表篇(二)

目录 前言 1.题目一:链表分割 1.1 思路 1.2 分析 1.3 题解 2. 题目二:相交链表 2.1 思路 2.2 分析 2.3 题解 3. 题目三:环形链表 3.1 思路 3.2 分析 3.3 题解 总结 前言 本期继续分享链表相关的OJ题目,在这个专栏博客…

python高阶技巧

目录 设计模式 单例模式 具体用法 工厂模式 优点 闭包 案例 修改闭包外部变量 闭包优缺点 装饰器 装饰器原理 装饰器写法 递归 递归的调用过程 递归的优缺点 用递归计算阶乘 设计模式 含义:设计模式是一种编程套路,通过这种编程套路可…

Selenium 根据元素文本内容定位

使用xpath定位元素时,有时候担心元素位置会变,可以考虑使用文本内容来定位的方式。 例如图中的【股市】按钮,只有按钮文本没变,即使位置变化也可以定位到该元素。 xpath内容样例: # 文本内容完全匹配 //button[text(…

c++游戏制作指南(三):c++剧情类文字游戏的制作

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 🍟欢迎来到静渊隐者的csdn博文,本文是c游戏制作指南的一部🍟 🍕更多文章请点击下方链接🍕 🍨 c游戏制作指南&#x1f3…

荐读 | 《揭秘云计算与大数据》

当我们回顾过去几十年的科技进步时,云计算和大数据在现代科技发展史上无疑具有里程碑式的意义,它们不仅改变了我们的生活方式,而且对各行各业产生了深远的影响。 在这个数字化时代,云计算和大数据技术已经成为推动全球发展的关键…

java中的hashmap和concurrenthashmap解析

hashmap的初始化数组大小为16,如果发生哈希冲突的时候在当前的索引后面采用头插法以链表的形式继续插入节点。 concurrenthashmap的结构图如下所示: 本身不是16个节点吗?这里分为两个长度为4的数组,变成了4*4总共16个节点&#x…

LouvainMethod分布式运行的升级之路

1、背景介绍 Louvain是大规模图谱的谱聚类算法,引入模块度的概念分二阶段进行聚类,直到收敛为止。分布式的代码可以在如下网址进行下载。 GitHub - Sotera/spark-distributed-louvain-modularity: Spark / graphX implementation of the distri…

QtWebApp开发https服务器,完成客户端与服务器基于ssl的双向认证,纯代码操作

引言:所谓http协议,本质上也是基于TCP/IP上服务器与客户端请求和应答的标准,web开发中常用的http server有apache和nginx。Qt程序作为http client可以使用QNetworkAccessManager很方便的进行http相关的操作。Qt本身并没有http server相关的库…

2023上半年手机及数码行业分析报告(京东销售数据分析)

2023年上半年,手机市场迎来复苏,同环比来看,销量销额纷纷上涨。 而数码市场中,各个热门品类表现不一。微单相机及智能手表同比去年呈现增长态势,而笔记本电脑市场则出现下滑。 基于此现状,鲸参谋发布了20…