DNS 域名解析系统

在这里插入图片描述

文章目录

  • 前言
  • 什么是 DNS 域名解析系统
  • 为什么需要 DNS 域名解析
  • DNS 是如何发展的
    • hosts 文件维护域名和IP的映射关系
    • DNS 系统(服务器)
    • DNS 镜像系统

前言

前面为大家分享了关于计算机网络中应用层——自定义协议、传输层——UDP、TCP 协议、网络层——IP协议、数据链路层——以太网相关的协议,那么在知道了这些之后,这篇文章我将为大家分享另一个计算机网络中比较重要的知识点——DNS域名解析系统。

什么是 DNS 域名解析系统

DNS(Domain Name System,域名系统)是因特网使用的命名系统,它存储了域名和IP地址之间的映射关系,使得用户和计算机可以更方便地通过网络来查找和访问彼此。

具体来说,DNS 域名解析系统可以将便于人们记忆的域名(如www.example.com)转换为便于机器处理的IP地址。这个过程基于客户/服务器模型,协议运行在UDP之上,使用53号端口。

DNS 域名解析系统可以分为三个主要部分:层次域名空间、域名服务器和解析器。

  1. 层次域名空间:这是域名系统的组织方式,它按照域名的级别进行组织和管理。例如,顶级域名(如.com、.org等)下面是二级域名(如www.example.com等),再下面是具体的网页地址等。
  2. 域名服务器:负责管理域名空间,并为客户提供域名解析服务。根据其管理和服务的范围,域名服务器可以分为根域名服务器、顶级域名服务器和权限域名服务器。
  3. 解析器:解析器是负责进行域名解析的程序,它将用户提供的域名转换成对应的IP地址。

在这里插入图片描述

为什么需要 DNS 域名解析

既然有了 IP 地址,为什么还会出现一个 DNS 域名解析呢?我们都知道 IP 地址是由 4 个字节组成的由 . 分隔的一串数字,但是呢,由于世界上有很多的 IP 地址,我们很难记住一些 IP 地址,所以就引入了“域名”来解决 IP 地址不好宣传和记忆的问题,例如生活中我们更多的使用的是 www.baidu.com 而不是像这样的一串数字。
在这里插入图片描述

DNS 域名解析的优点:

  1. 方便记忆:域名通常由英文单词或字母组成,相对于复杂的IP地址来说更易于记忆。通过使用域名,用户可以更容易地访问网站,而不必记住一串数字或字母的IP地址。
  2. 提高访问效率:DNS域名解析系统可以将域名转换为IP地址,以便计算机能够找到和访问网站。当用户在浏览器中输入域名时,DNS域名解析系统会快速地将域名转换为IP地址,然后计算机就可以通过该地址找到网站并建立连接。
  3. 负载均衡:DNS域名解析系统可以将域名解析到多个IP地址上,从而实现负载均衡。当多个服务器上运行相同网站时,DNS域名解析系统可以将访问请求分配给不同的服务器,以提高网站的可用性和性能。
  4. 故障转移:当一台服务器出现故障时,DNS域名解析系统可以将访问请求转移到其他可用的服务器上,从而保证网站的可用性。
  5. 个性化服务:通过使用DNS域名解析系统,组织可以实现对网站内容的个性化服务。例如,根据用户的地理位置、网络速度或其他因素,将用户重定向到不同的服务器或提供不同的内容。
  6. 安全性和隐私保护:DNS域名解析系统可以保护用户的隐私和安全。当用户访问网站时,DNS域名解析系统可以将域名解析为IP地址,但这个过程是在用户的计算机和DNS服务器之间进行的,不需要将用户的域名信息暴露给其他方。

DNS 是如何发展的

hosts 文件维护域名和IP的映射关系

其实最早的域名解析是通过一个简单的文件来实现的,这个文件就是我们 Windows 下的 hosts 文件。这个文件通常在我们的 "C:\Windows\System32\drivers\etc\hosts" 下。

在这里插入图片描述
我这里 hosts 文件中基本上没有什么内容,因为现在基本上不适用 hosts 文件来实现 DNS 了,这是因为使用 hosts 文件来维护 域名 和 IP 的映射关系是非常不方便的,当你网站的 域名 和 IP 的映射关系改变了之后,就需要更改本地 域名 和 IP 的映射关系。所以这时就出现了一套 DNS 系统(一套服务器)。

DNS 系统(服务器)

当你想要访问某个域名的时候,你首先需要向这个 DNS 系统发送请求,当这个 DNS 系统收到请求之后就会返回一个对应的 IP 地址,这时就能访问对应的网站了。后续如果有域名的映射关系需要更新的话,只需要更改这一组指定的服务器既可以了,而不需要更改每个用户的 hosts 文件。

