DNS服务器工作原理
来源:itbulo 发布时间:2008-01-11 10:15:00
DNS分为Client和Server,Client扮演发问的角色,也就是问 Server 一个Domain Name,而Server必须要回答此Domain Name的真正IP地址,DNS是怎么来作名称解析的?
DNS的工作原理
DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的的DNS询问,依此得到答案之后,将收到的答案存起来,并回答客户。
DNS服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。
在每一个名称服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对的IP地址记录快取缓存区中,这样当下一次还有另外一个客户端到次服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接可以从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。例如:
当DNS客户端向指定的DNS服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称 如果没有,该服务器会先在自己的快取缓存区中查询有无该笔纪录,如果找到该笔名称记录后,会从DNS服务器直接将所对应到的IP地址传回给客户端 ,如果名称服务器在资料记录查不到且快取缓存区中也没有时,服务器首先会才会向别的名称服务器查询所要的名称。例如:
DNS客户端向指定的DNS服务器查询网际网路上某台主机名称,当DNS服务器在该资料记录找不到用户所指定的名称时,会转向该服务器的快取缓存区找寻是否有该资料 ,当快取缓存区也找不到时,会向最接近的名称服务器去要求帮忙找寻该名称的IP地址 ,在另一台服务器上也有相同的动作的查询,当查询到后会回复原本要求查询的服务器,该DNS服务器在接收到另一台DNS服务器查询的结果后,先将所查询到的主机名称及对应IP地址记录到快取缓存区中 ,最后在将所查询到的结果回复给客户端 。
范例
我们举例说明,假设我们要查询网际网路上的一个名称为www.test.com.cn,从此名称我们知道此部主机在中国CN,而且要找的组织名称test.com.cn此网域下的www主机,以下为名称解析过程的每一步骤。
《Step 1》在DNS的客户端(Reslover)键入查询主机的指令,如:
c:\ping www.test.com.cn
pinging www.test.com.cn 【192.72.80.36】with 32bytes of data
reply from 192.72.80.36 bytes time <10ms ttl 253
《Step 2》而被指定的DNS服务器先行查询是否属于该网域下的主机名称,如果查出改主机名称并不属于该网域范围,之后会再查询快取缓存区的纪录资料,查是否有此机名称。
《Step 3》查询后发现缓存区中没有此纪录资料,会取得一台根网域的其中一台服务器,发出说要找www.test.com.cn的Request。
《Step 4》在根网域中,向Root Name Server询问,Root Name Server记录了各Top Domain分别是由哪些DNS Server负责,所以他会响应最接近的Name Server为控制CN网域的DNS伺服主机。
《Step 5》Root Name Server已告诉Local DNS Server哪部Name Server负责.cn这个Domain,然后Local DNS再向负责发出找寻www.test.com.cn的名称Request。
《Step 6》在.cn这个网域中,被指定的DNS服务器在本机上没有找到此名称的的纪录,所以会响应原本发出查询要求的DNS服务器说最近的服务器在哪里?他会回应最近的主机为控制com.cn网域的DNS伺服主机。
《Step 7》原本被查询的DNS服务器主机,收到继续查询的IP位置后,会再向com.cn的网域的DNS Server发出寻找www.test.com.cn名称搜寻的要求。
《Step 8》com.cn的网域中,被指定的DNS Server在本机上没有找到此名称的记录,所以会回复查询要求的DNS Server告诉他最接近的服务器在哪里?他就回应最接近为控制test.com.cn的网域的DNS主机。
《Step 9》原本被查询的DNS Server,在接收到应继续查询的位置,在向test.com.cn网域的DNS Server发出寻找www.test.com.cn的要求,最后会在test.com.cn的网域的DNS Server找到www.test.com.cn此主机的IP。
《Step 10》所以原本发出查询要求的DNS服务器,再接收到查询结果的IP位置后,响应回给原查询名称的DNS客户端。
两种真正DNS的查询模式
有两种询问原理,分为Recursive和Interactive两种。前者是由DNS代理去问,问的方法是用Interactive方式,后者是由本机直接做Interactive式的询问。由上例可以看出,我们一般查询名称的过程中,实际上这两种查询模式都是交互存在着的。
递归式(Recursive):DNS客户端向DNS Server的查询模式,这种方式是将要查询的封包送出去问,就等待正确名称的正确响应,这种方式只处理响应回来的封包是否是正确响应或是说是找不到该名称的错误讯息。
交谈式(Interactive):DNS Server间的查询模式,由Client端或是DNS Server上所发出去问,这种方式送封包出去问,所响应回来的资料不一定是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响应回来告诉你最接近的IP位置,然后再到此最接近的IP上去寻找所要解析的名称,反复动作直到找到正确位置。


