递归DNS是如何解析域名的
目录
我们拿解析www.360.cn
域名为例说明.
1. 递归DNS从它本地配置的13台根权威DNS的一个IP
发起查询请求www.360.cn
.
2. 根权威DNS
返回CN权威DNS
的域名和IP地址, 并把它们缓存下来.
3. 递归DNS
根据某种算法向CN权威DNS
的某一个IP地址请求www.360.cn
.
4. CN权威DNS
返回360.cn权威DNS
的域名, 有如下6个域名:
|
|
但没有对应的IP地址, 因为这些域名是com
域的, CN权威DNS
没法对其他顶级域的域名配置A记录
解析, 只能配置NS记录
解析. CN权威DNS
配置的相关记录举例:
|
|
这个配置一般是要求域名托管商帮忙提交的(一般都有自助web页面), 域名托管商有对顶级域权威DNS
的部分写入权限.
然后递归DNS
将这些NS记录
缓存下来.
5. 递归DNS
按照dns1/2/3/7/8/9
的顺序向根IP
查询这些NS域名
的A记录
, 比如选择了查询dns2.360safe.com
, 过程如下:
根权威IP返回com的权威NS和A记录, 递归DNS随机向com的一个权威IP发起查询dns2.360safe.com
, com权威IP返回360safe.com
权威NS和A记录(此处成对出现的NS记录和A记录就是所谓的胶水记录, 因为360safe.com
的NS域名是360safe.com
自身的子域名, 所以还需要配置这些NS域名的A记录, 否则会发生查询死循环. com权威DNS
上配置的相关胶水记录举例:
|
|
递归DNS随机向360safe.com
的一个权威IP发送查询dns2.360safe.com
的A记录.
在递归DNS随机向360safe.com
的一个权威IP发送完查询dns1/2/3/7/8/9
的UDP包后, 在没有全部得到响应的情况下, 同时又随机向360safe.com
的一个权威IP发送查询www.360.cn
的UDP包.
360safe.com
权威IP几乎在同时收到了dns1/2/3/7/8/9.360safe.com
的A记录结果和www.360.cn
的A记录结果.