但是只有这一套 DNS 系统可以吗?在相同的时间内,世界上有千千万万的人会向 DNS 系统发送解析请求,而一个服务器端的硬件资源是有限的(CPU、内存、硬盘、网络带宽),服务器处理每个请求是需要消耗一定的资源的,如果单位时间内请求太多的话,消耗的总资源就超过了机器的资源上限,此时机器就会挂掉。所以就又需要做出调整。

第一种解决方法就是节流。

让请求量变少,让每个上网的设备都搞本地缓存。假如我的电脑一分钟之内访问 www.baidu.com 十次的话,如果每次都向 DNS 系统发送请求的话,那么就会给 DNS 系统带来很大的压力,所以我们可以将第一次请求得到的结果保存在本地,只是第一次访问的时候向 DNS 系统发送请求,后面几次可以直接使用第一次请求的结果。

DNS 镜像系统

搭建 DNS 的开发者们呼吁各个网络运营商搭建属于自己的 DNS 镜像系统。

DNS镜像系统是指将一个或多个DNS服务器的数据镜像到另一个DNS服务器上。这些镜像服务器通常会存储一份原始服务器数据的副本,并且可以提供与原始服务器相同的DNS查询服务。

这些 DNS 镜像系统都复制了一份 根服务器 的数据,这样就可以帮助根服务器分解部分的请求量,很大的缓解了一个 DNS 根服务器的压力,不仅如此,通过使用 DNS 镜像系统,可以根据你发送请求时的地址,为你找到距离你最近的 DNS 系统,从而增加访问的效率。

通过使用 DNS 镜像系统最重要的就是,它可以防止 DNS 系统一家独大的线性,因为 DNS 系统根服务器位于美国,而美国利用这些欺负其他国家的现象不在少数,通过在中国建立 DNS 镜像系统,当美国断掉中国使用 DNS 系统的时候,中国还能利用 DNS 镜像系统中存储的数据解决一段时间 DNS 需求。

但是这种解决方法也只是暂时的,解决这个问题的根本方法是 IPv6 的发展,IPv4 和 IPv6 是截然不同的,所以对应的 DNS 解析系统也是不同的,只有对应 IPv6 研发和完善新的 DNS 系统,才能真正解决美国在这方面的打压。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/125316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java修仙传之Flink篇

大道三千:最近我修Flink 目前个人理解: 处理有界,无界流的工具 FLINK: FLINK定义: Flink特点 Flink分层API 流的定义 有界数据流(批处理): 有界流:数据结束了,程序也…

大数据之LibrA数据库系统告警处理(ALM-12005 OKerberos资源异常)

告警解释 告警模块对Manager中的Kerberos资源的状态进行监控,当Kerberos资源异常时,系统产生此告警。 当Kerberos资源恢复时,且告警处理完成时,告警恢复。 告警属性 告警参数 对系统的影响 Manager中的Kerberos资源异常&#…

ceph高可用、手动安装

操作系统:centos8 三台服务器: 192.168.6.22:mon,mgr,mds,osd 192.168.6.23:mon,mgr,mds,osd 192.168.6.24:mon,mgr,mds,osd 正式环境osd和mon不应该在一个节点,建议osd单独服务器安装。 ceph版本&am…

element表格自定义筛选

文章目录 前言一、简介二、效果展示三、源码总结 前言 提示:这里可以添加本文要记录的大概内容: …待续 提示:以下是本篇文章正文内容,下面案例可供参考 一、简介 修改el-table的筛选…待续 二、效果展示 三、源码 使用方法…

sentinel规则持久化-规则同步nacos-最标准配置

官方参考文档&#xff1a; 动态规则扩展 alibaba/Sentinel Wiki GitHub 需要修改的代码如下&#xff1a; 为了便于后续版本集成nacos&#xff0c;简单讲一下集成思路 1.更改pom 修改sentinel-datasource-nacos的范围 将 <dependency><groupId>com.alibaba.c…

[SUCTF 2019]EasySQL 1

题目环境&#xff1a; 把你的旗子给我&#xff0c;我会告诉你旗子是不是对的。 判断注入类型1回显结果 不是字符型SQL注入 1回显结果 数字型SQL注入 查所有数据库,采用堆叠注入1;show databases;查看所有数据表1;show tables;尝试爆Flag数据表的字段1;show columns from Flag; …

LeetCode | 27. 移除元素

LeetCode | 27. 移除元素 OJ链接 这道题有一个方法是要删除的数据直接后一个数据挪动到前一个数据&#xff0c;这个方法好不好&#xff1f;最坏的情况下时间复杂度是O(N^2) 还有一个方法 定义一个src定义一个dst&#xff0c;原地直接进行赋值&#xff0c;不进行挪动&#xf…

Qt程序执行编译输出内容解释

以这个为例&#xff1a; D:\SoftwareInstall\Qt6\Tools\QtCreator\bin\jom\jom.exe -f Makefile.Debug cd AuthorizeTools\ && ( if not exist Makefile D:\SoftwareInstall\Qt6\5.15.2\msvc2019_64\bin\qmake.exe -o Makefile E:\Coding\project\DigitalCamera\digita…

