简述DNS工作原理

简述DNS工作原理,第1张

一、简述dns

DNS(domain name system)域名系统或者(domain named system)区域名称服务,分为正向与反向域名解析,适用C/S,端口路53/udp,53/tcp,属于应用层协议;

作用:人得记忆有限,如果没有dns得记下多少IP地址;从网络来说由于tcp/ip协议族是基于ip地址,所以需要一个翻译器即DNS;可以1对多也可以多对1,那么正向解析即域名解析为ip地址,反向解析即ip地址解析为域名。有人说DNS就是一个本大得电话本,说的挺贴切。

正反向解析事两个不同得名称空间,是两颗不同得解析树;

正向:ip---》主机名

反向:主机名---》ip

当今得业界标准BIND(berkeley internet name domain)dns软件

二、DNS域名

1)DNS是一个倒挂树结构示意图如下

2)按照功能命名得五个类别介绍

根域:DNS域名中使用时,规定由尾部据点()来指定名称位于根域或更高级别得域层次结构,()

顶级域:TDL(TOP LEVEL DOMAIN)用来只是某个国家地区或组织使用得类型,例如(com)

二级域:个人或组织在internet上使用得注册名称,例如163com

子域:已经注册二级域名派生得域名,就是网站名,例如>

主机名:通常情况下,DNS域名得最左侧得标签表示网络上得特定计算机,如>

名称服务器:域内负责解析本域内的名称的主机

根服务器:13组服务器

3)dns和internet域

互联网域名系统有名称注册机构负载维护分配有组织和国家/地区得顶级域在internet上进行管理。国际标准3166。

常见得DNS域名

com,商业公司

edu,教育机构

net,网络公司

gov,非军事政府机构

mil,军事政府机构

cn,代表中国

三、DNS服务器类型

主DNS服务器

从DNS服务器 (可以是多个提供容错)

缓存DNS服务器(转发器)

主DNS服务器:管理和维护所负责解析的域内解析库的服务器

从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本

1)复制 *** 作的方式

序列号serial:解析库版本号,主服务器解析库变化时,其序列递增

刷新时间间隔refresh:从服务器从主服务器请求同步解析的时间间隔

重试时间间隔retry:从服务器请求同步失败时,再次尝试时间间隔

过期时长expire:从服务器始终联系不到服务器时,多久后放弃从服务器角度,停止提供服务

否定答案的缓存时长;minimum

”通知“机制:主服务器解析库发送变化时,会主动通知从服务

2)区域传送

完全传输axfr:传送整个解析库

增量传输lxfr:传递解析库变化的那部分内容

3)区域(zone)和域(domain) 

Domain:FQDN

正向:FQDN->IP

反向:IP->FQDN

各需要一个解析库来分别负责本地域名的的正向和反向解析库

正向区域

反向区域

FQDN:fullqualified domain name 完全限定域名

如:>

四、DNS查询解析

我们在浏览器访问>

1、在浏览器中输入>

2、如果hosts里没有这个域名的映射,则会查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析记过给客户端,完成域名解析,此解析具有权威性。

4、如果要查询域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责com域的这台服务器。这台负责com域的服务器收到请求后,如果自己无法解析,它就会找一个管理com域的下一级DNS服务器地址(baiducom)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baiducom域服务器,重复上面的动作,进行查询,直至找到>

6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环。不管是本地DNS服务器用是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

在 DNS 查询 篇中,主要是根据阮一峰老师的文章所做的学习记录。讲述了通过命令 dig 来跟踪域名的查询过程,也提到了 DNS 服务器的层级结构、DNS 记录、DNS 缓存等。整体都是文字叙述,读起来会稍微有些累。这篇会通过图示来进一步简化 DNS 的解析过程,并会提到 DNS 的另一项重要作用, 负载均衡 。

首先我们来了解一下 DNS 服务器。主要有三种类型的 DNS 服务器:

DNS 服务器的层级是树状结构,如下图所示:

