首页 > 解决方案 > “多级”网络资源名称。DNS服务器的对应名称

问题描述

(如果我理解)当我的应用程序希望通过 IP 与网络资源通信时,如果使用 DNS 解析(?)/IP 地址的名称如下(*),则基本步骤如下。

考虑一个 3 级资源名称:www.goodeggs.edu

总之:

问题!

如果我的资源名称有三个以上的节点,例如

www.bbc.co.uk ?

服务器是否命名

(* 我正在写下来,尽管有人可能(将)抱怨(例如 SE)这不是一个问题,我问的是我对 DNS 的基本理解是否正确 - 或不正确。)

标签: dns

解决方案


你的描述有几个缺陷,所以先纠正一下。

今天,QNAME 最小化不是常态,这意味着在每一步都询问整个名称,而不是被标签分解。

所以,简而言之:

  1. 您查询递归名称服务器
  2. 如果它在本地缓存中有答案并且 TTL 没有过期,它会直接回复你,故事结束
  3. 如果没有,它会为您启动递归过程:从根开始询问名称;每个对名称不具有权威性的权威名称服务器将返回一个 NS 记录列表以供下一步询问(这也将全部被缓存),依此类推,直到一个名称服务器权威地回复您的特定请求,在这种情况下递归名称服务器作业已结束,它将回复存储在其缓存中,然后也将其提供给您。

您可以使用dig +traceoption 来查看它,例如:

$ dig +trace www.bbc.co.uk

; <<>> DiG 9.12.0 <<>> +trace www.bbc.co.uk
;; global options: +cmd
.           352520 IN NS l.root-servers.net.
.           352520 IN NS c.root-servers.net.
.           352520 IN NS d.root-servers.net.
.           352520 IN NS a.root-servers.net.
.           352520 IN NS j.root-servers.net.
.           352520 IN NS f.root-servers.net.
.           352520 IN NS h.root-servers.net.
.           352520 IN NS m.root-servers.net.
.           352520 IN NS g.root-servers.net.
.           352520 IN NS k.root-servers.net.
.           352520 IN NS e.root-servers.net.
.           352520 IN NS b.root-servers.net.
.           352520 IN NS i.root-servers.net.
.           444986 IN RRSIG NS 8 0 518400 (
                20180523050000 20180510040000 39570 .
                iCesuUeD36Re2VEdzRbmFh28kIeNo/Qpb0fi8r1/vu79
                ShjbkB1j2ySalLUYt1AgYQegkU/62/bw+G9i1hbFDGu3
                zvbr+VDxQWHX5tkeXNz0+JujJ/ITfFItTSD8LSmXyJcF
                QP6YNwNQ5f5WzBy4SiURgXCYhyOrcviIlXOa+9QuEpE+
                kGj/NZp2YNR6CMWhv0ImOgwdzZG8gF83LM6a/RLoaFG1
                6EwWBgrhZksnUzHS9Hv3MKVpIZMGnQA/QRUJMB+LyZeQ
                CcnWoAzchGTVxmTf6Wlhdj+MhuaQ656KMxbTaPrGzjfr
                vyYq6KmIrto/kS9Rc9NsaV6IA7fLqxvaIw== )
;; Received 1097 bytes from 192.168.10.229#53(192.168.10.229) in 2 ms

uk.         172800 IN NS dns1.nic.uk.
uk.         172800 IN NS dns4.nic.uk.
uk.         172800 IN NS nsa.nic.uk.
uk.         172800 IN NS nsd.nic.uk.
uk.         172800 IN NS nsc.nic.uk.
uk.         172800 IN NS nsb.nic.uk.
uk.         172800 IN NS dns3.nic.uk.
uk.         172800 IN NS dns2.nic.uk.
uk.         86400 IN DS 43876 8 2 (
                A107ED2AC1BD14D924173BC7E827A1153582072394F9
                272BA37E2353BC659603 )
uk.         86400 IN RRSIG DS 8 1 86400 (
                20180524050000 20180511040000 39570 .
                YisP01VEWwakIJeUgDGu+JkWdbEe6DHYwvboX9ngd95e
                rbZb3EeDU3ieS8x+qcGWpmXtwLnec2A2aoBvXTZjLdP3
                a01mIdOSzlBLXJz6ejXKRyc1/a7DkxxtzCZTa89JVbGy
                lIwgCxS/CXdo2A3M+sc7YGBd14XgTu0l1Z1ZZMm9ZWF3
                W3gjdKDiGMKFRolZbxyhUwacIhaxIOFsgkHfKiGyONe1
                Qx8O1kIy0NhMKOYcw05183tTO4zd1w1UJRidr1jyVwFl
                i+UhL5nVsXOwh1HaeiiIMwLLXVeP2d5ISaO/2dA4KEhZ
                wC3KPlJvl3gF8e7fiEs6OrbYgCmvZ7o3VQ== )
