应用层———DNS(2)

一、DNS提供的服务

人们喜欢便于记忆的主机名标识方式,而路由器则喜欢定长的、有着层次结构的IP地址。为了折中这些不同的偏好,我们需要一种能进行主机名到IP地址转换的目录服务。这就是域名系统(Domain Name System, DNS)的主要任务。
DNS是:
①一个由分层的DNS服务器(DNSserver)实现的分布式数据库;
②一个使得主机能够查询分布式数据库的应用层协议。DNS 服务器通常是运行 BIND ( Berkeley Internet Name Domain)软件[BIND 2012 ]的UNIX机器。DNS协议运行在UDP之上,使用53号端口

DNS通常是由其他应用层协议所使用的,包括HTTP、SMTP和FTP,将用户提供的主
机名解析为IP地址。举一个例子,考虑运行在某用户主机上的一个浏览器(即一个HTTP
客户)请求URL www. someschool. edu/index. html页面
1) 同一台用户主机上运行着DNS应用的客户端。
2) 浏览器从上述URL中抽取岀主机名www.someschool.edu,并将这台主机名传给
DNS应用的客户端。
3) DNS客户向DNS服务器发送一个包含主机名的请求。
4) DNS客户最终会收到一份回答报文,其中含有对应于该主机名的IP地址。
5) 一旦浏览器接收到来自DNS的该IP地址,它能够向位于该IP地址80端口的
HTTP服务器进程发起一个TCP连接。

二、DNS提供的服务

1
这些应用程序将调用DNS的客户端,并指明需要被转换的主机名(在很多基于UNIX的机器上,应用程序为了执行这种转换需要调用函数gethostbyname())。
2.
用户主机上的DNS接收到后,向网络中发送一个DNS查询报文。所有的DNS请求和
回答报文使用UDP数据报经端口 53发送。
3.
经过若干毫秒到若干秒的时延后,用户主
机上的DNS接收到一个提供所希望映射的DNS回答报文。

三、分布式、层次数据库

没有一台DNS服务器拥有因特网上所有主机的映射。相反,这些映射分布在所有的DNS服务器上

有3种类型的DNS服务器:
根DNS服务器、顶级域(Top Level Domain, TLD) DNS服务器和权威DNS服务器。这些服务器以图2-17中所示的层次结构组织起来。
在这里插入图片描述
根DNS服务器。
有400多个根名字服务器遍及全世界。这些根名字服务器由13
个不同的组织管理。根名字服务器的全部清单连同管理它们的组织及其iP地址.根名字服务器提供TLD服务器的IP地址。

顶级域
(DNS)服务器。对于每个顶级域(如com、org、net、edu和gov)和所有
家的顶级域(如uk、fr、ca和jp),都有TLD服务器(或服务器集群)。Verisign
Global Registry Services公司维护com顶级域的TLD服务器,Educause公司维护edu
顶级域的TLD服务器。支持TLD的网络基础设施可能是大而复杂的,

权威DNS服务器。
在因特网上具有公共可访问主机(如Web服务器和邮件服务器)的每个组织机构必须提供公共可访问的DNS记录,这些记录将这些主机的名字映射为IP地址。一个组织机构的权威DNS服务器收藏了这些DNS记录。一个组织机构能够选择实现它自己的权威DNS服务器以保存这些记录;另一种方法是,该组织能够支付费用,让这些记录存储在某个服务提供商的一个权威DNS服务器中。多数大学和大公司实现和维护它们自己基本和辅助(备份)的权威DNS服务器。

本地DNS服务器

一个本地DNS服务器并不属于该服务器的层次结构,但它对DNS层次结构是至关重要的。每个ISP (如一个居民区的1SP或一个机构的ISP)都有一台本地DNS服务器(也叫默认名字服务器)。

本地DNS服务器通常与主机相隔不超过几台路由器。
一个简单的例子,假设主机cse. nyu. edu 想知道主机 gaia. cs. umass. edu的IP地址。
在这里插入图片描述

四、DNS缓存

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

在一个请求链中,当某DNS服务器接收一个DNS回答(例如,包含某
主机名到IP地址的映射)时,它能将映射缓存在本地存储器中。例如,在图2・18
中,每当本地DNS服务器dns. nyu. edu从某个DNS服务器接收到一个回答,它能够
缓存包含在该回答中的任何信息。如果在DNS服务器中缓存了一台主机名/IP地址
对,另一个对相同主机名的查询到达该DNS服务器时,该DNS服务器就能够提供
所要求的IP地址,即使它不是该主机名的权威服务器。由于主机和主机名与IP地址间的
映射并不是永久的,DNS服务器在一段时间后(通常设置为两天)将丢弃缓存的信

五、DNS记录和报文在这里插入图片描述

TTL是该记录的生存时间,它决定了资源记录应当从缓存中删除的时间。在下面给岀
的记录例子中,我们忽略掉TTL字段。Name和Value的值取决于Type:
•如果Type = A,则Name是主机名,Value是该主机名对应的IP地址。因此,一条
类型为A的资源记录提供了标准的主机名到IP地址的映射。例如(Tayl.
bar. foo. com, 145. 37.93. 126, A)就是一条类型 A 记录。
•如果Type = NS,则Name是个域(如foo. com),而Value是个知道如何获得该域
中主机IP地址的权威DNS服务器的主机名。这个记录用于沿着查询链来路由DNS
查询。例如(foo.com, dns.foo.com, NS)就是一条类型为NS的记录。

•如果Type=CNAME,贝lj Value是别名为Name的主机对应的规范主机名。该记录
能够向査询的主机提供一个主机名对应的规范主机名,例如(foo.com, relay1.
bar. foo. com, CNAME)就是一条 CNAME 类型的记录。
•如果Type = MX,则Value是个别名为Name的邮件服务器的规范主机名。举例来
说,(foo.com, mail. bar. fo<). com, MX)就是一条MX记录。MX记录允许邮件服
务器主机名具有简单的别名。值得注意的是,通过使用MX记录,一个公司的邮
件服务器和其他服务器(如它的Web服务器)可以使用相同的别名。为了获得邮
件服务器的规范主机名,DNS客户应当请求一条MX记录;而为了获得其他服务
器的规范主机名,DNS客户应当请求CNAME记录。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有诗亦有远方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值