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

我们知道有两种方式可以识别主机:通过主机名或者IP地址。人们喜欢便于记忆的主机名标识,而路由器则喜欢定长的、有着层次结构的IP地址。为了折中这些不同的偏好,我们需要一种能进行主机名到IP地址转换的目录服务。这就是域名系统(Domain Name System,DNS)的主要任务。

DNS运行在UDP上,使用53端口。

除了进行主机名到IP地址的转换外,DNS还提供了一些重要的服务:

·主机别名。有着复杂主机名的主机可以拥有一个或多个别名。原复杂主机名也叫规范主机名。主机别名(如果有的话)比主机规范名更容易记忆。应用程序可以调用DNS来获得主机别名对应的规范主机名以及主机的IP地址。

·邮件服务器别名。同主机别名类似,电子邮件应用程序调用DNS,对提供的邮件服务器别名进行解析,以获得该主机的规范主机名以及其IP地址。MX(Mail Exchanger,邮件交换)记录允许一个公司的邮件服务器和Web服务器用相同的(别名化的)主机名。

·负载分配。DNS也用于在冗余的服务器(如冗余的Web服务器等)之间进行负载分配。对于这些冗余的Web服务器,一个IP地址集合对应于同一个规范主机名。DNS数据库中存储着这些IP地址集合。当客户机为映射到这个IP地址集合的名字发出一个DNS请求时,该服务器用包含全部这些地址的报文回答,但在每个回答中旋转这些地址排放顺序。因为客户机通常总是向IP地址排在最前面的服务器发送HTTP请求报文,所以DNS就在所有这些冗余的Web服务器之间旋转分配负载。DNS旋转同样适用于邮件服务器,因此,多个邮件服务器可以具有相同的别名。

DNS工作机理:

DNS采用分布式的设计方案。

下面是DNS服务器的部分层次结构(由上到下,每层分别是根服务器、TLD服务器、权威服务器):

1.分布式、层次数据库

大致来说,有3种类型的DNS服务器:根DNS服务器、顶级域(Top Level Domain,TLD)DNS服务器和权威DNS服务器。

假设一个DNS客户机要确定主机名www.amazon.com的IP地址。粗略来讲,将发生下列事件:

·客户机请求根服务器以发现com TLD服务器
·客户机请求com TLD服务器以得到 amazon.com 权威服务器
·客户机请求amazon.com 权威服务器以得到对 www.amazon.com的IP地址

下面来详细介绍一下这三种类型的DNS服务器:

·根DNS服务器

在因特网上有13个根DNS服务器(标号为a到m),尽管我们将这13个根DNS服务器中的每个都视为单个的服务器,但每台“服务器”实际上是冗余服务器的群集,以提供安全性和可靠性。

·顶级域(TLD)服务器

负责com, org, net, edu等,以及所有顶级国家域 uk, fr, ca, jp.

·权威DNS服务器

组织的DNS服务器为组织的服务器(如Web和电子邮件)提供对IP映射的权威主机名。
能够由组织或服务提供商维护。

·本地DNS服务器

本地DNS服务器严格来说并不属于DNS服务器的层次结构,但它对DNS层次结构是很重要的。

        

        图 1                     图 2

在图1的例子中用到了递归查询迭代查询。从cis.poly.edu到dns.poly.edu发出的查询是递归查询,因为该查询请求dns.poly.edu以自己的名义获得该映射。而后继的三个是迭代查询,因为所有的回答都是直接返回给dns.poly.edu。

从理论上,所有的DNS查询既可以是迭代的也可以是递归的。例如,图2显示了一条DNS查询链,其中所有查询都是递归的。

实际中,查询通常遵循图1中的模式:从请求主机到本地DNS服务器的查询是递归的,其余查询是迭代的。

2.DNS缓存

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

原理:当一个DNS服务器接收一个DNS回答(例如,包含主机名到IP地址的映射)时,DNS服务器能将回答中的信息缓存在本地存储器。由于主机与主机名的IP地址映射决不是永久的,所以DNS服务器在一段时间后(通常设置为两天)将丢弃缓存的信息。

DNS记录:

实现DNS分布式数据库的所有DNS服务器共同存储着资源记录(Resource Record,RR),RR提供了主机名到IP地址的映射。下面是RR的基本格式:

Type=A  name 是主机名
         Value是IP地址
Type=NS name 是域 (如 foo.com)
     Value是该域的权威名字服务器的IP地址
Type=MX Value是与name相联系的邮件服务器
Type=CNAME Value是别名为name的主机对应的规范主机名

注:通过使用MX记录,一个公司的邮件服务器和其他服务器(如它的Web服务器)可以使用相同的别名

DNS报文:

DNS只有两种报文,即查询和回答报文,并且这两种报文有着相同的格式。

下图是DNS报文格式:

时间: 2024-08-05 09:52:22

[计算机网络-应用层] DNS:因特网的目录服务的相关文章

计算机网络-应用层

一.应用层协议原理     1.网络应用程序体系结构 应用程序的体系结构明显不同于网络的体系结构.从应用程序研发者的角度看,网络体系结构是固定的,并为应用程序提供了特定的服务集合. 应用程序体系结构(application architecture)由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序. 现代网络应用程序的两种主流体系结构:客户机/服务器体系结构和对等(P2P)体系结构. 客户机/服务器体系结构(client-sever architecture):有一个总是打开的主机称

