什么是DNS?
时间:2023-01-30 05:52:02 | 来源:建站知识
时间:2023-01-30 05:52:02 来源:建站知识
网络出现的早期 是使用IP地址通讯的,那时就几台主机通讯。但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件 ( Linux和windows也继承保留了这个文件)。这个文件中记录这主机名称和IP地址的对应表。这样只要输入主机名称,系统就会去加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了。
但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放hosts文件,以供下载使用。互联网规模进一步扩大,这种方式也不堪负重,而且把所有地址解析记录形成的文件都同步到所有的客户机似乎也不是一个好办法。这时DNS系统出现了,随着解析规模的继续扩大,DNS系统也在不断的演化,直到现今的多层架构体系
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址互相映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
DNS的分布数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树中路径,这棵逆向树称为域名空间(domain name space),如下图所示树的最大深度不得超过127层,树中每个节点都有一个可以长达63个字符的文本标号。
DNS系统的作用
正向解析:根据主机名称(域名)查找对应的IP地址
反向解析:根据IP地址查找对应的主机域名
DNS系统的分布式数据结构
(有兴趣可自行了解下)
1,在浏览器中输入
http://pool.btc.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
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服务器地址(
http://BTC.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找
http://pool.btc.com域服务器,重复上面的动作,进行查询,直至找到
http://pool.btc.com主机。
6,如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
也称为 唯高速缓存服务器
通过向其他域名服务器查询获得域名->IP地址记录
将域名查询结果缓存到本地,提高重复查询时的速度
特定DNS区域的官方服务器,具有唯一性
负责维护该区域内所有域名->IP地址的映射记录
也称为 辅助域名服务器
其维护的 域名->IP地址记录 来源于主域名服务器
第一段是查询参数和统计
第二段是查询内容
上面结果表示,查询域名
http://pool.btc.com的A记录,A是address的缩写
第三段是DNS服务器的答复
上面结果显示,
http://pool.btc.com有14个A记录,即14个IP地址。60是TTL值(Time to live 的缩写),表示缓存时间,即60秒之内不用重新查询
第四段显示
http://stackexchange.com的NS记录(Name Server的缩写),即哪些服务器负责管理
http://stackexchange.com的DNS记录
DNS服务器的一些传输信息
上面结果显示,本机的DNS服务器是192.168.124.1,查询端口是53(DNS服务器的默认端口),以及回应长度是292字节。
指定向DNS服务器114.114.114.114查询
指定向DNS服务器223.5.5.5查询
查询ip地址所在运营商