DNS系列一:DNS查询原理(精选3篇)
上图中,DNS客户机查询DNS服务器,要求获得某台计算机的IP,由于DNS服务器能够根据自己DNS数据库中对应查询,所以它将自己资源记录中的www.luwenju.com=192.168.1.100返回给客户机。
客户机把所要访问的计算机名交给DNS服务器,然后服务器开始查询。DNS服务器查询有四种:1、递归查询 2、迭代查询 3、转发器 4、私有根
下面分别这4中查询方法
1、递归查询:
当DNS客户机发送给DNS服务器要求解析某个计算机名时,DNS服务器首先查找自己的数据库,如果数据库中有对应的域名和IP的映射信息,则把该域名所对应的IP地址返回给客户机。如果服务器在自己的数据库中没有发现该资源记录,则宣告查询失败
首先DNS客户机向DNS服务器发起查询请求,然后DNS服务器开始检查资源记录,如果找到该资源记录,则把它返回给客户机,
如找不到,可以通过转发器和根提示来查找该记录。如果DNS服务器通过任何方法都没找到该记录,则宣告查询失败。
2、迭代查询:
迭代查询指的是一台DNS服务器发往令外一台DNS服务器的查询
① 客户机向本地DNS服务器发起请求,问www.luwenju.com的IP地址是多少?
② 本地DNS服务器收到DNS客户机的迭代查询,根服务器作出相应,提供靠近所提交域名的DNS服务器的IP地址
③ 本地DNS服务器向靠近所提交的DNS服务器发起迭代查询,以此类推,直到本地DNS服务器收到所要查询的资源记录
④ DNS服务器收到资源记录后发送给本地DNS服务器
⑤ 本地DNS服务器将资源记录回应给DNS客户机
3、转发器
转发器通过内部DNS服务器把用户的发来的请求(内部DNS服务器无法解析的请求)转发给外部网络上的DNS服务器进行解析
①客户机向本地DNS服务器发起DNS请求:www.luwenju.com的IP是?
②本地DNS服务器自己的资源记录中没有该记录,由于配置了转发功能,把DNS客户机发的请求转发给了外网的DNS服务器
③外网DNS服务器把资源记录返回给本地DNS服务器
④本地DNS服务器把该记录回应给客户机
4、私有根
在这篇文字中讨论的更多是FE们能够伸手处理或者通过达成共识的方法来进行快速推动Tech们协助的一些事情.
OK, 我们慢慢把浏览器的工作过程掰细了看吧.
首先, 我们先整一个浏览器如何找到一个网站的简易工作原理 – DNS查询:
首先当用户在浏览器的地址栏中敲入了网站的网址 ( 比如: alibaba.com ) ,这时浏览器会首先通过访问的域名来定位到IP (DNS) 从而找到去哪里获取资源, 这时, 浏览器会依次进行如下查找:
1. 浏览器缓存 :
浏览器首先会在自己的缓存中查找有没有对应的域名 – IP匹配, 如果好运的话, 这里就可以直接尝试去访问资源了, 如果运气平平则往下走吧.
2. 系统缓存 :
浏览器缓存中没有命中, 浏览器会告诉操作系统:”嘿, 我在我自己口袋里没找到, 可能丢了, 我得去你那看看”, 然后, 一个系统进程(?)调取系统中的DNS缓存进行查询, 重复上一条的运气判断…
3. 路由器缓存 :
走到这, 运气还真不太好啊, 操作系统也没辙了, 那怎么办呢, 向路由去要要看吧… 重复运气判断…
4. ISP DNS缓存 :
好吧, 真不知道说运气好还是运气不好了, 不废话, 去ISP (网络提供商) 的DNS缓存服务器中寻找了, 一般情况下, 在ISP端的缓存中都能找到相应的缓存记录了, 不该这么背了, 或者… 您的ISP有够菜…
5. 递归搜索…
最无奈的情况发生了, 在前面都没有办法命中的DNS缓存的情况下, ISP的DNS服务器开始从root域名服务器开始进行递归, 顺序是从.com顶级域名服务器到alibaba的域名服务器, 再没找到…好吧, 您认为您要去的网站真的公开存在么…?
要强调的是, 不只是对网站第一次的域名访问需要做这样一次查询工作, 在对页面中的资源引用的域名解析时一样会有这样的一系列工作. 最明显的就是启用全新域名来做静态资源存储服务时, 基本上上述的1 – 5个步骤都得走上几遍. 才能让新域名在各DNS缓存服务器上留下记录.
在这个话题上, 关于DNS的类似系统级的解决方案不是FE能够控制得了的, 我们q可以在涉及到DNS时有些小Tips来从中做些事情.
好吧, 第一项.DNS相关的优化:
常规实践 : DNS解析的复杂性决定了不当的使用多域名获取资源会造成不必要的性能开销. 在WPO中, 很多优化工作是很艺术的, 在DNS和HTTP这两方面优化是就可以看到这个神奇的艺术性:
DNS的优化, 当然是尽可能少的造成DNS查询开销, 而在HTTP优化的策略中有一项优化措施是避免单域名下连接数的缺陷来进行资源多通道下载, 实施的细节会在 中详细介绍, 在这里只是简单的提一下, 静态资源多域名服务可以绕过浏览器单域名载入资源时并行连接数的限制, DNS优化需要我们尽可能少的域名解析, HTTP优化时需要我们适当的使用多域名服务, 那怎么样让两个优化实践都能够比较好的实施呢? [todo]
优雅降级 : 在某些现代浏览器 ( Google Chrome, Firefox 3.5+ ) 中, 已经能够支持DNS的预取了, 怎么个预取呢? 就是在浏览器加载网页时, 对网页中的或者的href属性中的域名进行后台的预解析(上文中的 1- 5步), 并且将解析结果缓存在浏览器端, 当用户在真正点击链接时, 省去在当下的DNS解析消耗, 把这个消耗过程转嫁到用户无法感知的浏览过程中去.
第一, 现代浏览器已经支持且默认打开了DNS Prefetch的功能. 当然也可以通过浏览器的配置来管理该功能:
用Firefox3.5+可以这样: 浏览器默认就打开了HTTP协议下的DNS预取功能, 默认关闭HTTPS协议下的DNS预取功能, 可通过 about:config 的 network.dns.disablePrefetch 和network.dns.disablePrefetchFromHTTPS <两个选项来控制两种协议下的预取功能.>
Chrome管理DNS Prefetch方法暂时缺少.
第二, 可以通过用meta信息来告知浏览器, 我这页面要做DNS预取:
第三,可以使用link标签来强制对DNS做预取:
DNS软件包的安装、根域的构建、localhost的构建、负载均衡的实现、正向子域委派的实现
项目描述:1、可以根据环境完成DNS的架设
实验步骤:
步骤一:Dns软件包的安装
AS3中软件包的位置为:第三张光盘/RedHat/RPMS
AS3中软件包的名称:
AS3中软件包安装的截图:
www.xxlinux.com
确定软件包的安装效果
编辑推荐负载均衡技术基础专题
当前,无论在企业网、园区网还是在广域网上,即使按照当时最优配置建设的网络,业务量的发展都超出了过去..
减压新方法:缓存服务器负载均衡Websphere MQ负载均衡的强化分析基础和进阶的eigrp负载均衡设定EIGRP负载均衡过程全解Python负载均衡的尝试
步骤二:DNS负载均衡的基本搭建
根域的构建方法:
Localhost正向和反向域的构建方法
在客户端进行测试的效果为:
编辑推荐负载均衡技术基础专题
当前,无论在企业网、园区网还是在广域网上,即使按照当时最优配置建设的网络,业务量的发展都超出了过去..
减压新方法:缓存服务器负载均衡Websphere MQ负载均衡的强化分析基础和进阶的eigrp负载均衡设定EIGRP负载均衡过程全解Python负载均衡的尝试
步骤三:DNS负载均衡
何为负载均衡,负载均衡的作用?
一个域名对应多个IP地址,
提高用户对服务器的访问速度
负载均衡的实现(图)
编辑推荐负载均衡技术基础专题
当前,无论在企业网、园区网还是在广域网上,即使按照当时最优配置建设的网络,业务量的发展都超出了过去..
减压新方法:缓存服务器负载均衡Websphere MQ负载均衡的强化分析基础和进阶的eigrp负载均衡设定EIGRP负载均衡过程全解Python负载均衡的尝试
步骤四:DNS的子域委派
为什么需要子域委派?
方便管理 提高DNS的解析性能,实现通信负载
正向子域委派的实现(图)
编辑推荐负载均衡技术基础专题
当前,无论在企业网、园区网还是在广域网上,即使按照当时最优配置建设的网络,业务量的发展都超出了过去..
减压新方法:缓存服务器负载均衡Websphere MQ负载均衡的强化分析基础和进阶的eigrp负载均衡设定EIGRP负载均衡过程全解Python负载均衡的尝试
反向子域委派有几种模型?
有两种
1:所有的子域在同一网段。
2:所有的不在一个网段
两种反向子域委派的大概实现思路是怎样的?
不同子网段(主配置文件/etc/named.conf)
★ 归根究底,探讨数据流负载均衡
★ 例题解析Web服务负载均衡WEB服务器
★ 管理心理学实操手册
★ 实操活动总结报告范文
★ 会计实操的心得体会
★ 银行实操实习报告
★ 会计实操工作总结体会
★ 技校实操教学改革论文
★ 集团公司管控实操:财务管控
【DNS系列一:DNS查询原理】推荐阅读:
党员电化教育系列一06-08
七一系列活动实施方案10-29
习近平一系列重要讲话精神09-20
出生证明查询09-08
个人征信记录查询06-27
中考成绩查询09-18
房产档案查询10-25
学生信息查询系统05-30
企业信用报告查询须知06-05
查询部工作流程06-15