Vue使用 IndexDB vue操作IndexDB数据库 Vue操作IndexDB数据库

Vue使用 IndexDB vue操作IndexDB数据库 Vue操作IndexDB数据库 Vue使用 IndexDB vue操作IndexDB数据库 Vue操作IndexDB数据库安装 IndexDB类库引入 localForage测试 新增数据、获取数据 Vue使用 IndexDB vue操作IndexDB数据库 Vue操作IndexDB数据库 大部分场景使用 LocalStore都…

Linux | 进程终止与进程等待

目录 前言 一、进程终止 1、进程终止的几种可能 2、exit 与 _exit 二、进程等待 1、为什么要进程等待 2、如何进行进程等待 &#xff08;1&#xff09;wait函数 &#xff08;2&#xff09;waitpid函数 3、再次深刻理解进程等待 前言 我们前面介绍进程时说子进程退出…

pytorch复现4_Resnet

ResNet在《Deep Residual Learning for Image Recognition》论文中提出&#xff0c;是在CVPR 2016发表的一种影响深远的网络模型&#xff0c;由何凯明大神团队提出来&#xff0c;在ImageNet的分类比赛上将网络深度直接提高到了152层&#xff0c;前一年夺冠的VGG只有19层。Image…

uniapp 关于 video 组件的缩放比例问题

在 container 样式的 padding-bottom 设置比例值 9/16 比例值&#xff1a;56.25% 3/4 比例值&#xff1a;75% <view class"container"><video class"video-box" src"xxx.mp4" /> </view> .container {position: relative;wid…

Redis(01)| 数据结构

这里写自定义目录标题 Redis 速度快的原因除了它是内存数据库&#xff0c;使得所有的操作都在内存上进行之外&#xff0c;还有一个重要因素&#xff0c;它实现的数据结构&#xff0c;使得我们对数据进行增删查改操作时&#xff0c;Redis 能高效的处理。 因此&#xff0c;这次我…

作为20年老程序员,我如何使用GPT4来帮我写代码

如果你还在用google寻找解决代码bug的方案&#xff0c;那你真的out了&#xff0c;试试gpt4, save my life. 不是小编危言耸听&#xff0c;最近用gpt4来写代码极大地提高了代码生产力和运行效率&#xff0c;今天特地跟大家分享一下。 https://www.promptspower.comhttps://www.…

测开 (Junit 单元测试框架)

目录 了解 Junit 引入相关依赖 1、Junit注解 Test BeforeEach、BeforeAll AfterEach && AfterAll 2、断言 1、Assertions - assertEquals 方法 2、Assertions - assertNotEquals 方法 3、Assertions - assertTrue && assertFalse方法 4、Assertions…

Microsoft365个人版与家庭版有哪些功能区别?

Microsoft 365个人版与家庭版均能享受完整的Microsoft 365功能与权益&#xff0c;稍有不同的是&#xff0c;Microsoft 365家庭版可供6人使用&#xff0c;而个人版是仅供一人使用。 个人版可以同时登入5台设备&#xff0c;家庭版每人也可以登入5台设备&#xff0c;每个人都可以享…

【Linux】centos安装配置及远程连接工具的使用

前言 CentOS 是什么&#xff1f; CentOS社区企业操作系统&#xff08;Community Enterprise Operating System&#xff09; CentOS 是众多 Linux 发行版中的一种。全称&#xff1a; The Community ENTerprise Operating System 。 她是将 Red Hat Enterprise Linux &#xff…

sitespeedio.io 前端页面监控安装部署接入influxdb 到grafana

1.docker部署influxdb,部署1.8一下&#xff0c;不然语法有变化后面用不了grafana模板 docker run -d -p 8086:8086 --name influxdb -v $PWD/influxdb-data:/var/lib/influxdb influxdb:1.7.11-alpine docker exec -it influxdb_id bash #influx create user admin with pass…

Yakit工具篇:WebFuzzer模块之重放和爆破

简介 Yakit的Web Fuzzer模块支持用户自定义HTTP原文发送请求。为了让用户使用简单&#xff0c;符合直觉&#xff0c;只需要关心数据相关信息&#xff0c;Yakit后端(yaklang)做了很多工作。 首先我们先来学习重放请求的操作&#xff0c;在日常工作中可以使用 Web Fuzzer进行请…

无法查看 spring-boot-starter-parent的pom.xml

1. idea版本&#xff1a;2022.3 2. 使用Spring Initializr创建一个简单的spring-boot项目&#xff0c;发现无法查看 spring-boot-starter-parent的pom.xml ctrl鼠标左键 和 ctrl B 都无法进入 3. 解决&#xff1a;清除缓存重启&#xff08;&#x1f927;&#x1f630;&#…