的基本原理

的基本原理,第1张

DNS原理入门

它是互联网技术的关键协议之一。无论是上网还是编程、开发、设计,都要掌握它的一些专业知识。

本文详细讲解了DNS的基本原理,以及如何使用软件工具观察其运行。我的梦想是,看完这篇文章,你也会对DNS有一个透彻的了解。

1.什么是DNS?

DNS(域名系统的简称)的功能比较简单,就是根据域名找到IP地址。你可以把它想象成一本巨大的电话簿。

例如,如果你需要浏览域名math.stackexchange.com,你应该首先根据DNS找到它的IP地址是151.101.129.69。

如果你不知道为什么一定要找出IP地址才能启动通信网络,建议你先看看我写的《互联网协议导论》这篇文章。

二、探究的全过程

虽然只需要返回一个IP地址,但是DNS查询的整个过程比较复杂,可以分成几个过程。

Dig这个软件工具,可以展示信息的整个查询过程。

$挖math.stackexchange.com

上面的命令将输出六条信息。

第一段是查询主要参数和统计分析。

第二段是查询的内容。

以上结果表明,在查询域名math.stackexchange.com的A记录时,A是address的缩写。

第三段是DNS服务器的响应。

以上数据显示,math.stackexchange.com有四个A记录,即四个IP地址。00是TTL值(生存时间的简称),表示缓存文件时间,即600秒内不需要再次查询。

第四段显示stackexchange.com(域名服务器的简称)的DNS记录信息,即哪个服务器部门管理stackexchange.com的DNS记录。

以上数据显示,stackexchange.com有4个NS记录,即4个域名服务器。你可以通过查询其中任何一个来找到math.stackexchange.com的IP地址。

第五段是上面四个域名服务器的IP地址,和上一段一起返回。

第六段是DNS服务器传输的一些信息。

以上数据显示,该设备的DNS服务器为192.168.1.253,查询端口号为53(DNS服务器默认设置端口号),其回复长度为305字节。

如果不想看那么多内容,可以应用short的主参数。

$挖短math.stackexchange.com

151.101.129.69

151.101.65.69

151.101.193.69

151.101.1.69

上述指令只返回与math.stackexchange.com匹配的四个IP地址(即A记录)。

三。DNS服务器

根据前面的例子,我们一步一步来恢复。设备是如何获得域名math.stackexchange.com的IP地址的?

第一,设备必须知道DNS服务器的IP地址,否则无法上网。根据DNS服务器,可以知道一个域名的IP地址是什么。

DNS服务器的ip地址,可能是动态的,每次上线都是由网关IP分配的,称为DHCP系统;可以,也可能是事先特定的固定地址。在linux系统软件中,DNS服务器的IP地址存储在/etc/resolv.conf文件中。

上例中的DNS服务器是192.168.1.253,这是一个内部网地址。也可以使用一些外部网络地址的DNS服务器,其中最著名的有Google的8.8.8.8和Level3的4.2.2.2。

设备只查询自己的DNS服务器,dig命令有一个@main参数,显示向其他DNS服务器查询信息的结果。

$dig@4.2.2.2math.stackexchange.com

上述指令专门查询DNS服务器4.2.2.2。

第四,域名的级别

为什么DNS服务器知道每个域名的IP地址?回答分层查询。

请仔细看前面的例子。每个域名的末尾都多了一个点。

例如,域名math.stackexchange.com显示的信息为math.stackexchange.com。不是不小心,只是所有域名的末尾其实都有一个根域名。

例如,www.example.com的真实域名是www.example.com.root,缩写为www.example.com。因为根域名。root对于所有域名都是一样的,通常会被省略。

根域名的下一级称为“顶级域名”(简称TLD),如。com和。网;;下一级称为“二级域”(简称SLD),比如。以www.example.com为例,这是客户可以申请注册的域名;下一级是IP地址(主机),比如www.example.com的www,也叫“三级域名”。是客户分配给自己域内服务器的名称,客户可以随意分配。

综上所述,域名的层次结构如下。

IP地址。次级线圈域名。顶级域名。根域名

#那就是

主机.sld.tld.root

动词(verb的缩写)根域名服务器

DNS服务器根据域名的等级进行分级分类查询。

必须确立每个级别域名都有自己的NS记录,且NS记录偏向该级别域名的域名服务器。这种服务器知道下一级域名的各种记录。

说白了,“分级分类查询”就是从根域名开始,依次查询每一级域名的ns记录,直到找到最后一个IP地址。整个过程大概如下。

从"根域名服务器"查到"顶尖域名服务器"的NS记录和A记录(IP地址) 从"顶尖域名服务器"查到"次级线圈域名服务器"的NS记录和A记录(IP地址) 从"次级线圈域名服务器"查出来"IP地址"的IP地址

仔细看上面的整个过程,你大概会注意到,没有提到DNS服务器如何判断“根域名服务器”的IP地址。响应“根域名服务器”的NS记录和IP地址一般不容易更改,所以内置在DNS服务器中。

以下是嵌入式根域名服务器IP地址的示例。

在上面的目录中,根域名的三个NS记录(。root)列出了:A.ROOT-SERVERS.NET、B.ROOT-SERVERS.NET和C.ROOT-SERVERS.NET,以及它们的IP地址(即A记录):198.41.0.4、192.228.79.201和192.33.4.12。

另外,能看到所有记录的TTL值是3600000秒,相当于1000小时。也就是说,每1000小时查询一次根域名服务器的目录。

目前,从A.ROOT-SERVERS.NET到M.ROOT-SERVERS.NET,全世界有十三组根域名服务器。

注:阅读相关网站基本建设方法的文章,请移至网站建设教程频道栏目。

强烈推荐:使用性能优秀的云服务器的稳定网址,可以赚更多的钱。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/769802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-02
下一篇 2022-05-02

发表评论

登录后才能评论

评论列表(0条)

保存