;; Received 797 bytes from 198.41.0.4#53(a.root-servers.net) in 139 ms

bbc.co.uk.      172800 IN NS ns4.bbc.net.uk.
bbc.co.uk.      172800 IN NS ns3.bbc.net.uk.
bbc.co.uk.      172800 IN NS ns3.bbc.co.uk.
bbc.co.uk.      172800 IN NS ns4.bbc.co.uk.
G9F1KIIHM8M9VHJK7LRVETBQCEOGJIQP.co.uk. 10800 IN NSEC3 1 1 0 - (
                G9HKV8PHGJ1NMH94L9RMIQM0J64UCIPK
                NS SOA RRSIG DNSKEY NSEC3PARAM
                TYPE65534 )
G9F1KIIHM8M9VHJK7LRVETBQCEOGJIQP.co.uk. 10800 IN RRSIG NSEC3 8 3 10800 (
                20180614141322 20180510140235 33621 co.uk.
                j1bmaifCFfs1u84HWglaeTxZLTAd4b+a7Lr/1+JwrrcB
                7TlQhEPkbgTIaLUUkySPJfxY+tdkfaRFrzbheLgXbE+u
                qSOmuHxhuhHSFsDhaYfEbSCaWB/J+7JKgQOSHbhVnF0m
                rD7DMDKbYTcalNNB0VlTdhiSumd0oGyqohugqvw= )
TP2SFUK8GL59V3TCVHK2DBGOD4LP2VPK.co.uk. 10800 IN NSEC3 1 1 0 - (
                TP40D2GKG41E62VT49B179FKD8QU8D56
                NS DS RRSIG )
TP2SFUK8GL59V3TCVHK2DBGOD4LP2VPK.co.uk. 10800 IN RRSIG NSEC3 8 3 10800 (
                20180610203629 20180506202704 33621 co.uk.
                AdiIoWpWjQuUGMqLvWbKidEGsw86ZUTgJFZjeO6qfYKr
                MlbkII+8dm6kp2EZsMRuzRcP6/pUYDK0rn99Rmx5JRsj
                ISLeyDG4kM2/eDMxfObZEe1zZSxIxoZmRzV6ZWJ3QIFt
                9zFT2hq7eLQfHJKzZ8unzsl8r2l6xrncSUsNZxs= )
;; Received 733 bytes from 156.154.102.3#53(nsc.nic.uk) in 74 ms

www.bbc.co.uk.      300 IN CNAME www.bbc.net.uk.
;; Received 68 bytes from 156.154.65.17#53(ns4.bbc.net.uk) in 73 ms

您可以准确地看到查询了哪些名称服务器,从根目录开始,以及回复,首先仅NS记录将权威名称服务器从一个“级别”链接到下一个“级别”(忽略RRSIGNSEC3记录,但要特别注意查看;; Received行以准确显示哪个名称服务器回复了什么),最后是答复。

您有在线故障排除工具,可以为您提供带有块和箭头的漂亮图像的相同信息,例如: http ://dnsviz.net/d/www.bbc.co.uk/WvW_7Q/dnssec/ (有点复杂,因为决赛CNAME

所以问题不完全是点的数量。区域切割不一定发生在每个点。例如gouv.frandfr在同一个区域中,没有区域切割,权威名称服务器 forgouv.fr与 for 相同fr。这是一种设计选择。

TLD 是一个宽松的术语。它通常是最正确标签的同义词,但这并不总是正确的。以前只能注册.co.uk域名,.uk不能直接注册。在这种情况下,您可以说.co.uk是 TLD。有许多注册机构仍在使用这样的子域。您还有不同级别的多个不同注册机构的案例:例如,您可以在.com和 下注册域.uk.com,两者都由不同的“注册机构”处理(他们可以在那里谈论它的业务方面,但我只关注技术它的另一面,说明 DNS 就像一棵树,从技术上讲,一切都可以发生在同一个节点上,与它的深度无关)。你可以说那.uk.com是一个 SLD二级域名(名称)。但是其他注册表可以在第三级,以此类推(例如过去.US非常深,至少有 4 或 5 级至少编码美国州,然后是县,然后是学校类型等。你可以在https://en.wikipedia.org/wiki/.us上看到很多例子)


推荐阅读