DNS起源
|时间线|事件|详情|
||||
|20世纪60年代末|美国国防部高级研究计划局(ARPA,后来的DARPA)资助建立试验性计算机网络ARPAnet,用以连接美国各重要研究部门,最初,ARPAnet规模较小,仅需要一个HOSTS.TXT文件来记录主机名和IP地址的映射关系,该文件由SRI的网络信息中心(NIC)负责维护,并通过一台单独的主机SRINIC分发,随着ARPAnet的增长,这种通过单个文件管理的方式逐渐变得不可行。|
|20世纪70年代|ARPAnet采用TCP/IP协议后,网络上的主机数量爆炸性增长,HOSTS.TXT文件面临诸多问题,每台主机的变更都会导致HOSTS.TXT文件变化,所有主机需到SRINIC获取更新文件,造成网络流量大、分发主机负载高;HOSTS.TXT文件难以确保主机名字的唯一性,易出现名称冲突;在不断扩张的网络中,维持HOSTS.TXT文件的一致性也变得困难。|
|1983年|Paul Mockapetris发布了DNS的管理规范,原始技术规范在882号因特网标准草案(RFC 882)中发布,标志着DNS正式诞生,1987年发布的第1034和1035号草案修正了DNS技术规范,并废除了之前的第882和883号草案。|
工作原理
DNS是一个基于分布式数据库的分层结构系统,用于将域名解析为IP地址,其结构类似树状,最顶端是根服务器,下一层是顶级域(如.com、.cn等通用域和国家域),再下面是二级域名,以及可能的三级或四级域名。
当用户在浏览器中输入一个网址时,DNS会从根服务器开始逐步查询,最终找到对应的IP地址并将其返回给用户,这个过程称为域名解析,具体过程如下:
1、检查本地hosts文件:操作系统先检查自己本地的hosts文件是否有该网址映射关系,如果有则直接调用IP地址映射完成域名解析。
2、查找本地DNS解析器缓存:若hosts文件中没有相关映射,则查找本地DNS解析器缓存,若有则直接返回结果。
3、向首选DNS服务器查询:如果本地DNS解析器缓存也没有相应网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器进行查询,若该域名包含在本地配置区域资源中,则返回解析结果给客户机,此解析具有权威性;若不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用IP地址映射完成解析,此解析不具有权威性。
4、转发查询或迭代查询:如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置进行查询,若未用转发模式,本地DNS就把请求发至13台根DNS服务器,根DNS服务器收到请求后判断该域名由谁授权管理,并返回负责该顶级域名服务器的IP,本地DNS服务器收到IP信息后,联系负责该顶级域的服务器,重复上述动作直至找到最终的IP地址;若用了转发模式,本地DNS服务器会把请求转发至上一级DNS服务器,由上一级服务器解析,直到得到结果并返回给本地DNS服务器,再由本地DNS服务器返回给客户机。
相关问题与解答
1、问:为什么需要域名系统(DNS)?
答:在互联网中,每台设备都有一个唯一的IP地址用于标识自身,但这些数字形式的IP地址对于人类来说非常难以记忆和管理,而域名系统(DNS)可以将人们容易记住的域名转换为机器能够识别的IP地址,大大简化了人们访问互联网的方式,提高了互联网的可用性和便捷性,如果没有DNS,用户将不得不记住复杂的数字串即IP地址来访问网站,这无疑会极大地降低互联网的使用门槛和用户体验。
2、问:DNS的层次结构是怎样的?
答:DNS是一个基于分布式数据库的分层结构系统,最顶层是根服务器,全球共有13台根服务器(实际上是13个集群,通过任播技术实现全球分布),它们记录着所有顶级域名服务器的地址,下一层是顶级域名服务器,负责管理在该服务器注册的所有二级域名,比如对.com、.cn等顶级域名进行解析操作的就是顶级域名服务器,再下面是权威域名服务器,针对某个具体域名进行解析设置,给出最终的域名解析结果,最后是本地域名服务器,它不属于DNS树状结构体系中的核心部分,但在域名解析过程中起到了重要的桥梁作用,负责接收主机的DNS查询请求,并向根域名服务器、顶级域名服务器、权威域名服务器等进行全球解析查询,直到获得最终的解析结果并告知客户主机。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/162871.html