将名称服务器记录从ns1.oldserver.com更改为ns1.newserver.com时,实际发生了什么?我的意思是,什么“机器”或东西负责将用户的url查询从ns1.oldserver.com导向ns1.newserver.com?用户如何知道再也不会去ns1.oldserver.com?
同样,当我将域的A记录更改为从旧IP地址指向新IP地址时,实际发生了什么?是否与更改名称服务器记录相同?
谢谢
解决方法
然后,您的域名将在注册表中注册,该注册表具有您的名称服务器的地址(在您的示例中为ns1.oldserver.com).最后,您的域名服务器(或名称服务器,因为您应该至少有两个)提供实际请求.
想象一下,例如,客户想要访问www.domain.com.
这可以分为三个组件 – 所谓的顶级域(TLD),客户端在此示例中查询根服务器的.com.其中一个服务于此的名称服务器可能是a.gtld-servers.net – 根服务器将a.gtld-servers.net的IP地址提供给客户端 – 这些被称为NS和粘合记录.
接下来是本例中的实际域名 – domain.com.客户端查询a.gtld-servers.com以获取domain.com.然后,这可以返回ns1.domain.com和ns2.domain.com,并将相关的IP地址作为NS和粘合记录.
最后是主机名 – 本例中的www.因此,客户端将查询域名为www.domain.com的ns1.domain.com或ns2.domain.com,并获取网站的实际IP地址(A记录.)
所有这些都在几毫秒内完成. DNS解析器的典型超时为2秒.
要回到原始问题,当您更改名称服务器时,您正在更改注册表级别的NS记录(Nominet,eurID等)更改完成后,客户端查询domain.com的根服务器时,它将获得ns1.newserver.com的IP地址而不是ns1.oldserver.com.
全世界所有客户通常需要72小时才能注意到更改,因为它们会在域记录中指定的一段时间内缓存所有结果. NS记录通常缓存72小时甚至长达一周.因此,在进行更改后至少几天内不要让旧名称服务器脱机.
更改A记录与更改NS记录非常相似 – 您只需更改内容,例如更改数据库记录.下次有人查询您的记录时,它会获得新值(再次考虑缓存,但A记录要低得多,通常是1/2 – 1天.)
如果您可以访问Linux机器,请运行dig trace www.google.com,您将看到可能为您提供更好主意的完整查询链.