域名解析服务之DNS查询类型

在实际应用中DNS查询主要分为两种方式查询:1.递归查询;2.迭代查询

一般情况下:为了减少资源的消耗,网络中客户端与所属的本地DNS服务器查询方式通常为递归查询,本地DNS服务器与外部的公共DNS服务器间的查询方式为迭代查询。

1. 什么递归查询

如下所示为DNS递归查询的过程:

域名解析服务之DNS查询类型

查询过程如下:

Step A:客户端向本地DNS服务器查询某个域名解析(这里以"example.microsoft.com"为例);

Step B:本地DNS服务器先查找缓存查询不到,然后查找本地区域文件还是找不到,则通过根提示文件向负责.com顶级域的根名称DNS服务器查询;

Step C:根DNS服务器收到请求后直接将下属的.com的权威DNS服务器IP地址返回给本地DNS服务器;

Step D:本地DNS服务器收到根域名服务器发出的DNS信息后直接向.com的权威DNS服务器查询;

Step E:.com权威名称服务器收到客户端DNS查询请求后,发现无此域名的解析就直接将下一级的二级权威名称服务器的DNS的IP(这里指microsoft.com的权威名称服务器的IP)发给本地DNS服务器;

Step F:本地DNS收到.com发出的microsoft.com权威DNS服务器后,直接向microsoft.com权威DNS发出解析请求;

Step G:microsoft.com权威DNS收到解析请求后,发现是自己负责的域名,并且存在该主机记录,然后将对应的ip信息发给本地DNS,本地DNS缓存该解析,并响应客户端查询,至此整个查询过程结束;

总结:递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。

2. 什么迭代查询

如下所示为DNS迭代查询的过程:

域名解析服务之DNS查询类型

查询过程如下:

Step A:客户端向本地DNS服务器查询某个域名解析(这里以"example.microsoft.com"为例)

Step B:本地DNS服务器先查找本地缓存,如果找不到,则直接将本地DNS的根名称域名(13台根域名服务器随机选择一台)信息发给客户端;

Step C:客户端根据本地DNS服务器发出的DNS报文直接查询根域名服务器;

Step D:根域名服务器查询自己的DNS区域文件,然后将负责.com域名解析的权威DNS告诉客户端,客户端再次查询负责.com解析的DNS服务器;

Step E:.com权威名称服务器收到客户端DNS查询请求后,发现无此域名的解析就直接将下一级的二级权威名称服务器的DNS的IP(这里指microsoft.com的权威名称服务器的IP)发给DNS客户端;

Step F:客户端直接查询microsoft.com的权威名称DNS,microsoft.com权威名称服务器收到DNS查询后发现为自己负责的域名解析,并且存在该域名的A记录,直接反馈给DNS客户端,至此整个查询过程结束;

总结:DNS 服务器另外一种查询方式为迭代查询,这种查询方式下DNS 服务器会向DNS客户端提供其他能够解析查询请求的DNS服务器地址,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果为止。


转载于:https://blog.51cto.com/blief/2135412

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

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

相关文章

MFC Ribbon界面设计

Ribbon是类似于office2007样式的界面,它替代了传统的MFC程序里的菜单和工具栏 MFC默认生成的Ribbon功能少,需要我们自己添加一些控件和图片等元素使界面好看 看下面的一个界面,是VC2010示例里的 看到它与默认Ribbon样式的区别: 工…

互联网手机躁动:“周大炮”追逐“雷布斯”

摘要:周鸿祎选择非自有品牌补贴,可能是看到了小米初期的艰难,也想追求速度,绕开自制手机终端环节。于小米而言,需要解决后续机型承接、持续稳定提升产能;对360而言,需要投入巨量补贴资金&#x…

获取泛型T的ClassT clazz

在我们搭建框架中往往会用到泛型,我们知道泛型的好处是在编译的时候检查类型安全&#xff0c;并且所有的强制转换都是自动和隐式的&#xff0c;代码的重用率高 然而有时候<method>的入参并不能直接强制转换成泛型的类型,比如说下面这段代码&#xff1a; 很明显String 类…

写给大数据开发初学者的话5

见&#xff1a;http://lxw1234.com/archives/2017/01/832.htm 至此&#xff0c;你的大数据平台底层架构已经成型了&#xff0c;其中包括了数据采集、数据存储与计算&#xff08;离线和实时&#xff09;、数据同步、任务调度与监控这几大模块。接下来是时候考虑如何更好的对外提…

3.spring boot Controller获取请求参数的值

