Asc*_*iom 16 networking dns internet ip webserver
我知道域名由 DNS 服务器解析为 IP 地址,然后用于访问请求的服务器。我有点尴尬,因为我不知道它是如何工作的一些细节。
为了让我的计算机要求 DNS 服务解析域,我的计算机必须知道 DNS 服务器。我从来没有明确告诉我的计算机任何 DNS 服务器,那么它如何知道它应该使用哪个 DNS 服务器?是 ISP 以某种方式将此信息推送到我的计算机吗?
就此而言,这些 DNS 服务器位于何处?我的 ISP 是否有一些 DNS 服务器在某个地方运行,供其(ISP 的)所有客户使用?
我的计算机使用的 DNS 服务器必须知道所有域才能解析它们,它的记录如何更新/维护?
是否有一些中央实体/注册机构/... 为发生的 DNS 服务器更改提供信息?
如果我在某处订购域名,卖家必须在 IP 地址与其出售给我的域名之间建立连接。如何更新所有 DNS 服务器以了解此链接?换句话说,卖家采取什么行动来通知“互联网”这个域名现在指向哪里?
我知道这看起来像是一堆问题,但我认为它们只是同一个故事的不同方面。有人能告诉我这一切是如何协同工作的吗?
gho*_*oti 16
您的计算机有一个 DNS 服务器列表,它可以查询更多信息。在 unix 或 linux 系统上,它存储在/etc/resolv.conf. 在 Windows 中,它可以在您的网络设置中进行配置。通常,您的 DNS 服务器将由您的 DHCP 服务器以及其他设置(如默认域、代理服务器等)提供。
您使用的 DNS 服务器的位置无关紧要。只要您的计算机有 IP 地址和可用的默认路由(即您可以ping使用 DNS 服务器),您就应该能够进行 DNS 查询。
DNS 服务器不必知道“所有”域。他们只需要知道谁是“权威”,它从一组“根”服务器中学习。每个 DNS 服务器都有一个“根”服务器列表,这个列表很少更改。在我的一台 DNS 服务器上,配置了 18 个根服务器,这个配置是在我两年前安装 DNS 服务器时出现的,如果根服务器列表从那时起发生了变化,那么其中有足够多的我没有访问过注意到了。
当我的 DNS 服务器被要求解析一个它不知道的域时,它会查询根服务器以找出对该域具有权威性的其他 DNS 服务器。它得到的响应可能包含额外的“NS”记录并被标记为非权威,在这种情况下,我的 DNS 服务器知道它必须“遵循链”并对新服务器进行新查询。最终,它会找到提供权威信息的 DNS 服务器,并且可以进行不只是 NS 记录的查询。A(地址)和MX(邮件交换)当然是最常见的两种。
每个 TLD(顶级域),如 COM、NET、ORG、CA、UK 等,都维护自己的子域注册。(“子域”是另一个域中的任何域,因此“example.com”是“com”中的子域,而“com”甚至是“.”中的子域,“根”。)每个注册表的规则仅适用于它管理的 TLD——也就是说,每个国家/地区代码 TLD 都有一套完全不同的标准,“通用”TLD 由具有不同政策的不同组织管理。但是他们都为他们的 TLD 维护 DNS 服务器,从命令行,您可以使用基本的 DNS 查询工具查看:
[ghoti@pc ~]$ host -t ns ca.
ca name server c.ca-servers.ca.
ca name server e.ca-servers.ca.
ca name server z.ca-servers.ca.
ca name server a.ca-servers.ca.
ca name server f.ca-servers.ca.
ca name server sns-pb.isc.org.
ca name server j.ca-servers.ca.
ca name server k.ca-servers.ca.
ca name server tld.isc-sns.net.
ca name server l.ca-servers.ca.
[ghoti@pc ~]$ host -t ns info
info name server c0.info.afilias-nst.info.
info name server d0.info.afilias-nst.org.
info name server b2.info.afilias-nst.org.
info name server b0.info.afilias-nst.org.
info name server a2.info.afilias-nst.info.
info name server a0.info.afilias-nst.info.
[ghoti@pc ~]$
Run Code Online (Sandbox Code Playgroud)
当您从注册商(其中有很多)购买域时,该注册商会向注册管理机构提交有关该域名的信息(每个 TLD 只有一个)。每个注册管理机构都有责任维护其 TLD 内已注册域的列表,并维护向其他服务器提供此信息的 DNS 服务器。