【windows|008】DNS服务详解

🍁博主简介

🏅云计算领域优质创作者

🏅2022年CSDN新星计划python赛道第一名

🏅2022年CSDN原力计划优质作者 ​

🏅阿里云ACE认证高级工程师 ​

🏅阿里云开发者社区专家博主

💊交流社区:CSDN云计算交流社区欢迎您的加入!

目录

1、什么是DNS:域名系统

2、DNS服务中的关键概念

3、DNS的查询过程

4、按查询内容分类:

5、资源记录类型


1、什么是DNS:域名系统

DNS (Domain Name System) 是一个用于将域名(如 www.example.com)转换为 IP 地址(如 192.0.2.1)的系统。当你在浏览器中输入一个网址并尝试访问时,你的计算机首先会查询 DNS 以获取该网址对应的 IP 地址,然后才能与那个 IP 地址上的服务器进行通信。

DNS 是互联网中不可或缺的一部分,它使得人们可以使用易于记忆的域名来访问网站和服务,而不是必须记住复杂的 IP 地址。

Hosts文件:早期使用hosts文件解析域名,目前主要用于临时解析

hosts文件的存放位置:

Windows:C:\windows\system32\drivers\etc\hosts

Linux : /etc/hosts

2、DNS服务中的关键概念

  • 域名:人们更容易记住的、有意义的字符串,如 www.example.com

  • IP 地址:计算机用于在互联网上相互通信的数字地址。

  • DNS 服务器:存储域名和 IP 地址映射的服务器。当你尝试访问一个域名时,你的计算机会向 DNS 服务器发送一个查询请求。

  • DNS 查询:当你尝试访问一个域名时,你的计算机首先会向一个或多个 DNS 服务器发送一个查询请求,询问该域名对应的 IP 地址。

  • 递归查询:一种 DNS 查询方式,其中 DNS 客户端(如你的计算机)会向 DNS 服务器发送查询请求,并等待服务器返回完整的 IP 地址。如果服务器不知道答案,它会向其他服务器查询,直到找到答案或确定无法找到为止。

  • 迭代查询:另一种 DNS 查询方式,其中 DNS 客户端会接收一个或多个指向其他 DNS 服务器的引用,然后依次向这些服务器发送查询请求,直到找到答案或确定无法找到为止。

  • DNS 缓存:为了减少 DNS 查询的延迟和流量,DNS 服务器和客户端通常会缓存之前查询的结果。这意味着在缓存有效期内,相同的查询可能会直接从缓存中返回结果,而不是再次向 DNS 服务器发送查询请求。

  • DNS 记录:存储在 DNS 服务器上的数据条目,包括域名和 IP 地址的映射关系。常见的 DNS 记录类型包括 A 记录(将域名映射到 IPv4 地址)、AAAA 记录(将域名映射到 IPv6 地址)、CNAME 记录(将域名映射到另一个域名的别名)等。

3、DNS的查询过程

整个DNS查询过程可能涉及多个DNS服务器之间的交互和查询,但客户端通常只需要向本地DNS服务器发送一次查询请求,就可以获得目标域名的IP地址。同时,为了提高查询效率和减少网络流量,DNS查询结果通常会被缓存起来以便后续使用。所以DNS的查询过程是一个复杂但有序的系列步骤,以下是DNS查询过程的详细步骤:

第一步:客户端发起请求

  • 当用户在浏览器中输入一个域名(如www.example.com)并尝试访问时,客户端(如用户的计算机)会首先检查本地缓存中是否已经有该域名的IP地址记录。

第二步:本地缓存查询

  • 客户端会首先查询其操作系统和浏览器中的DNS缓存。如果缓存中存在该域名的IP地址,则直接使用该IP地址进行访问,查询过程结束。

  • 比如我们的浏览器打开无痕模式的时候,你所访问过的所有网页都不会有解析记录的缓存

第三步:本地hosts文件查询

  • 如果本地缓存中没有找到对应的IP地址,客户端会检查本地的hosts文件。hosts文件是一个包含域名和IP地址映射关系的文件,通常用于手动指定某些域名的IP地址。如果hosts文件中存在该域名的IP地址,则使用该IP地址进行访问。

第四步:本地DNS服务器查询

  • 如果本地缓存和hosts文件中都没有找到对应的IP地址,客户端会向本地配置的DNS服务器发送查询请求。本地DNS服务器可能是由ISP(互联网服务提供商)提供的,也可能是企业或组织内部部署的。

第五步:递归查询或迭代查询

  • 本地DNS服务器收到查询请求后,会进行递归查询或迭代查询来解析域名。递归查询是指本地DNS服务器代替客户端向其他DNS服务器发送查询请求,直到找到对应的IP地址并将结果返回给客户端。迭代查询是指本地DNS服务器向客户端返回一个或多个指向其他DNS服务器的引用,客户端再依次向这些服务器发送查询请求,直到找到对应的IP地址。