2019独角兽企业重金招聘Python工程师标准>>> 1.获取连接中的参数,使用倒的关键词PathVariable RestController public class HelloController {RequestMapping(value "/hello/{id}",method RequestMethod.GET)public String index(PathVariable("i…

断开的管道 java.io.IOException: Broken pipe 解决方法

断开的管道 java.io.IOException: Broken pipe 解决方法一、Broken pipe产生原因分析1.当访问某个服务突然服务器挂了&#xff0c;就会产生Broken pipe;2.客户端读取超时关闭了连接&#xff0c;这时服务器往客户端再写数据就发生了broken pipe异常&#xff01;二、方案1.问题一…

登录与注册

代码如下 private void btn_login_Click(object sender, EventArgs e){SqlConnection sqlconnection new SqlConnection();sqlconnection.ConnectionString ConfigurationManager.ConnectionStrings["SQL"].ConnectionString;SqlCommand sqlcommand new SqlComman…

四大电商对垒价格战:家电高库存或是推手

摘要&#xff1a;[京东、苏宁、国美、天猫等电商在家电领域的价格战&#xff0c;更多是定价方家电厂商的倒逼]  “五一”期间&#xff0c;电商企业发起的价格战硝烟仍未消散&#xff0c;如今战火又起。一种较为普遍的看法是&#xff0c;此次价格战&#xff0c;正是各家电商企…

三分钟明白 Activiti工作流 -- java运用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、 什么是工作流 以请假为例&#xff0c;现在大多数公司的请假流程是这样的 员工打电话&#xff08;或网聊&#xff09;向上级提出请…

linux命令 ps -ef 的含义

PS是LINUX下最常用的也是非常强大的进程查看命令//以下这条命令是检查java 进程是否存在. ps -ef |grep java下面对命令选项进行说明&#xff1a;-e 显示所有进程。-f 全格式。ps -e 列出程序时&#xff0c;显示每个程序所使用的环境变量。ps -f 用ASCII字符显示 树状结构 &…

vue-i18n使用及踩坑记录

使用步骤 1. 安装 npm i vue-i18n 2. vue-cli下使用 //1. 引入 vue-i18n import Vue from vue import VueI18n from vue-i18n Vue.use(VueI18n)//2. 定义messages const messages {en: {text: {hello: hello world}},zh: {text: {hello: 你好、世界}} }//如果messages字段很多…

idea搭建web项目及tomcat部署总结

该文章为引用文章&#xff0c;原地址为&#xff1a;https://www.cnblogs.com/shindo/p/7272646.html 后面有我自己搭建过程中遇到的问题及解决方案&#xff0c;请参考。 一、创建简单web项目 1、创建一个web project File -> new Project ->选择project sdk 为1.6&#x…

Activiti工作流框架学习(一)环境的搭建和数据表的了解

一、什么是工作流 工作流(Workflow)&#xff0c;就是“业务过程的部分或整体在计算机应用环境下的自动化”&#xff0c;它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行&#xff0c;从而实现某个预期的业务目标&#xff0c;或者促使…

中国消费者为何不愿为App付费?

Facebook收购Instagram之后&#xff0c;国内的开发者们唏嘘不已。Instagram的用户不过3000万&#xff0c;却能卖出10亿美元的价格。如果Instagram在国内的话&#xff0c;就算没被关闭也会被抄袭。如果通过收费来赚钱的话&#xff0c;也会因为黑卡变得颗粒无收&#xff0c;最终很…

什么是交换分区

SWAP就是LINUX下的虚拟内存 分区,它的作用是在 物理内存 使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用.它和Windows系统的交换文件作用类似&#xff0c;但是它是一段连续的磁盘空间&#xff0c;并且对用户不可见。

基础、语法都不是最重要的,学Python最重要的是什么?编程思路!

论述 一些朋友自学python过程中&#xff0c;发现书也能看懂&#xff0c;书上的玩具代码也能看懂&#xff0c;但为啥自己不能做习题&#xff0c;不能写代码解决问题&#xff0c;自己不能动手写代码&#xff1f; 原因 初学者没有学会计算思维、解决问题的方法、编程思路。编程思路…

Windows下启动,关闭Nginx命令

启动 直接点击Nginx目录下的nginx.exe 或者 cmd运行start nginx 关闭 nginx -s stop 或者 nginx -s quit stop表示立即停止nginx,不保存相关信息 quit表示正常退出nginx,并保存相关信息 重启(因为改变了配置,需要重启) nginx -s reload 转载于:https://www.cnblogs…

什么是守护进程?

守护进程是在后台运行不受终端控制的进程&#xff08;如输入、输出等&#xff09;&#xff0c;一般的网络服务都是以守护进程的方式运行。守护进程脱离终端的主要原因有两点&#xff1a;&#xff08;1&#xff09;用来启动守护进程的终端在启动守护进程之后&#xff0c;需要执行…

Activiti工作流引擎的使用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Activiti工作流引擎使用 1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百度百科&#xff1a;工作流引擎 1.1 我与工作流引…

Flurry调查报告:图片和视频应用增长速度最快

据外国媒体报道&#xff0c;移动数据分析公司Flurry近期对应用分类的欢迎度进行研究后发现&#xff0c;就用户使用的时间而言&#xff0c;“图片和视频”应用已成为增长最快的移动应用。 Flurry对各种应用分类的800多万移动用户进行了调查&#xff0c;并利用其分析工具跟踪了1…