猜你喜欢
- 说实话,今天讲这个主题纯属纸上谈兵,请各位高人莫怪,至今惭愧没有一个像样的站,不过因为经常为别人做技术以及做空间销售过程中接触过不少站长,了
- ##域名与网关项(Domain/Gateway).. Domain Name:为局域网的域名,在此为Company.mail,若无独立域名可
- 2009年岁尾z-blog又有新版放出,辞旧迎新,版本代号是“Z-Blog 1.8 Walle Build 91204”。这次升级,主要是修
- 前言由于本人是个docker控,不喜欢安装各种环境,而且安装redis-trib也有点繁琐,索性用docker来做redis cluster
- 安装apache 后默认网站是可以通过ip访问的,所以可能会有些恶意的域名指向你的网站。遇到这种情可以建一个默认的站点 (注意,要保证这个的
- Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单
- 据国外媒体报道,微软最新版本的IE浏览器存在一个安全漏洞,能够对安全的网站实施严重的安全攻击。据Register网站的两个消息来源称,IE
- 最近一段时间整个cms行业算是比较骚动,Phpcms创始人淡淡风离职,dedecms的其中一位投资人撤资,风讯拖欠员工工资估计马上也要打官司
- 先按官方整合。基本上没有问题。但有些朋友老是在细节出现问题。呵呵。我也是哈。也来和大家分享一下有问题留言但你要把你三方的图发上来。1。检查接
- 搜索引擎优化(Search Engine Optimization,SEO),也就是针对各种搜索引擎的检索特点,让网站建设和网页设计的基本要
- 当我们在计算机系统中运行一些容量较大的程序或者游戏时,系统常常会自动弹出“xx内存不能为read或written&
- .NET SDK 下载链接https://dotnet.microsoft.com/download/dotnet/6.0安装脚本https
- 1、关键字优化与搜索引擎如果网站是以html为主的静态网页,则易于被百度等搜索引擎收录;关键字及其相关词组的选择也至关重要。产品名称,特色,
- 因为需要配置固定IP,在网上找了很久终于找到一个可行的例子,自己配置成功了。1.首先获取你的GATEWAY方便后面在cento系统配置里使用
- 总共搜集了4款,大家可以根据需要下载!第一款为可直接复制文件的版本。附件:mstsc5.1.rar (312.7 KB)第二款为2
- 虚拟化1、环境Centos7.3关闭selinux,关闭防火墙2、虚拟化环境配置2.1 kvm部署安装1、 VMware 配置桥接模式2、b
- 当大多数同龄人还在靠周末辛苦打工赚一点零用钱时,16岁的英国小企业家乔纳森·格鲁宾已通过他所建立的3家网站掘出第一桶金,仅去年就赚了7.5万
- 自从好123网址之家运营取得巨大成功,特别是其被百度以1000万天价收购以来,在短短一段时间冒出大批好用123网址之家、很好123网址之家、
- 每个网站在建立和完善的时候,都在偏向于搜索引擎的嗜好,这是在流量为王的互联网时代不可避免的,毕竟百度、google等搜索引擎是流量入口。那如
- 本文实例讲述了Linux常见基本命令与用法。分享给大家供大家参考,具体如下:目标熟练使用 Linux常用的命令1> 查看文件信息:ls