计算机网络应用层----DNS协议:因特网的目录服务

计算机网络应用层----DNS协议:因特网的目录服务

DNS : (domain name system) 域名系统

由于IP地址非常复杂难以记忆,我们平时访问网站时,输入的都是字母组成的字符串,而不是直接输入IP地址,但是数据在网络中传播需要IP地址,因此就需要有效管理主机名和IP地址之间的关系的系统,也就是DNS系统。

DNS系统可以维护一个用来标识组织内部主机名和IP地址之间对应关系的数据库。

DNS组成:

  • 一个由分层的DNS服务器实现的分布式数据库
  • 一个使得主机能够查询分布式数据库的应用层协议

DNS协议是运行在UDP基础上的 (为了速度更快、负载更低)

DNS协议的运行过程:

  • 用户主机上运行着DNS客户端
  • 当向浏览器输入对应的URL后,将对应的主机名传给DNS客户端
  • DNS客户向DNS服务器发送一个包含主机名的请求
  • DNS客户最终会受到一份回答报文,包含有主机名对应的IP地址
  • 一旦浏览器接收到来自DNS的该IP地址,则将通过该IP地址可以发起TCP连接

DNS的服务:

  • 进行主机名到IP地址的转换
  • 主机别名。有着复杂主机名的主机能拥有一个或多个别名,应用程序可以调用DNS来获得主机别名对应的规范主机名以及主机的IP地址
  • 邮件服务器别名。电子邮件应用程序可以调用DNS,对提供的邮件服务器别名进行解析,以获得该主机的规范主机名及IP地址
  • 负载分配。 DNS用于冗余的服务器之间进行负载均衡

DNS工作原理概述

由于单一DNS服务器将有单点故障(DNS服务器崩溃则整个因特网崩溃)、通信容量(巨量的查询)、远距离查询(非常慢的查询)、难以维护等诸多问题,且难以扩展。故DNS采用的是分布式的设计方案

[

DNS使用了大量的DNS服务器,以层次方式组织,遍布在世界范围。

DNS服务器分为三种:

  • 根DNS服务器。通常存储的是顶级域与其对应的顶级域服务器IP地址之间的映射关系
  • 顶级域DNS服务器。通常成存储的是域名与其对应的权威服务器的IP地址之间的映射关系
  • 权威DNS服务器。存储的是本地的域名与其对应的IP地址之间的映射关系

还有本地DNS服务器,虽然不属于域名服务器的层次结构,但对DNS层次结构非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器,一般做一个代理的作用。

DNS查询过程:查询 gaia.cs.umass.edu

在这里插入图片描述

  • 主机首先向本地DNS服务器发送DNS查询报文,如果本地DNS服务器有该域名对应的IP地址直接返回即可
  • 如果本地DNS服务器没有存储该域名,则本地DNS服务器将该报文转发给根DNS服务器
  • 根DNS服务器解析域名发现前缀 edu ,将向本地DNS服务器返回负责 edu 的顶级域服务器的IP地址列表
  • 本地DNS服务器收到后,将向这些顶级域服务器之一发送查询报文
  • 该顶级域服务器注意到 umass.edu 的前缀,将向本地DNS服务器返回权威DNS服务器的IP地址
  • 本地DNS服务器将报文转发到权威DNS服务器,该权威DNS服务器将发送目标IP地址到本地DNS服务器
  • 本地DNS服务器将目标IP地址发送到请求主机
  • 主机获得目标IP地址后将进行之后的TCP/IP连接

DNS在进行区域传输的时候使用TCP,普通的查询使用UDP

客户端到本地DNS服务器是属于递归查询(发出一次请求,得到一次准确结果,但消耗资源),而DNS服务器之间的交互查询就是迭代查询(发出多次请求)

DNS缓存

为了改善时延并减少因特网上传输的DNS报文数量,DNS广泛采用了缓存技术。

原理:DNS服务器收到一个DNS回答后,将会把该回答存储到本地缓存存储器中,下一次如果有相同的查询将直接返回对应IP地址即可。(缓存具有生命周期,当一段时间没有访问后将丢弃该缓存信息)

查看本地DNS配置
在这里插入图片描述

我采用的是自动获得DNS服务器地址,也可以自己配置对应的DNS服务器地址。

查询我的DNS服务器地址:
在这里插入图片描述

DNS安全问题
1.针对域名系统的恶意攻击:DDOS攻击造成域名解析瘫痪。
2.域名劫持:修改注册信息、劫持解析结果。
3.国家性质的域名系统安全事件:“.ly”域名瘫痪、“.af”域名的域名管理权变更。
4.系统上运行的DNS服务存在漏洞,导致被黑客获取权限,从而篡改DNS信息。
5.DNS设置不当,导致泄漏一些敏感信息。提供给黑客进一步攻击提供有力信息。

猜你喜欢

转载自blog.csdn.net/dingdingdodo/article/details/106531068