域名系统与域名解析服务器DNS

ops/2025/2/12 0:07:18/

IPv4根域名服务器

IPv4根服务器全球只有13台(这13台IPv4根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国,由美国互联网机构Network Solutions运作。其余12个均为辅根服务器,其中9个在美国,2个在欧洲(位于英国和瑞典),1个在亚洲(位于日本)。

在与现有IPv4根服务器体系架构充分兼容基础上,“雪人计划”于2016年在全球16个国家完成25台IPv6根服务器架设,事实上形成了13台原有根加25台IPv6根的新格局,为建立多边、民主、透明的国际互联网治理体系打下坚实基础。中国部署了其中的4台,由1台主根服务器和3台辅根服务器组成,打破了中国过去没有根服务器的困境。
在这里插入图片描述

IPv4 地址储备池已于2019年11月25日完全耗尽。

什么是域名解析服务器DNS

将域名解析为 ip 地址,才可以通过 TCP/IP 协议进行传输。

什么是顶级域名?

顶级域名(Top-Level Domain,TLD)是DNS(域名系统)中域名层次结构中的最高级别域名。它位于域名的最右侧,是域名的最高级别的标识符。
在这里插入图片描述

1. 通用顶级域名(Generic Top-Level Domains,gTLD):

通用顶级域名是最常见的顶级域名类型,具有广泛的应用范围。一些常见的通用顶级域名包括:

  • .com:商业网站
  • .org:非营利组织
  • .net:网络服务提供商
  • .edu:教育机构
  • .gov:政府机构
  • .info:信息网站
  • .biz:商业网站
  • .name:个人网站

2. 国家和地区顶级域名(Country Code Top-Level Domains,ccTLD):

国家和地区顶级域名是针对特定国家或地区的域名标识符,通常由两个字母组成,代表国家或地区的缩写。例如:

  • .cn:中国
  • .uk:英国
  • .jp:日本
  • .de:德国
  • .fr:法国
  • .us:美国

顶级域名用于将域名组织成一个层次结构,并指示特定域名的分类或所属国家或地区。在域名解析过程中,顶级域名由根域名服务器管理和分配,它们的管理机构负责维护和分配顶级域名下的二级域名。

域名服务器分类

互联网上的DNS域名服务器也是按照层次划分的,每一个域名服务器都只对域名体系中的一部分进行管辖。根据域名服务器所起的作用,可以把域名服务器划分为四种不同的类型:

  • 根域名服务器:根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。根域名服务器知道所有顶级域名服务器的域名和 IP地址。如果本地域名服务器无法对域名进行解析,就首先求助于根域名服务器
  • 顶级域名服务器:顶级域名服务器负责管理在该服务器注册的所有二级域名。当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步需要查询的域名服务器的 IP 地址)。
  • 权威域名服务器:这就是前面已经讲过的负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告知发出查询请求的DNS客户,下一步应当找哪一个权威域名服务器
  • 本地域名服务器:本地域名服务器并不属于下图中的树状结构的DNS域名服务器,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。每一个互联网服务提供者ISP都可以拥有一个本地域名服务器

在这里插入图片描述

域名解析过程

域名解析的过程是将人类可读的域名转换为计算机可理解的IP地址。这样,人们可以通过输入易于记忆的域名来访问网站或其他服务。以下是域名解析的详细过程:

  1. 查看浏览器缓存

    • 当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在)。
  2. 查看系统缓存

    • 当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP。
  3. 查看路由器缓存

    • 当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客服端的DNS缓存。
  4. 查看ISP DNS缓存

    • 当在用户客服端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络,则会进入电信的DNS缓存服务器中进行查找。
  5. 询问根域名服务器

    • 当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com、.cn等)服务器IP告诉本地DNS服务器
  6. 询问顶级域名服务器

    • 顶级域名服务器收到请求后查看区域文件记录,若无记录则将其管辖范围内权威域名服务器的IP地址告诉本地DNS服务器
  7. 询问权威域名(主域名)服务器

    • 权威域名服务器接收到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确记录。
  8. 保存结果至缓存

    • 本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址即可访问目标Web服务器

