作者 | 网络工程师老杨 编辑 | 山城
晚上好,我是老杨。
我们知道TCP/IP提供了通过IP地址连接设备的功能。
但对于用户来说,记住一台设备的IP地址是相当困难的,因此有人专门设计了一种字符串形式的主机命名机制,这些主机名与IP地址一一对应。
IP地址和主机名之间需要有一种转换和查询机制,提供这种机制的系统就是域名系统DNS(Name)。
可能还有一些新手对于DNS的概念还有些不清楚,今天的文章老杨就从几个方面来给大家讲解一下。
DNS 到底是什么?
DNS相当于电话簿,电话簿可以根据人名找到对应的电话号码,而DNS可以根据域名找到对应的IP地址。
有些新手可能会问:为什么我们需要完整的 IP 地址?我们不能只使用域名吗?这需要一些有关互联网通信协议的知识。
简单来说,IP地址是每一台计算机的唯一标识,就如同每个人的身份证号码都是唯一的一样,只有IP地址才能唯一标识一台计算机。
但由于 IP 地址是一串数字,不易记忆,因此产生了域名。域名相当于 IP 地址的昵称,但它与 IP 地址是一对多的关系,即一个域名可能对应多个 IP 地址,用户访问时只会被引导到其中一个。
因此需要通过DNS来查询IP地址,那么DNS是如何工作的呢?
我们举一个简单的例子来说明一下 DNS 的工作流程:
com 被称为“顶级域名”;
百度称之为“二级域名”(-level);
www称为主机名,也叫“三级域名”。
常见的域名往往只显示三层,比如上图,这是因为所有域名的最后一个根域名都是一样的,都是 .root,所以通常会被省略。
实际上应该是:
因此,域名实际上是一个层次结构,共有四个层级,分别是:
主机名.子域名.顶级域名.根域名,即host.sld.tld.root
DNS解析域名时,是按照层级结构进行的,从根域名开始,逐级向下查询。我们来举个例子。
首先,访问根域名服务器,查看哪个顶级域名服务器维护着.com(顶级域名);
根据返回结果,访问顶级域名服务器,查询.baidu(子域名)由哪个子域名服务器维护;
根据返回结果,访问二级域名服务器,查询www(主机名)的IP地址;
上述查询过程是由本地DNS服务器完成的,而不是本地主机完成的。
当本地主机通过浏览器访问某个域名时:
首先查询本地主机的/etc/hosts文件,查看域名与IP映射是否自定义(比如/etc/hosts文件中映射到127.0.0.1,那么浏览器就会访问本地主机)
若没有相应的自定义设置,则会访问本地DNS服务器。
本地DNS服务器的IP地址可以在/etc/.conf文件中查看
本地DNS服务器会先查看本地的缓存,看是否有对应的域名与IP的映射,如果有,则直接返回给本地主机,如果没有,则进行上面的查询过程。
什么是 DNS 根服务器?
DNS 根服务器是负责 DNS 及其全部功能的名称服务器。它们是确定任何域名名称的第一步。DNS 可以将域名转换为 IP 地址。
根区域是一份全球顶级域名列表。其中包括通用顶级域名(.com、.net、.org)、国家代码顶级域名(.no、.se、.uk)和国际化顶级域名,后者是用各国本地字符编写的 ccTLD。根区域来自互联网名称与数字地址分配机构 (IANA),该机构隶属于互联网名称与数字地址分配机构 (ICANN)。
域名到 IP 地址的映射是使用 DNS 区域按层次结构顺序完成的,根服务器为根区域提供服务,根区域位于层次结构的顶部并发布根区域文件,该文件又包含所有 TLD 权威服务器的资源记录。
因此,它们可以通过两种方式发挥作用:
尽管在后一种情况下它们并不直接参与名称解析,但根服务器是整个基础设施的根源,如果没有它们,您今天所了解和使用的大部分网络将无法使用。
目前全球共有13台DNS服务器,其中一台在美国,由美国互联网机构负责运营。其余12台根服务器为辅助根服务器,其中9台也在美国,2台在欧洲,1台在亚洲。
由于本地 DNS 基础设施的限制,它采用 32 字节的 IPv4,IP 地址必须对应一个数据包,而当时数据包限制为 512 字节,因此每个 IPv4 地址为 32 位,其中 13 位为 416 字节,其余 96 字节为协议信息。
最初,这 13 个 IP 地址各自拥有一个服务器,每个 IP 地址被分配给一个服务器集群,使用广播路由在全球创建一个由数百台服务器组成的网络。
这有助于平衡分散性并确保可靠性,即使其中一个根服务器由于 DDoS 攻击或其他类型的 DNS 攻击而关闭。
2016年“雪人计划”启动后,全球16个国家将完成25台IPv6根服务器的建设,这意味着未来将会有更多的根服务器。
为什么有这么多根服务器,但没有一个是中国的?
这是因为原有的DNS服务器所包含的协议并没有那么强大的能力,无法只分配给国内一台服务器。
也就是说,受限于技术能力,全球13台根服务器无法分配给我国,这意味着我国在DNS根服务器领域确实陷入了四面楚歌的境地。
当然,我国境内还有26个根域名服务器节点:
不过这并不意味着未来我国的根服务器没有发展的空间,毕竟我国在IPv6根服务器中已经占据了一席之地。
在国家对IPv6的支持下,中国在IPv6网络建设上取得了惊人的速度,在随后的IPv6根DNS服务器中,中国共有4台服务器,其中一台为主根,另三台为辅助根。
因此中国未来在根服务器领域肯定有一席之地。
6 个有用的 DNS 服务器
哪一个才是你喜欢的?
01阿里DNS()
这套DNS是阿里巴巴提供的,国内连通性还好,但是海外部分地区连通性不太好,大家可以具体测试一下。
阿里巴巴DNS同时提供IPv4/IPv6 DNS和DoT/DoH服务。
IPv4:
223.5.5.5
223.6.6.6
IPv6:
2400:3200::1
2400:3200:巴巴::1
DoH 地址:
DoT 地址:
02腾讯DNS()
提供的公共免费DNS后来被腾讯()收购,现归腾讯所有,稳定性和连通性都很好,经过海外使用测试。
除了 IPv4,现在还支持 IPv6 DNS 和 DoT/DoH 服务。
IPv4:
119.29.29.29
IPv6:
2402:4e00::
DoH 地址:
DoH(国密SM2,基于腾讯云政企国密解决方案)地址:
DoT 地址:
点.pub
DNS
DNS是目前最受欢迎的免费DNS服务器之一,其服务器托管在世界各地的数据中心,一旦连接到其IP地址,就会自动分配最近的服务器,为不同地区的人们提供稳定、快速的访问体验。
DNS 有一个非常容易记住的 IP 地址 8.8.8.8。通过将默认 DNS 更改为 的公共 DNS 服务器,您可以获得更快的浏览速度和更高的安全性。它还提供两个 DNS 服务器地址,您可以分别将其设置为首选 DNS 服务器和备用 DNS 服务器。
地址:
8.8.8.8
8.8.4.4
04360 安全 DNS
360提供的DNS服务仅提供IPv4和DoT/DoH服务。
中国电信/台通/中国移动的 IPv4:
101.226.4.6
218.30.118.6
对于中国联通的IPv4:
123.125.81.6
140.207.198.6
DoH 地址:
DoT 地址:
中国电信IPv6 DNS
如果你使用中国电信的宽带的话,这两个IP地址应该是自动分配的。
240e:4c:4008::1
240e:4c:4808::1
中国联通IPv6域名解析
如果你使用联通宽带的话,这两个IP地址应该是自动分配的。
2408:8899::8
2408:8888::8
中国移动IPv6域名解析
中国移动宽带自动分配两个IP
2409:8088::一个
2409:8088::b
114.114.114.114
114.114.115.115
05百度DNS
中国最大的搜索引擎百度提供的公共DNS经过测试,具有良好的海外连通性。目前,百度只提供了一组IPv4和IPv6 DNS地址。
IPv4:
180.76.76.76
IPv6:
2400:da00::6666
DNS
它是中国互联网络信息中心(CNNIC)提供的免费公共DNS,同时支持IPv4和IPv6。
IPv4:
1.2.4.8
210.2.4.8
IPv6:
2001:dc7:1000::1
参考
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。