"多级"网络资源名称。 DNS服务器的对应名称

时间:2018-05-11 13:26:45

标签: dns

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

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

  • 本地主机要求ISP DNS服务器(?)将名称解析为IP地址。找不到。
  • 资源名称从右向左阅读。
  • ISP DNS服务器询问ROOT服务器"哪个服务器知道about.edu?"并获取知道" .edu"
  • 的TLD服务器的IP地址
  • ISP服务器要求.edu TLD服务器为知道" .goodeggs.org"的服务器。 TLD Server向ISP返回" .goodeggs.org"的NAME服务器的地址。
  • ISP问" .goodeggs.org" NAME服务器,用于获取实际资源的地址,www.goodeggs.edu。 NAME服务器向ISP DNS服务器返回资源的地址,该服务器将资源的IP转发到本地主机应用程序。

总结:

  • ISP DNS服务器按以下顺序连接到以下服务器
  • ROOT(for .edu)
  • TLD(适用于goodeggs.edu)
  • NAME(适用于www.goodeggs.edu)<<来自此处的资源IP地址

问题!

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

,该怎么办?

www.bbc.co.uk?

服务器名为

  • ROOT(for .uk)
  • TLD1(for co.uk)
  • TLD2(适用于.bbc.co.uk)
  • NAME(适用于www.bbc.co.uk)<<来自此处的资源IP地址

(*我写这篇文章,虽然有人可能(会)投诉(这是S.E.)这不是一个问题,我问我对DNS的基本理解是否正确 - 或者不是。)

1 个答案:

答案 0 :(得分:1)

您的描述中存在一些缺陷,因此请先纠正。

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

所以,简而言之:

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

    $ 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条记录将权威名称服务器从一个“级别”链接到下一个(忽略RRSIG和{{1记录,但要特别注意观察NSEC3行以确切地显示哪个名称服务器回复了什么),最后回复。

    您有在线故障排除工具,可以通过带有块和箭头的精美图像为您提供相同的信息,例如: http://dnsviz.net/d/www.bbc.co.uk/WvW_7Q/dnssec/ (由于最终;; Received

    ,有点复杂

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

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

    上看到很多例子