1.4因特网目录服务DNS

DNS提供的服务

因特网上的主机可以使用两种方式来标识:IP地址主机名,在不同的场景中可能其中一种更加适合于表示主机。比如,我们比较喜欢使用主机名这种便于记忆的表示如www.baidu.com。而路由器则喜欢定长的有结构层次的IP地址。因此需要一种进行主机名到IP地址转换的目录服务这就是域名系统(DNS)DNS协议运行在UDP上,使用53号端口号

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

DNS协议通常是由其他应用层协议所使用的,包括HTTP、SMTP和FTP,将用户提供的主机名解析为IP地址。当某个用户主机上的一个浏览器请求URLwww.someschool.edu/index.html时过程如下:

想获得的IP地址通常就缓存在一个“附近的”DNS服务器上,有助于减少DNS的网络流量和DNS的平均时延。

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

主机别名:调用DNS获得主机别名对应的规范主机名以及主机IP地址

邮件服务器别名:调用DNS对提供的邮件服务器别名进行解析以获得该主机的规范主机名及其IP地址

负载分配:繁忙的站点被冗余分布在多台服务器上,DNS可以调用整个IP地址集合,循环这些地址次序从而在冗余服务器之间实现了负载分配。

DNS工作机理

DNS使用大量服务器,并且以层次方式组织分布在全世界范围内。大致来说有3种类型的DNS服务器:根DNS服务器、顶级域(TLD)DNS服务器和权威DNS服务器。如下图所示:

根DNS服务器   因特网上有13个根DNS服务器(标号为A到M),注意这里每个根DNS服务器实际是一个冗余服务器的网络

顶级域(TLD)DNS服务器  负责顶级域名如com、org、net、edu和gov等,以及所有国家的顶级域名uk、fr等

权威DNS服务器  在因特网上具有公共可访问主机的每个组织机构必须提供公共可访问的DNS记录,这些记录将这些主机的名字映射为IP地址

另外还有本地DNS服务器它严格来说不属于该服务器的层次结构。每个ISP(如一个大学、一个公司、一个住宅区等)都有一台本地DNS服务器,该服务器拥有多台本地DNS服务器IP地址。

不考虑DNS缓存时,各种DNS服务器交互如下图所示。其中从请求主机到本地DNS服务器为递归查询,后三次查询为迭代查询。

另外,为了改善时延性能并减少在因特网上到处传输的DNS报文数量,DNS广泛使用了缓存技术,即DNS缓存。效果类似于Web缓存器,也是将之前接收到的DNS回答信息缓存到本地DNS服务器中,再次访问时不必查询任何其他DNS服务器。

DNS记录和报文

共同实现DNS分布式数据库的所有DNS服务器存储了资源记录(RR)RR提供了主机名到UP地址的映射。每个DNS回答报文中包含了一条或多条资源记录。

其中TTL为该记录的生存时间,他决定了资源记录应当从缓存中删除的时间。对于Name,Value和Type如下:

DNS的查询报文和回答报文具有相同的形式,如下图所示:

 

 前面讲了如何从DNS数据库中取数据,那么这些数据是如何进入数据库的呢?

使用DNS服务前需要在注册登记机构注册域名,注册登记机构验证该域名唯一性,将该域名输入DNS数据库,对提供的服务收取少量费用。

完成这些步骤后,人们将能够访问你的Web站点,并发送电子邮件。

猜你喜欢

转载自blog.csdn.net/weixin_39722922/article/details/88357819