您所在的位置:星座分析>星座分析>农历

dns工作原理 dns工作原理及流程

时间:2024-04-20 23:05:54 浏览量:

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于dns工作原理 dns工作原理及流程的文章,本文对文章dns工作原理 dns工作原理及流程好好的分析和解答,希望你能喜欢,只有你喜欢的内容存在,只有你来光临,我们才能继续前行。6TF星座分析

dns工作原理 dns工作原理及流程

5分钟教你搞懂 DNS

DNS也叫网域名称系统,是互联网的一项服务。它实质上是一个域名和IP相互映射的分布式数据库,有了它,我们就可以通过域名更方便的访问互联网。6TF星座分析

DNS特点有分布式的,协议支持TCP和UDP,常用端口是53,每一级域名的长度限制是63,域名总长度限制是253。6TF星座分析

最早的时候,DNS的UDP报文上限大小是512字节,所以当某个response大小超过512(返回信息太多),DNS服务就会使用TCP协议来传输。后来DNS协议扩展了自己的UDP协议,DNS client发出查询请求时,可以指定自己能接收超过512字节的UDP包,这种情况下,DNS还是会使用UDP协议。6TF星座分析

分层的数据库结构:6TF星座分析

DNS的结构跟Linux文件系统很相似,像一棵倒立的树。下面用站长之家的域名举例:最上面的.是根域名,接着是顶级域名,再下来是站长之家域名chinaz依次类推。使用域名时,从下而上。s.tool.chinaz就是一个完整的域名,www.chinaz也是。6TF星座分析

之所以设计这样复杂的树形结构,是为了防止名称冲突。这样一棵树结构,当然可以存储在一台机器上,但现实世界中完整的域名非常多,并且每天都在新增、删除大量的域名,存在一台机器上,对单机器的存储性能就是不小的挑战。6TF星座分析

另外,集中管理还有一个缺点就是管理不够灵活。可以想象一下,每次新增、删除域名都需要向中央数据库申请是多么麻烦。所以现实中的DNS都是分布式存储的。6TF星座分析

根域名服务器只管理顶级域,同时把每个顶级域的管理委派给各个顶级域,所以当你想要申请下的二级域名时,找域名注册中心就好了。二级域名,再向下的域名就归你管理了。6TF星座分析

一般情况下,能不自建就不要自建,因为维护一个高可用的DNS也并非容易。据我所知,有两种情况需要搭建自己的nameserver:6TF星座分析

搭建对内的DNS。公司内部机器众多,通过ip相互访问太过凌乱,这时可以搭建对内的nameserver,允许内部服务器通过域名互通。公司对域名厂商提供的nameserver性能不满意。6TF星座分析

虽然顶级域名注册商都有自己的nameserver,但注册商提供的nameserver并不专业,在性能和稳定性上无法满足企业需求,这时就需要企业搭建自己的高性能nameserver,比如增加智能解析功能,让不同地域的用户访问最近的IP,以此来提高服务质量。6TF星座分析

概括一下DNS的分布式管理,当把一个域委派给一个nameserver后,这个域下的管理权都交由此nameserver处理。这种设计一方面解决了存储压力,另一方面提高了域名管理的灵活性。6TF星座分析

顶级域名像这样的顶级域名,由ICANN严格控制,是不允许随便创建的。顶级域名分两类:通用顶级域名,国家顶级域名。6TF星座分析

通用顶级域名常见的如、.org、.edu等,国家顶级域名如我国的.cn,美国的.us。一般公司申请公网域名时,如果是跨国产品,应该选择通用顶级域名。6TF星座分析

如果没有跨国业务,看自己喜好(可以对比各家顶级域的服务、稳定性等再做选择)。这里说一下几个比较热的顶级域,完整的顶级域参见维基百科。6TF星座分析

meme顶级域其实是国家域名,是黑山共和国的国家域名,只不过它对个人开发申请,所以很多个人博主就用它作为自己的博客域名。6TF星座分析