第六步:根域名服务器查询

  • 如果本地DNS服务器无法解析域名,它会向根域名服务器发送查询请求。根域名服务器是DNS系统中的最高层次,它知道所有顶级域名服务器的地址。

  • 有一个非常悲哀的消息就是:全球共有13台根域名服务器,其中美国拥有10台,且主根服务器位于美国。这些服务器负责全球互联网域名的解析工作。截至目前2024年,所有的根域服务器都在国外,国内仅在北京有一台镜像根域服务器

  • 13台全球性根域服务器部署地址:

全球性根域服务器部署地ip地址
INTERNIC.NET(美国,弗吉尼亚州)198.41.0.4
美国信息科学研究所(美国,加利弗尼亚州)128.9.0.107
PSINet公司(美国,弗吉尼亚州)192.33.4.12
马里兰大学(美国马里兰州)128.8.10.90
美国航空航天管理局 NASA(美国,加利弗尼亚州)192.203.230.10
因特网软件联盟(美国,加利弗尼亚州)192.5.5.241
美国国防部网络信息中心(美国,弗吉尼亚州)192.112.36.4
美国陆军研究所(美国马里兰州)128.63.2.53
Autonomica公司(瑞典,斯德哥尔摩)192.36.148.17
VeriSign公司(美国,弗吉尼亚州)192.58.128.30
RIPE NCC(英国,伦敦)193.0.14.129
IANA(美国,弗吉尼亚州)198.32.64.12
日本

第七步:顶级域名服务器查询

  • 根域名服务器会返回顶级域名服务器的地址给本地DNS服务器。本地DNS服务器再向顶级域名服务器发送查询请求,顶级域名服务器会返回该域名所属的权威域名服务器的地址。

第八步:权威域名服务器查询

  • 本地DNS服务器再向权威域名服务器发送查询请求,权威域名服务器会返回该域名对应的IP地址。

第九步:结果返回

  • 本地DNS服务器将查询到的IP地址返回给客户端,并将该结果缓存起来以便后续使用。

第十步:客户端访问

  • 客户端收到IP地址后,就可以使用该IP地址与对应的服务器进行通信,从而访问目标网站或服务。

4、按查询内容分类:

1)正向查询:由域名查找IP地址

2)反向查询:由IP地址查找域名

5、资源记录类型

A记录:主机记录正向解析,域名------>IP
PTR记录指针记录反向解析,IP-------->域名

 

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

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

相关文章

【LinuxC语言】线程重入

文章目录 前言线程重入是什么线程重入实现示例代码总结前言 在并发编程中,我们经常需要处理多个线程同时访问和修改共享资源的问题。这可能会导致数据竞争和状态不一致,从而使程序的行为变得不可预测。为了解决这个问题,我们引入了一种称为“线程重入”的机制。线程重入,或…

家用洗地机哪个品牌好用?四款性价比高的洗地机推荐

还在为下班赶回家打扫卫生而烦恼?曾经的我也是这样,日复一日手动清洁,疲惫不堪。直到有一天,我决定相信现代科技,深入研究了市面上的各种洗地机评测,从此踏入了智能清洁家电的新世界。洗地机作为现代家居的…

Google Earth Engine(GEE)——checkbox的使用

结果 函数: ui.Checkbox(label, value, onChange, disabled, style) A checkbox with a label. Arguments: label (String, optional): The checkboxs label. Defaults to an empty string. value (Boolean, optional): Whether the checkbox is checked. A nu

LangChain 介绍

In recent times, you would probably have heard of many AI applications, one of them being chatpdf.com. 在最近,你可能听说过很多的AI应用,chatpdf.com就是其中的一个。 On this website, you can upload your own PDF. After uploading, you ca…

【面试题】 操作系统面试题 (第一篇)

1.volatile原理 volatile的底层原理主要涉及到多线程环境中共享变量的可见性和有序性。以下是关于volatile底层原理的详细解释: 可见性: 当一个变量被volatile修饰后,它会保证此变量对所有线程都是可见的。这里的“可见性”意味着当一个线程…

CinemachineFreelook相机鬼畜抖动的解决方法

又是培训机构的出品。。。。。。 2020.3.27 发现跟随时抖动的原因了,其实应该按照传统相机的跟随逻辑放在late update里执行,但是由于开发cinemachine的开发组很坑地把cinemachine freelook里的三个轨道Damping值默认给了3,于是相机会以每0.7…

Aquila-Med LLM:开创性的全流程开源医疗语言模型

​论文链接:https://arxiv.org/pdf/2406.12182 开源链接:https://huggingface.co/BAAI/AquilaMed-RL http://open.flopsera.com/flopsera-open/details/AquilaMed_SFT http://open.flopsera.com/flopsera-open/details/AquilaMed_DPO 近年来&#xf…

P10552 [THUPC2024] 警钟长鸣

