引言
常见的计网协议通过IP地址来识别分布式应用的主机,然而IPV4(特别是IPV6)的地址太繁琐难以使用和记忆,因此提出了使用主机名称来识别,实质是:主机名称通过称为名称解析的过程转换为IP地址。其中最常见的名称解析是采用一个分布式数据库系统——域名系统DNS,为了实现可拓展性,DNS名称是分层的。
DNS的命名语法
一个域名包含一系列的由点分开的标签,名称代表名称层级中的一个位置,句点是层次结构分隔符,并且按照名称中自右至左的顺序沿树下降。例如域名:lib.csu.edu.cn,而它的完全限定域名为lib.csu.edu.cn.root,我们在搜索域名的时候经常省略.root.DNS名称空间的层次结构允许不同的管理机构管理名称空间的不同部分。
分级查询
1.从"根域名服务器"查到"顶级域名服务器"的NS记录和A记录(IP地址)
2.从"顶级域名服务器"查到"次级域名服务器"的NS记录和A记录(IP地址)
3.从"次级域名服务器"查出"主机名"的IP地址
仔细看上面的过程,你可能发现了,没有提到DNS服务器怎么知道"根域名服务器"的IP地址。回答是"根域名服务器"的NS记录和IP地址一般是不会变化的,所以内置在DNS服务器里面。
域名分级
上述的lib.csu.edu.cn.root,其中.root称为根域名,.cn成为顶级域名(TLD),.edu是.cn的子域名,.csu是edu的子域名,lib是.csu的子域名
记录类型
A :IPv4地址记录
NS :NS记录指向该级域名的域名服务器。这些服务器知道下一级域名的各种记录,常用于CDN和负载均衡
CNAME:将一个名称映射到另一个名称
PTR : 逆向查询记录,只用于从IP地址查询域名
AAAA :IPv6地址记录