io很多开源项目常用io做顶级域名,它也是国家域名。因为io与计算机中的input/output缩写相同,和计算机的二机制10也很像,给人一种geek的感觉。相较于.域名,.io下的资源很多,更多选择。6TF星座分析

DNS解析流程:6TF星座分析

聊完了DNS的基本概念,我们再来聊一聊DNS的解析流程。当我们通过浏览器或者应用程序访问互联网时,都会先执行一遍DNS解析流程。6TF星座分析

标准glibc提供了libresolv.so.2动态库,我们的应用程序就是用它进行域名解析(也叫resolving)的,它还提供了一个配置文件/etc/nsswitch.conf来控制resolving行为,配置文件中最关键的是这行:6TF星座分析

hosts:files dns myhostname。6TF星座分析

上图主要描述了client端的解析流程,我们可以看到最主要的是第四步请求本地DNS服务器去执行resolving,它会根据本地DNS服务器配置,发送解析请求到递归解析服务器(稍后介绍什么是递归解析服务器),本地DNS服务器在/etc/resolv.conf中配置。下面我们再来看看服务端的resolving流程:6TF星座分析

我们分析一下解析流程:6TF星座分析

客户端向本地DNS服务器(递归解析服务器)发出解析//tool.chinaz域名的请求,本地dns服务器查看缓存,是否有缓存过//tool.chinaz域名,如果有直接返回给客户端;如果没有执行下一步。6TF星座分析

本地dns服务器向根域名服务器发送请求,查询顶级域的nameserver地址,拿到域名的IP后,再向 nameserver发送请求,获取chinaz域名的nameserver地址。6TF星座分析

继续请求chinaz的nameserver,获取tool域名的地址,最终得到了//tool.chinaz的IP,本地dns服务器把这个结果缓存起来,以供下次查询快速返回。6TF星座分析

本地dns服务器把把结果返回给客户端,递归解析服务器vs权威域名服务器,我们在解析流程中发现两类DNS服务器,客户端直接访问的是递归解析服务器,它在整个解析过程中也最忙。它的查询步骤是递归的,从根域名服务器开始,一直询问到目标域名。6TF星座分析

递归解析服务器通过请求一级一级的权威域名服务器,获得下一目标的地址,直到找到目标域名的权威域名服务器,简单来说:递归解析服务器是负责解析域名的,权威域名服务器,是负责存储域名记录的。6TF星座分析

递归解析服务器一般由ISP提供,除此之外也有一些比较出名的公共递归解析服务器,如谷歌的8.8.8.8,联通的114,BAT也都有推出公共递归解析服务器,但性能最好的应该还是你的ISP提供的,只是可能会有DNS劫持的问题。6TF星座分析

缓存,由于整个解析过程非常复杂,所以DNS通过缓存技术来实现服务的鲁棒性。当递归nameserver解析过//tool.chianaz域名后,再次收到//tool.chinaz查询时,它不会再走一遍递归解析流程,而是把上一次解析结果的缓存直接返回。6TF星座分析

并且它是分级缓存的,也就是说,当下次收到的是//www.chinaz的查询时,由于这台递归解析服务器已经知道//chinaz的权威nameserver,所以它只需要再向//chinaz nameserver发送一个查询www的请求就可以了。6TF星座分析

根域名服务器的地址是固定的,目前全球有13个根域名解析服务器,这13条记录持久化在递归解析服务器中:6TF星座分析

为什么只有13个根域名服务器呢,不是应该越多越好来做负载均衡吗?之前说过DNS协议使用了UDP查询,由于UDP查询中能保证性能的最大长度是512字节,要让所有根域名服务器数据能包含在512字节的UDP包中,根服务器只能限制在13个,而且每个服务器要使用字母表中单字母名。6TF星座分析

智能解析,就是当一个域名对应多个IP时,当你查询这个域名的IP,会返回离你最近的IP。由于国内不同运营商之间的带宽很低,所以电信用户访问联通的IP就是一个灾难,而智能DNS解析就能解决这个问题。6TF星座分析