题目描述 一年两度的 THUPC 又到来了,小 Z 也掏出了他的传统艺能——压轴的整活签到题。对于往年来说,签到题总是能被选手们在刚开场便迅速通过,而这次,小 Z 决定整点不一样的——”如果我把签到题刻意搞得很谜语人,让…

Java比较运算符

关系运算符和比较运算符适用于条件判断类型。 相当于布尔值,只有True和False两个 符号 说明ab,判断a的值是否等于b的值,条件成立为true,不成立为false ! a!b,判断a和b的值是否不相等,条件成立为true,不成立为false > …

MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法

目录 一、漏洞简介 漏洞原理 影响版本 二、漏洞复现 三、复现过程 1、扫描局域网内的C段主机(主机发现) 扫描结果: 2.使用MSF的永恒之蓝漏洞模块 3.对主机进行扫描,查看其是否有永恒之蓝漏洞 4.准备攻击 四、漏洞利用 …

C#健康体检信息管理系统成品源码,医院体检中心管理系统

健康体检信息管理系统覆盖体检中心的所有业务,完成从预约、登记、收费、检查、检验、出报告、分析、报表等所有工作,规范了体检流程,提高了工作效率。 体检系统开发环境: 技术架构:C/S架构 开发语言:C# …

k8s volcano + deepspeed多机训练 + RDMA ROCE+ 用户权限安全方案【建议收藏】

前提:nvidia、cuda、nvidia-fabricmanager等相关的组件已经在宿主机正确安装,如果没有安装可以参考我之前发的文章GPU A800 A100系列NVIDIA环境和PyTorch2.0基础环境配置【建议收藏】_a800多卡运行环境配置-CSDN博客文章浏览阅读1.1k次,点赞8…

leetcode 动态规划(基础版)三角形最小路径和

题目&#xff1a; 题解&#xff1a; 一种可行的方案是从下到上&#xff0c;避免了从上到下的下标特判。走到每一个位置的最小值等于该位置的上两个位置中的最小值加上该位置的值。 int minimumTotal(vector<vector<int>>& triangle) {int dp[205][205]{0};f…

Desoutter智能拧紧中枢Connect过压维修

马头智能拧紧中枢过压维修是马头拧紧设备维护中的重要环节。当出现马头拧紧设备中枢过压现象时&#xff0c;会导致设备性能下降&#xff0c;甚至损坏设备&#xff0c;因此及时对过压中枢进行维修是保障设备正常运转的关键。 Desoutter电动螺丝刀控制器过压的原因可能有很多&am…

Vue60-TodoList案例-全局事件总线

一、全局事件总线的适用场景 虽然全局事件总线使用于任意组件之间的通信&#xff0c;但是没有必要处处用它。 数据在哪里&#xff0c;操作数据的方法就在哪里&#xff01; 二、TodoList案例-全局事件总线 适用于全局总线的场景&#xff1a;Item和App&#xff08;爷孙关系&…

FFmpeg+javacpp+javacv使用

FFmpegjavacppjavacv使用 Bytedeco官网案例1、导入opencv、ffmpeg依赖包2、FFmpeg 数据结构2.1 AVFormatContext 格式化I/O上下文2.1.1 metadata2.1.2 Duration、start、bitrate等其他信息2.1.3 dump信息 Bytedeco GitHub&#xff1a;javacpp Bytedeco官网案例 FFmpeg – [示例…

Qt Object:智能即时聊天室项目

目录 1.项目介绍 2.设计思路 3.Pro文件配置 4.项目演示 5.项目开源 项目介绍 智能即时聊天室系统&#xff08;AIChatProject&#xff09;是一个高效、灵活的即时通讯解决方案。它融合了百度的开源大型语言模型——文心一言&#xff0c;通过API接口实现深度集成。系统专为聊天和…

Ubuntu使用 NVIDIA GPU 和 CUDA 设置 LLM 的训练、微调和推理

0.引言 近年来&#xff0c;人工智能领域取得了令人瞩目的进步&#xff0c;其核心是图形处理单元&#xff08;GPU&#xff09;和并行计算平台的强大组合。 大模型如 GPT、BER能够理解和生成具有前所未有的流畅性和连贯性的类人文本。然而&#xff0c;训练这些模型需要大量的数据…

【SAP ME 42】关于SAP ME自定义开发中NWDS中配置JDK

1、NWDS启动配置JDK -vm C:/Java/jdk1.8.0_361/bin 2、开发组件配置JDK

基于Python+Flask+MySQL+HTML的B站数据可视化分析系统

FlaskMySQLVue 基于PythonFlaskMySQLHTML的B站数据可视化分析系统 项目采用前后端分离技术&#xff0c;项目包含完整的前端HTML&#xff0c;以及Flask构成完整的前后端分离系统 爬虫文件基于selenium&#xff0c;需要配合登录账号 简介 主页 登录页面&#xff0c;用户打开浏…