假设我们需要在浏览器上访问 >服务器和客户端:这是你要明白的第一个概念,现在你看到的知乎网就是把代码和数据放在服务器上,然后客户端的你在用一种叫做browser(浏览器)的玩意,你也许是用IE,也许用firefox,也许用chome,总之他们都是browser,browser的作用就是向服务器发送请求(request)和接收请求结果(response),比如 你点击网站的一个链接一个按钮,向服务器发出一个行为请求,有的请求里面带有数据的,比如你发一条微博,你无非是要请求服务器:给我微博数据库里增加一条微博数据,增加的内容就是向服务器请求的内容。
php:服务器收到请求后,他要认识解析这个请求然后开始action,指导他怎么做事情就是一些代码,比如php代码,asp代码,这些都是服务器的编程语言,有二十三种语言都可以,这些语言会被其对应的应用服务器软件认识,你的一次请求,服务器会解析运行你的请求,然后返回来一些,一些HTML文件,css文件,javasript脚本,总之可以说是一个网页需要的文件吧,返回到客户端。比如前面的请求;给我微博数据库里增加一条微博数据,这个时候服务器要去 *** 作数据库,把数据库加一条记录,如果成功,返回结果说 *** 作成功等。
html,css:请求结果返回到客户端之后,这些文件只有浏览器能认识解析,浏览器把他们拼装好,html主要是网页里面有什么内容,css是修饰这些内容,比如文字怎么排版,文字有多大,背景颜色,一些网页的动态效果由返回的js控制。这个时候,人就能够很直观地阅读服务器返回的结果内容了。
javascript:有的时候你不能什么事情总是去找服务器,服务器也觉得麻烦,这个时候,javasript应运而生,它是一种客户端脚本代码,是浏览器来执行的,就是说有些小事情他给你立即做了,不需要老远地去找服务器。比如你有个时候填写密码,密码的格式不正确,填写完提交,js脚本拦住先检查一遍合不合格,合格就通过去找服务器,不合格直接打回提醒你不合格。js能做的事情很多,它会使你的网页动起来。
数据库:数据库可以把他看作一个档案馆,一切的数据都在数据服务器硬盘里整理摆放得井井有条,数据库软件里还一些繁忙的档案管理员,有的负责取存删数据,有的负责备份或者数据安全等等。外面的软件,比如服务器通过“接口”通道向数据库进行主要是一些数据 *** 作比如增删改读等。
xml:数据是有一种物理格式的,就是说数据以某种结构组织起来的,比如你的world文档,doc可以看成一种数据的物理格式,计算机世界本质就是数据,各种各样结构和格式的数据。xml这种数据格式的好处就是一是好多好多软件都认识他,是一种公开的格式,是一种数据的通用格式,xml可做各种软件的数据通信,二是好读,符合人的阅读习惯。比较好 *** 作,编程语言直接就可以 *** 作,一般做为软件的配置文件来用。
dom节点:就是xml这类数据的组织形式,xml数据就是一个节点一个节点形成的,节点套节点。还有节点为什么这么重要,因为web的基础html也是一种变相的xml数据格式。
差不多这样,很多还是说得不够严谨,见笑了。

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地址记录到快取缓存区中 ,最后在将所查询到的结果回复给客户端 。
范例
我们举例说明,假设我们要查询网际网路上的一个名称为>是的,访问网站原理
我们举例说明,假设我们要查询网际网路上的一个名称为>

比如,一个域名为:abccom,是想看到这个现>

然后,通过WEB服务器来接收这个域名,把abccom这个域名映射到这台服务器上。那么,输入abccom这个域名就可以实现访问网站内容了即实现了域名解析的全过程。

扩展资料

本地域黑服务器查找自己的域名数据库(映射文件),将域名对应的IP地址组成一个以UDP数据报封装的DNS响应报文,返回给解析器;

若在本地域名数据库中查不到,则此域名服务器就暂时成为全球DNS中的另一个客户,并向其他域名服务器发出查询请求,直至找到能回答请求的域名服务器为止,并将解析结果响应给本地域名服务器。

参考资料来源:百度百科-域名解析

DNS服务器负责将主机名连同域名转换为ip地址 DNS的解析原理不是你想的那样,要是全Internet的主机名全放在你们公司的DNS服务器上解析,那不是累死了。 首先,Internet的域是一个树型结构,根接点由一个"中cn为高层,com为第二层,active为第三层,>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13194884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-18
下一篇 2023-06-18

发表评论

登录后才能评论

评论列表(0条)

保存