智能解析依赖EDNS协议,这是google起草的DNS扩展协议,修改比较简单,就是在DNS包里面添加origin client IP,这样nameserver就能根据client IP返回距离client比较近的server IP了。6TF星座分析

国内最新支持EDNS的就是DNSPod了,DNSPod是国内比较流行的域名解析厂商,很多公司会把域名利用DNSPod加速。6TF星座分析

一般我们要注册域名,都要需要找域名注册商,比如说我想注册//hello,那么我需要找域名注册商注册hello域名。的域名注册商不止一家,这些域名注册商也是从ICANN拿到的注册权,参见如何申请成为.域名注册商。6TF星座分析

域名注册商都会自建权威域名解析服务器,比如你在狗爹上申请一个.下的二级域名,你并不需要搭建nameserver,直接在godaddy控制中心里管理你的域名指向就可以了,原因就是你新域名的权威域名服务器默认由域名注册商提供。6TF星座分析

当然你也可以更换,比如从godaddy申请的境外域名,把权威域名服务器改成DNSPod,一方面加快国内解析速度,另一方面还能享受DNSPod提供的智能解析功能。6TF星座分析

用bind搭建域名解析服务器,由于网上介绍bind搭建的文章实在太多了,我就不再赘述了,喜欢动手的朋友可以网上搜一搜搭建教程,一步步搭建一个本地的nameserver玩一玩。这里主要介绍一下bind的配置文件吧。6TF星座分析

bind的配置文件分两部分,bind配置文件和zone配置文件,bind配置文件位于/etc/named.conf,它主要负责bind功能配置,如zone路径、日志、安全、主从等配置其中最主要的是添加zone的配置以及指定zone配置文件。6TF星座分析

开启递归解析功能,这个如果是no,那么此bind服务只能做权威解析服务,当你的bind服务对外时,打开它会有安全风险,如何防御不当,会让你的nameserver被hacker用来做肉鸡zone的配置文件在bind配置文件中指定,下图是一份简单的zone配置:6TF星座分析

zone的配置是nameserver的核心配置,它指定了DNS资源记录,如SOA、A、CNAME、AAAA等记录,各种记录的概念网上资料太多,我这里就不重复了。其中主要讲一下SOA和CNAME的作用。6TF星座分析

SOA记录表示此域名的权威解析服务器地址。上文讲了权威解析服务器和递归解析服务器的差别,当所有递归解析服务器中有没你域名解析的缓存时,它们就会回源来请求此域名的SOA记录,也叫权威解析记录。6TF星座分析

CNAME的概念很像别名,它的处理逻辑也如此。一个server执行resloving时,发现name是一个CNAME,它会转而查询这个CNAME的A记录。一般来说,能使用CNAME的地方都可以用A记录代替,它是让多个域名指向同一个IP的一种快捷手段。6TF星座分析

这样当最低层的CNAME对应的IP换了之后,上层的CNAME不用做任何改动。就像我们代码中的硬编码,我们总会去掉这些硬编码,用一个变量来表示,这样当这个变量变化时,我们只需要修改一处。6TF星座分析

配置完之后可以用named-checkconf和named-checkzone。两个命令来check我们的配置文件有没有问题,之后就可以启动bind服务了:$>service named start,Redirecting to/bin/systemctl restart named.service。6TF星座分析

我们用netstat-ntlp,来检查一下服务是否启动,53端口已启动,那么我们测试一下效果,用dig解析一下域名,使用127.0.0.1作为递归解析服务器。6TF星座分析

我们看到dig的结果跟我们配置文件中配置的一样是1.2.3.4,DNS完成了它的使命,根据域名获取到IP。用DNS实现负载均衡,一个域名添加多条A记录,解析时使用轮询的方式返回随机一条,流量将会均匀分类到多个A记录。www IN A1.2.3.4,www IN A1.2.3.5。6TF星座分析

