域名系统与域名解析服务器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

相关文章

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4: