DNS的运行机制
域命名空间
- DNS的本质是分布式数据库,通过域名来进行索引。每个域名本质上是一颗大型逆向树的一条路径,这棵逆向树就是域命名空间。
域名
- 如果根节点(以”.”和一个空标签结束)出现在一个域名的结尾时,称之为完全限定域名(fully qualified domain name, FQDN),它能准确地标识出一个节点在层次结构中的位置。
域
资源记录
- 与域名相关的数据都被包含在资源记录(resource record, RR)中。记录按照所关联的网络或软件的类型被分成不同的类。
名称服务器和区域
- 存储域命名空间信息的程序称作名称服务器(nameserver)。名称服务器通常只拥有域命名空间某一部分的完整信息,这一部分称作区域(zone)。加载区域后,名称服务器可宣称对此区域具有权威(authority)。
- 区域和域的区别:所有的顶级域以及许多二级域和更低级别的域通过授权被划分成了更小更好管理的单元,这些单元就是区域。
名称服务器的类型
- primary master:其区域数据来源于主机上的文件
- slave(secondary master):其区域数据来源于primary master或者另外一台slave。
解析
解析器
- 解析器是访问名称服务器,从域命名空间获取信息的客户端程序。
递归查询
- 当名称服务器接收到递归查询请求时,如果它能够回答,就直接返回查询结果。如果它不能回答,那么它递归检查自己是否知道域名的权威名称服务器,如果知道,就给该权威名称服务器发送查询请求,如果不知道,则再检索上一级域名的权威名称服务器,直到检索根域名,此时将直接向根服务器发起查询请求。
迭代查询
- 在迭代查询请求中,收到请求的名称服务器只会返回它认为的“最佳答案”,即返回解析结果或者它所知道的和域名最相近的权威名称服务器。
往返时间
- 往返时间(roundtrip time,RTT)是同一区域的不同名称服务器的选择依据。
缓存
- 名称服务器在处理递归查询时,会遇到许多与域命名空间有关的信息,它会记录下每次遇到的名称服务器、地址和对应的区域。这样既能加快处理查询请求的速度,也能减少向根服务器查询的次数。
生存时间
- 生存时间(time to live,TTL)是名称服务器允许数据在缓存中存放的时间,如果到期,名称服务器就会丢弃过期数据,并从权威名称服务器获取新的数据。
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.