其实每次DNS解析请求时,nameserver都会返回全部IP,如上面配置,它会把1.2.3.4和1.2.3.5都返回给client端。那么它是怎么实现RR的呢?nameserver只是每次返回的IP排序不同,客户端会把response里的第一个IP用来发请求。DNS负载均衡vs LVS专业负载均衡。6TF星座分析

和LVS这种专业负载均衡工具相比,在DNS层做负载均衡有以下特点:实现非常简单,默认只能通过RR方式调度,DNS对后端服务不具备健康检查。6TF星座分析

DNS故障恢复时间比较长(DNS服务之间有缓存),可负载的rs数量有限(受DNS response包大小限制),真实场景中,还需要根据需求选择相应的负载均衡策略子域授权。6TF星座分析

注意第一阶段和第二阶段的区别:第一阶段,A部门想申请//a.hello下的子域名,需要向上级申请,整个//a.hello域的管理都在总公司;第二阶段,A部门先自己搭建nameserver,然后总公司把http://a.hello域管理权转交给自建的nameserver。6TF星座分析

A部门自建nameserver,并且在zone配置文件中指定//a.hello的权威解析服务器为自己的nameserver地址,总公司在nameserver上增加一条NS记录,把//a.hello域授权给A部门的nameserver。6TF星座分析

在http://hello.域的nameserver上添加一条NS记录:a.hello. IN NS ns.a.hello.ns.a.hello. IN A xx.xx.xx.xx(自建nameserver的IP)。6TF星座分析

这样当解析http://xx.a.hello.域名时,//hello. nameserver发现配置中有NS记录,就会继续递归向下解析,DNS调试工具,OPS常用的DNS调试工具有:host,nslookup,dig。6TF星座分析

这三个命令都属于bind-utils包,也就是bind工具集,它们的使用复杂度、功能依次递增。关于它们的使用,man手册和网上有太多教程。DNS放大攻击属于DoS攻击的一种,是通过大量流量占满目标机带宽,使得目标机对正常用户的请求拒绝连接从而挂掉。6TF星座分析

思路正常的流量攻击,hack机向目标机建立大量request-response,但这样存在的问题是需要大量的hack机器。因为服务器一般的带宽远大于家用网络,如果我们自己的家用机用来做hack机器,还没等目标机的带宽占满,我们的带宽早超载了。6TF星座分析

原理DNS递归解析的流程比较特殊,我们可以通过几个字节的query请求,换来几百甚至几千字节的resolving应答(流量放大),并且大部分服务器不会对DNS服务器做防御。6TF星座分析

那么hacker们只要可以伪装DNS query包的source IP,从而让DNS服务器发送大量的response到目标机,就可以实现DoS攻击。6TF星座分析

但一般常用的DNS服务器都会对攻击请求做过滤,所以找DNS服务器漏洞也是一个问题。详细的放大攻击方法自行google。6TF星座分析

简述DNS工作原理

一、简述dns6TF星座分析

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

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

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

正向:ip---》主机名6TF星座分析

反向:主机名---》ip6TF星座分析

当今得业界标准BIND(berkeley internet name domain)dns软件6TF星座分析

二、DNS域名6TF星座分析

2)按照功能命名得五个类别介绍6TF星座分析

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

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

二级域:个人或组织在internet上使用得注册名称,例如163.com6TF星座分析

子域:已经注册二级域名派生得域名,就是网站名,例如www.163.com6TF星座分析

主机名:通常情况下,DNS域名得最左侧得标签表示网络上得特定计算机,如www,mail,zhidao6TF星座分析

名称服务器:域内负责解析本域内的名称的主机6TF星座分析

根服务器:13组服务器6TF星座分析

3)dns和internet域6TF星座分析

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

常见得DNS域名6TF星座分析

com,商业公司6TF星座分析

edu,教育机构6TF星座分析

net,网络公司6TF星座分析

gov,非军事政府机构6TF星座分析

mil,军事政府机构6TF星座分析

cn,代表中国6TF星座分析

三、DNS服务器类型6TF星座分析

主DNS服务器6TF星座分析

从DNS服务器 (可以是多个提供容错)6TF星座分析