至此,DNS递归查询的整个过程结束。
在这里插入图片描述

此外,域名解析的方式主要有两种:

  • A记录解析。这是最常见的解析方式,用于将特定域名指向特定的IP地址。
  • CNAME记录解析。这种方式可以将域名重定向到另一个域名或IP地址,通常用于虚拟主机或别名服务的场景。

亚洲唯一的根服务器在日本,那么日本可以控制中国的网络吗?

(1) DNS根服务器只用于域名解析,它不直接控制网络数据的传输和交换。数据传输依赖于各国的互联网服务提供商和网络交换中心。
(2) 中国已经部署了自己的国家级DNS解析系统,不完全依赖F根服务器。中国可以在必要时屏蔽对F根服务器的访问。
(3) 互联网技术专家们也已经研究出了不依赖DNS根服务器的分布式域名解析方案,可以在无法访问根服务器的情况下使用。
(4) 中国有自己的国际出口通道,不完全依赖日本的网络基础设施。


http://www.ppmy.cn/ops/24882.html

相关文章

docker菜鸟教程

Docker是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个可移植的容器中,然后发布到任何Linux机器上。以下是Docker的一些基本概念和操作指南: 镜像(Image):Docker镜像是一个文件系统,它包含了应用程序及…

leetCode61. 旋转链表

leetCode61. 旋转链表 题目思路:见如图所示 代码展示 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* Li…

行列式求解

行列式 给出一个矩阵求 行列式。 输入: 1 3 1 -2 -1 0 3 2 3 1 -1 思路: 不能直接乘上上面行的倍数来消除本行对应元素。试试辗转相减法把。 (1,3)减去2倍(0,1)->(1,0) (5,3)减去0倍(3,5)减去1倍(2,3)减去1倍(1,2)减去2倍(0,1)->(1,0) 然…

Python3.11修改并运行oneforall

遇到的问题 使用python3.11默认无法运行oneforall脚本,出现如下报错 # 解决方案 修改 /usr/local/lib/python3.11/dist-packages/exrex.py exrex.py具体文件路径报错中会显示 vim /usr/local/lib/python3.11/dist-packages/exrex.py# 修改前 from re import sre…

前端工程化Vue使用Node.js永久设置国内高速npm镜像源

前端工程化Vue使用Node.js永久设置国内高速npm镜像源 接续上篇错误收录,此篇通过简单配置永久设置国内高速npm镜像源方法 1.更换新版镜像 清空npm缓存 npm cache clean --force修改回原版镜像源或直接删除配置过的镜像源 npm config set registry https://registr…

游戏视频录制软件有哪些?这3款推荐给你

在数字化时代的今天,游戏视频录制已经成为广大游戏爱好者和职业玩家的必需品,那么游戏视频录制软件有哪些?哪个更适合您呢? 本文将为您推荐3款游戏视频录制软件,帮助您记录下游戏中的精彩瞬间,也可以通过录…

Windows11下Docker使用记录(四)

Docker使用记录&#xff08;四&#xff09; 1. container与host的文件传输2. container 与 Unity ROS setting 通讯3. container和wsl2或windows11我一直无法ping通 1. container与host的文件传输 从 container 复制文件至 host docker cp <container_name>:<file_p…

基于FPGA的数字信号处理(3)--什么是浮点数?

科学计数法 你可能不了解「浮点数」&#xff0c;但你一定了解「科学记数法」。 10进制科学记数法把一个数表示成a与10的n次幂相乘的形式&#xff08;1≤|a|<10&#xff0c;a不为分数形式&#xff0c;n为整数&#xff09;&#xff0c;例如&#xff1a; 19970000000000 1.9…