DNS小述

微信公众号:Vegout

如有问题或建议,请公众号留言

小引

当我们在浏览器中输入一个Url,并按下回车时,会经历以下几步:

1、解析出url中的域名

2、通过DNS服务将域名转化为IP地址

3、解析出url中的端口,通过IP地址和端口与对应的计算机建立TCP链接

4、在TCP链接上进行应用通信

5、关闭链接

第二步就是今天的主题

DNS简介

DNS全称是Domain Name System,中文是域名系统。首先它是一个分布式数据库,由分层的DNS服务器组成;其次,它是一个应用层协议,使得主机能够通过这个协议来查询分布式数据库,DNS协议运行在UDP之上,使用53号端口。

四种DNS服务器

根DNS服务器:全球有13个根DNS服务器(每个服务器并不是单机,为了提高安全性可用性,每“个”根DNS服务器其实是一个服务器网络),记录了顶级域DNS服务器的IP地址列表。

顶级域DNS服务器:这些服务器负责顶级域名,如com、org、net、cn等等。记录了对应顶级域名下的域对应的权威DNS服务器的IP地址(或者是可以获取到这个权威DNS服务器IP地址的中间服务器地址)

权威DNS服务器:这个服务器一般在所查询主机拥有者手里或者在服务提供商手里,提供具体域名到IP的映射记录。

本地DNS服务器:每个机构比如大学、小区、公司一般都有自己的一个本地DNS服务器,它一般是这个局域网下计算机默认的首位DNS服务器,主要就是缓存从以上三种服务器中得到的资源记录,减少DNS解析的步骤。

解析步骤

1、首先查询本地hosts文件中是否可以解析,如果不可以则向本地DNS服务器请求解析。

2、本地DNS服务器如果缓存了请求的域名,则直接返回它的IP;如果没有缓存,则向根DNS服务器请求解析,根服务器返回对应的顶级域DNS服务器地址,本地服务器再向顶级域DNS服务器请求解析。(更多的情况是本地DNS服务器已经缓存了顶级域DNS服务器的地址,而跳过了访问根服务器这一步)

3、顶级域DNS服务器再次返回请求解析的域名对应的权威DNS服务器IP(也可能返回一个中间服务器地址,通过这个服务器得到权威DNS服务器IP),然后本地服务器通过这个权威DNS服务器得到最终需要的IP地址。

4、本地DNS服务器将得到的IP和对应的域名缓存起来,并返回给请求解析的主机。

资源记录

这个过程中传输的都是DNS报文,报文中我们最需要关注的就是他的资源记录(RR)。资源记录是一个包含了四个字段的记录(Name,Value,Type,TTL)。最后一个字段代表了这个记录的生存时间,也就是缓存何时失效。而第一个字段Name和第二个字段Value,他俩的含义取决于第三个字段Type。Type有四种取值:

①当Type=A时,Name就是主机名,Value就是主机名对应的IP地址。

②如果Type=NS,那么Name就是一个域(如baidu.com),Value是可以获得这个域中主机IP地址的权威DNS服务器的主机名。比如(baidu.com,dns.baidu.com,NS,TTL)就是一条类型为NS的记录。

③如果Type =CNAME,则Name是一个别名,而Value是它的规范主机名。

④如果Type = MX,Name是一个邮件服务器的别名,Value是它的规范主机名。

通过这个Type我们可以看出DNS至少有两个作用,一是IP映射,二是别名映射。其实除了这两个还有一个作用就是负载均衡。DNS服务器可以让一个主机名映射到一个IP集合,每次解析出IP集合中的一个IP。这样同一个服务的压力分散到了多个物理机上面,实现负载均衡。

(DNS三个作用:①别名映射 ②IP映射 ③负载均衡)

小栗子

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181108G14BT000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券