缓存DNS服务器(转发器)6TF星座分析

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

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

1)复制操作的方式6TF星座分析

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

刷新时间间隔refresh:从服务器从主服务器请求同步解析的时间间隔6TF星座分析

重试时间间隔retry:从服务器请求同步失败时,再次尝试时间间隔6TF星座分析

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

否定答案的缓存时长;minimum6TF星座分析

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

2)区域传送6TF星座分析

完全传输axfr:传送整个解析库6TF星座分析

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

3)区域(zone)和域(domain)6TF星座分析

Domain:FQDN6TF星座分析

正向:FQDN->IP6TF星座分析

反向:IP->FQDN6TF星座分析

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

正向区域6TF星座分析

反向区域6TF星座分析

FQDN:fullqualified domain name 完全限定域名6TF星座分析

如:www.baidu.com.6TF星座分析

四、DNS查询解析6TF星座分析

我们在浏览器访问www.baidu.com这个域名,dns怎么查询到这台主机那?6TF星座分析

1、在浏览器中输入www.baidu.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个ip地址映射,完成域名解析。6TF星座分析

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

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

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

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

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

DNS是什么?一文彻底搞懂DNS的原理机制

在我们的网络世界中,尽管我们习惯于通过易于记忆的域名访问网站,但实际通信却依赖于IP地址。这就是DNS(Domain Name System)的神奇作用,它像一座桥梁,将抽象的域名与具体的IP地址连接起来。DNS采用client/server模式,如Windows nslookup工具,让我们能够轻松获取网站的IP地址,让互联网体验更为直观和便捷。6TF星座分析

DNS是一个分布式数据库系统,其核心功能是将诸如www.tsinghua.edu.cn这样的域名解析为相应的IP地址。DNS的结构层次分明,由根域、顶级域和二级域名组成,如国家代码.cn、通用顶级域.com等,每个域名都有其独特的FQDN(完全合格域名)格式,确保信息的准确性和唯一性。6TF星座分析

解析过程详解:当我们在浏览器中输入一个域名时,DNS解析首先在本地进行。如果本地的缓存中有该域名的IP,那么就会迅速返回。如果没有,DNS客户端会向上级服务器递归查询,直至找到顶级域名服务器或根服务器。根服务器再将请求转发到相应的权威域名服务器,最终找到目标IP。整个过程遵循自顶向下的递归查询原则,同时利用辅助服务器的冗余配置,提高效率和可靠性。6TF星座分析

DNS使用53号端口进行通信,支持UDP和TCP协议。UDP适合快速查询,而TCP在处理大报文时更为稳定。查询方式有递归和迭代,递归查询是客户端请求答案,而迭代查询则需要客户端持续查询直到找到答案。正向查询是查找域名到IP的常见操作,反向查询则通过in-addr.arpa域进行。6TF星座分析

在企业网络中,DNS代理的作用尤为重要。它不仅接收DNS请求,还能本地解析后转发或直接提供答案,这样就简化了网络管理,只需调整DNS代理的配置,即可方便地更新DNS服务器地址,避免了为每个DNS客户端单独设置的繁琐。6TF星座分析

总结来说,DNS是网络通信中的关键组件,它确保了我们能通过简单的域名快速访问互联网,其内部机制的高效运作使得我们的在线体验更为流畅。深入了解DNS的工作原理,能帮助我们更好地理解和优化网络环境。6TF星座分析

以上内容是小编精心整理的关于dns工作原理 dns工作原理及流程的精彩内容,好的文章需要你的分享,喜欢dns工作原理 dns工作原理及流程这篇精彩文章的,请您经常光顾吧!6TF星座分析

本文标题:dns工作原理 dns工作原理及流程

本文链接:http://www.xzfx123.com/article/112374.html

上一篇:王者荣耀工作室 王者荣耀工作室代练

下一篇:更多农历

网友留言

(网友评论仅供其表达个人看法,并不表明本站立场)

猜你喜欢
农历相关文章
更多农历文章
喜欢农历就经常来哦!