DNS:因特网的目录服务

    作者:华科小涛,http://www.cnblogs.com/hust-ghtao/     有两种方式来识别主机:通过主机名或IP地址.人们当然喜欢便于记忆的主机名,而路由器则喜欢定长的.有层次结构的IP地址.为了折中,需要一种能进行主机名到IP地址转换的目录服务.这就是域名系统DNS.     DNS有两层含义:(1)一个由分层的DNS服务器实现的分布式数据库:(2)一个允许主机查询分布式数据库的应用层协议,DNS协议运行在UDP之上,使用53号端口.   1.分布式.层次数据库 根

[计算机网络-应用层] 因特网中的电子邮件

下图是因特网电子邮件系统的总体情况,从该图中我们可以看出它有3个重要组成部分:用户代理(user agent).邮件服务器(mail server)和简单邮件传输协议(Simple Mail Transfer Protocol,SMTP). 用户代理允许用户阅读.回复.转发.保存和撰写报文. 邮件服务器组成了电子邮件体系结构的核心.每个接收方在其中的某个服务器上有一个邮箱.邮箱包含用户的到达报文.离开(将发送)邮件报文的报文队列:在发送电子邮件报文的邮件服务器之间采用SMTP协议. SMTP是因

第六章 应用层(DNS和http协议详解)

序言 这是计算机网络基础的最后一篇博文了,大体的从物理层到最上层的应用层做了一个大概的了解,花了也有快1个月的时间了,在本章结尾会给你们我学习该课程的视频资料,我希望能帮到所有想学习想提高自己技术的同学,我看到很多厉害的的博客的文章都被锁了,我希望高手度能够帮助刚成长并且想努力提高技术的人.所以等我以后牛逼了,肯定会帮助哪些迷茫的人,因为自己曾经迷茫过,走了很多弯路. --WH 一.回顾 1.OSI体系结构分为7层:物理层.链路层.网路层.传输层.会话层.表示层.应用层. 2.TCP/IP的体系

[计算机网络-应用层] FTP协议

文件传输协议:FTP 如下图所示:用户通过一个FTP用户代理与FTP交互.该用户首先提供远程主机的主机名,使本地主机的FTP客户机进程建立一个到远程主机FTP服务器进程的TCP连接.然后,该用户提供用户标识和口令,作为FTP命令的一部分在该TCP连接上传送.一旦该服务器向该用户授权,用户就可以向远程文件系统拷贝存放在本地文件系统中的一个或多个文件(反之亦然). HTTP和FTP都是文件传输协议,并且有很多共同点.例如,他们都运行在TCP上.然而它们也有一些重要区别,其中最显著的一点就是: FTP

计算机网络-应用层(2)FTP协议

FTP 使用了两个并行的TCP 连接来传输文件: 控制连接(control connection)用于在两主机之间传输控制信息,如用户标识.口令.改变远程目录的命令以及存放(put)文件.获取(get)文件的命令. 因为FTP协议使用一个独立的控制连接,所以我们也称FTP的控制信息是带外(out-of-band) 传送的.HTTP也可以说是带内(in-band) 发送控制信息的. 数据连接(data connection) 用于实际发送一个文件HTTP 协议是在传输文件的同一个TCP 连接中发送

[计算机网络-应用层] P2P应用

首先回顾一下纯P2P架构的特点: 没有服务器 端系统之间直接通信 端系统经常改变IP 间歇性连接 下面将学习两种不同的特别适合于P2P设计的应用. 文件分发,其中应用程序从单个源向大量的对等方分发一个文件. 分布在大型对等方社区中的数据库. P2P文件分发 在P2P文件分发中,每个对等方能够重新分发它所有的该文件的任何部分,从而在分发过程中协助该服务器. 1.P2P体系结构的扩展性 为什么文件分发时P2P会比客户-服务器更加有效? 用F表示备份发文件的长度,N表示要获得该文件副本的对等方数量.分

计算机网络自顶向下方法第2章-应用层(application-layer).2

2.4 DNS:因特网的目录服务 2.4.1 DNS提供的服务 DNS的定义 实体层面看,DNS是一个由分层的DNS服务器实现的分布式数据库 协议层面看,DNS是一个使得主机能够查询分布式数据库的应用层协议 DNS运行在UDP之上,使用53号端口 1)主机名到IP地址映射的转换服务 2)主机别名(host aliasing) 3)提供负载均衡(load distribution) 2.4.2 DNS工作机理概述 DNS是一个在因特网上实现分布式数据库的精彩范例. 1.分布式.层次数据库 DNS服

计算机网络课后答案

计算机网络课后答案 第一章?概述 1-01?计算机网络向用户可以提供那些服务? 答:?连通性和共享 ? 1-02?简述分组交换的要点. 答:(1)报文分组,加首部 (2)经路由器储存转发 (3)在目的地合并 ? 1-03?试从多个方面比较电路交换.报文交换和分组交换的主要优缺点. ?????答:(1)电路交换:端对端通信质量因约定了通信资源获得可靠保障,对连续传送大量数据效率高. (2)报文交换:无须预约传输带宽,动态逐段利用传输带宽对突发式数据通信效率高,通信迅速. (3)分组交换:具有报文交