假设主机名为HelloWorld.com
,它有一个别名hw.com
,因此当我主机上的应用程序想要知道 的 IP 地址时hw.com
,此 DNS 查询将转到 的权威 DNS 服务器HelloWorld.com
。我的理解是否正确:
1.权威DNS服务器具有CNAME类型记录,例如(hw.com, HelloWorld.com, CNAME)
关联别名主机名和规范主机名。
2.当权威 DNS 服务器收到查询时,它首先检查所有具有别名主机名的 CNAME 记录,以便hw.com
检索规范主机名HelloWorld.com
,然后使用此规范主机名通过定位 A 类记录来获取并返回 IP 地址(HelloWorld.com, 145.37.93.126, A)
那么基本上权威 DNS 服务器内部会进行两次查询?
答案1
不,过程有点不同。CNAME 记录被传递给客户端,然后客户端请求原始主机名。
首先,您的客户端(浏览器)请求 hw.com。现在,您的 DNS 服务器接收请求并找到包含 helloworld.com 记录区域文件的权威 DNS 服务器。请求得到解析,客户端获得 CNAME 记录。现在,客户端从 CNAME 记录了解到 hw.com 只是 helloworld.com 的别名,并创建一个新的 DNS 查询,这次它使用其 IP 地址获取 helloworld.com 的记录。现在,客户端连接到 helloworld.com 的 IP 地址。
因此,这意味着当请求别名时,服务器仅返回 CNAME 记录,之后客户端为原始别名创建新的 DNS 查询。