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

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2