美文网首页计算机网络
《计算机网络——自顶向下方法》应用层——DNS

《计算机网络——自顶向下方法》应用层——DNS

作者: YAN_DAOJIANG | 来源:发表于2020-02-11 19:53 被阅读0次

    DNS:因特网的目录服务

    因特网上的主机和人类一样,可以使用多种方式进行标识。主机的一种标识方法是用它的主机名(如cnn.com),然而,主机名几乎没有提供主机在因特网中的位置信息,由于这些原因主机也可以使用所谓的IP地址进行标识。IP地址由4个字节组成,并且有着严格的层次结构。其中每个字节都被句点隔开,表示了0~255的十进制数字,具有层次结构是因为从左到右扫描IP地址时,我们能够得到越来越具体的关于主机位于因特网何处的信息。

    DNS提供的服务

    域名系统(DNS)提供了主机名到IP地址转换的目录服务。
    DNS是:

    • 一个由分层的DNS服务器实现的分布式数据库;
    • 一个使得主机能够查询分布式数据库的应用层协议。
      DNS协议运行在UDP之上,使用53号端口。
      DNS通常是其他应用层协议所使用的,包括HTTP,SMTP和FTP,将用户提供的主机名解析为IP地址。下面是应用浏览器请求URL时的一个转换过程:
    • 同一台用户主机上运行着DNS应用的客户端;
    • 浏览器从上述URL中抽出主机名,并将主机名传给DNS应用的客户端;
    • DNS客户想DNS服务器发送一个包含主机名的请求;
    • DNS客户最终会受到一份回答报文,其中包含有对应于该主机名的IP地址;
    • 一旦浏览器接收到来自DNS的该IP地址,它能够向位于该IP地址80端口的HTTP服务器发起一个TCP连接。
      通过上面的这个过程我们也能够看到DNS给使用它的因特网应用带来了额外的时延。
      除了主机名到IP地址的转换外,DNS还提供了一些重要的服务:
    • 主机别名
    • 邮件服务器别名
    • 负载分配

    DNS工作机理概述

    如果运行在用户主机上的某些应用程序需要将主机名转换为IP地址,这些应用程序将调用DNS的客户端,并指明需要被转换的主机名(在很多基于UNIX的机器上,进行这种转换需要调用函数gethostname())。用户主机上的DNS接收到后,向网络红发送一个DNS查询报文。所有的DNS请求和回答报文使用UDP数据报经端口53发送。
    为什么DNS不采用集中式数据库?主要是因为这种设计包含以下问题:

    • 单点故障
    • 局部流量过大
    • 远距离延迟
    • 维护
      因此DNS采用的分布式的设计方案:
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


      image

    分布式、层次数据库

    大致来说,有三种类型的DNS服务器:根DNS服务器、顶级DNS服务器和权威DNS服务器。
    还有另外一类重要的DNS,称为本地DNS服务器,每个ISP都有一台本地DNS服务器。当主机发出DNS请求时,该请求被发往本地DNS服务器,它起着代理的作用,并将请求转发到DNS层次服务器中。
    域名解析是通过迭代加递归的方式进行的。
    [站外图片上传中...(image-f2a15e-1581422010159)]

    DNS缓存

    DNS缓存是DNS系统一个非常重要的特色,是为了改善实验性能并减少在因特网上到处传输DNS报文而采用的技术。

    DNS记录与报文

    共同实现DNS分布式数据库的所有服务器存储了资源记录(RR),RR提供了主机名到IP地址的映射。每个DNS回答报文包含了一套或者多条资源记录。
    资源记录是一个包含了下列字段的4元组:
    (Name, Value, Type, TTL)
    TTL是该记录的生存时间,他决定了资源记录应当从缓存中删除的时间。Name和Value的值取决于Type:

    • Type = A , 则Name是主机名,Value是主机名对应的IP地址;因此,一条类型为A的资源记录提供了标准的主机名到IP地址的映射;
    • Type = NS,则Name是个域,Value是个知道如何获得该域中主机IP地址的权威DNS服务器主机名;
    • Type = CNAME,则Value是别名为Name的主机名对应的规范主机名;
    • Type = MX,Value是个别名为Name的邮件服务器的规范主机名。

    相关文章

      网友评论

        本文标题:《计算机网络——自顶向下方法》应用层——DNS

        本文链接:https://www.haomeiwen.com/subject/eqcffhtx.html