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

2024-04-30 21:04

本文主要是介绍域名系统与域名解析服务器DNS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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) 中国有自己的国际出口通道,不完全依赖日本的网络基础设施。

这篇关于域名系统与域名解析服务器DNS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/949911

相关文章

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资