DNS服务器如何工作

时间:2020-03-21 11:44:03  来源:igfitidea点击:

DNS名称服务器的简介和历史

通用顶级域名(gTLD)是TLD,例如.com,.net,.org,.edu等。

国家或者地区代码顶级域名是.in,.us,.uk等域名。

通常,我们将类似google.com的域名称为TLD,SLD的组合。

此域名系统中的每个节点都分配给一个机构或者组织进行管理。
负责特定节点的组织对该节点具有权威性。
权威性一词在DNS系统中会被多次使用。

现在,位于层次结构顶部的。
(根名称服务器)的权限属于一个名为ICANN(互联网名称与数字地址分配机构)的组织。

gTLD之类的(.com,.net)等也由ICANN管理,也委托给ICANN认可的注册服务商。
ccTLD已获得ICANN认可,可以在不同国家/地区进行管理。

DNS中的委派是一个重要的概念...我将保留另一个专门的职位,仅供委派。

了解以下事实非常重要:任何地址(例如www.theitroad.com)中最左边的部分(www)是主机名。
仅按惯例使用WWW,没有规则将www用于。
也可以命名为xyz.example.com。

在浏览器的地址列中输入www.example.com时会发生什么?

根名称服务器(.)是名称服务器层次结构中最重要的资源。
当要求任何名称服务器提供其不具备的信息时,名称服务器要做的第一件事就是询问其中一个(。
)根名称服务器。

共有13个根名称服务器,如下所示。
a.root-servers.net.
b.root-servers.net.
c.root-servers.net.
d.root-servers.net.
e.root-servers.net.
f.root-servers.net.
g.root-servers.net.
h.root-servers.net.
i.root-servers.net.
j.root-servers.net.
k.root-servers.net.
l.root-servers.net.
m.root-servers.net.

现在,默认情况下,所有DNS软件包都知道上述所有根服务器的ip地址。
这意味着所有DNS服务器都可以访问这些根服务器,而无需任何其他DNS服务器。

步骤1:客户在浏览器中输入www.example.com

步骤2:操作系统先查看/etc/host文件,首先查找www.example.com的IP地址(可以从/etc/nsswitch更改),然后查找/etc/resolv.conf作为DNS服务器的IP。
那台机器

步骤3:DNS服务器将在其数据库中搜索名称www.example.com,如果找到则会将其归还,否则将向根服务器(。
)查询该信息。

第4步:根服务器将向.com TLD名称服务器返回引荐(这些TLD名称服务器知道所有SLD的名称服务器的地址)。
在本例中,我们搜索了www.example.com,因此根服务器将向我们引荐.com TLD服务器。

如果是www.example.net,则根服务器将提供.net TLD服务器的推荐。

第5步:现在,.com的TLD服务器之一将为我们引荐到可用于example.com域的DNS服务器。

步骤6:example.com域的dns服务器现在将为客户端提供www主机的IP地址(www是主机名。

现在让我们来看看这个过程是如何工作的。

[root@myvm1 ~]# dig +trace www.google.com
; <<>> DiG 9.3.4-P1 <<>> +trace www.google.com
;; global options:  printcmd
.                       5       IN      NS      a.root-servers.net.
.                       5       IN      NS      b.root-servers.net.
.                       5       IN      NS      c.root-servers.net.
.                       5       IN      NS      d.root-servers.net.
.                       5       IN      NS      e.root-servers.net.
.                       5       IN      NS      f.root-servers.net.
.                       5       IN      NS      g.root-servers.net.
.                       5       IN      NS      h.root-servers.net.
.                       5       IN      NS      i.root-servers.net.
.                       5       IN      NS      j.root-servers.net.
.                       5       IN      NS      k.root-servers.net.
.                       5       IN      NS      l.root-servers.net.
.                       5       IN      NS      m.root-servers.net.
;; Received 228 bytes from 192.168.159.2#53(192.168.159.2) in 49 ms
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
;; Received 504 bytes from 198.41.0.4#53(a.root-servers.net) in 153 ms
google.com.             172800  IN      NS      ns2.google.com.
google.com.             172800  IN      NS      ns1.google.com.
google.com.             172800  IN      NS      ns3.google.com.
google.com.             172800  IN      NS      ns4.google.com.
;; Received 168 bytes from 192.33.14.30#53(b.gtld-servers.net) in 12 ms
www.google.com.         300     IN      A       74.125.236.48
www.google.com.         300     IN      A       74.125.236.50
www.google.com.         300     IN      A       74.125.236.51
www.google.com.         300     IN      A       74.125.236.49
www.google.com.         300     IN      A       74.125.236.52
;; Received 112 bytes from 216.239.34.10#53(ns2.google.com) in 108 ms

现在,我们可以从带有跟踪输出的dig掘中清楚地看到,该请求首先到达了根服务器。
a.root-servers.net回答了我所有.com gtld服务器的地址,b.gtld-servers.net给了我google.com的名称服务器,最后ns2.google.com回答了我 有关 www.google.com的IP地址。