【HarmonyOs学习日志(14)】计算机网络之域名系统DNS

域名系统DNS

域名系统DNS——从域名解析出IP地址

文章目录

    • 域名系统DNS
      • 概述
        • 域名到IP地址的解析
      • 互联网的域名结构
        • 命名标准
      • 域名服务器
        • 域名的解析过程

概述

域名系统DNS(Domain Name System)是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。

互联网的域名系统DNS被设计为一个联机分布式数据库系统,并采用客户服务器方式。DNS使大多数名字都在本地进行解析,仅少量解析需要在互联网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机出了故障了,也不会妨碍整个DNS系统的正常运行。

域名到IP地址的解析

域名到IP地址的解析是由分布在互连网上的许多域名服务器程序(可简称为域名服务器)共同完成的。域名服务器程序在专设的节点上运行,而人们也常把运行域名服务器程序的机器称为域名服务器

解析要点如下:

  • 当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序,并成为DNS的一个客户。
  • 该进程把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器(使用UDP是为了减少开销)。
  • 本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信

。若本地域名服务器不能回答该请求,则此域名服务器就暂时成为DNS中的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。

互联网的域名结构

互联网采用层次树状结构的命名方法,采用这种命名方法,任何一个连接在互联网上的主机或路由器都有一个唯一的层次结构的名字,即域名(domain name)。这里,是名字空间中一个可被管理的划分。

域还可以划分为子域,而子域还可继续划分为子域的子域,这样就形成了顶级域、二级域、三级域,等等。

从语法上讲,每一个域名都由标号(label)序列组成,而各标号之间用点隔开(请注意,这里所说的“点”是英语中的句号“.“)

在这里插入图片描述

其中com是顶级域名,cctv是二级域名,标号mail是三级域名。

命名标准
  • 域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符(为了记忆方便,最好不要超过12个字符)
  • 不区分大小写字母
  • 标号中除连字符(-)外不能使用其他的标点符号。
  • 级别最低的域名写在最左边,而级别最高的顶级域名则写在最右边。
  • 有多个标号组成的完整域名总共不超过255个字符。

DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级的域名代表什么意思。各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。用这种方法可使每一个域名在整个互联网范围是唯一的,并且也容易设计出一种查找域名的机制。

需要注意的是,域名只是个逻辑概念,并不代表计算机所在的物理地点。

在顶级域名中则分为:国家顶级域名,通用顶级域名,反向域名

国家顶级域名中国:cn, 美国:us,英国uk…
通用顶级域名com公司企业,edu教育机构,gov政府部门,int国际组织,mil军事部门 ,net网络,org非盈利组织…
反向域名arpa,用于PTR查询(IP地址转换为域名)

用域名树来表示互连网的域名系统是最清楚的,如图

在这里插入图片描述

在最上面的是,但没有对应的名字。根下面一级的节点就是最高一级的顶级域名。顶级域名往下可划分子域(依次向下划分)。域名树的树叶就是单台计算机的名字,它不能再继续往下划分子域了。

域名服务器

具体实现域名系统则是使用分布在各地的域名服务器。

一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。

区是DNS服务器实际管辖的范围。区可能等于或小于域,但一定不能大于域。(区是域的子集)

在这里插入图片描述

在这里插入图片描述

如图中每一个域名服务器都能够进行部分域名到IP地址的解析。当某个DNS服务器不能进行域名到IP地址的转换时,他就设法找互联网上别的域名服务器进行解析。同时不难看出,互联网上的DNS域名服务器也是按照层次安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。根据域名服务器所起的作用,可以把域名服务器划分为以下四种不同的类型:

  • 根域名服务器:根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。
  • 顶级域名服务器:这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
  • 权限域名服务器:负责一个区的域名服务器。
  • 本地域名服务器:本地域名服务器并不属于如上图所示的域名服务器层次结构,但它对域名系统非常重要。

注:一个域名服务器所负责的范围,或者说有管理权限的范围,就称为 区域 (Zone)
关于分层, 需要注意的是:

  • 每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器
  • 每一级域名服务器都知道下级域名服务器的IP地址
  • 为了容灾, 每一级至少设置两个或以上的域名服务器
域名的解析过程
  1. 客户端发起请求:当用户在浏览器中输入域名时,客户端(如电脑、手机等)会向本地 DNS 服务器发送查询请求,请求解析该域名对应的 IP 地址。
  2. 本地 DNS 缓存查询:本地 DNS 服务器首先会检查自身的缓存,看是否已经有该域名的缓存记录。如果有,直接返回对应的 IP 地址,解析过程结束。
  3. 本地 DNS 服务器查询:如果本地 DNS 服务器缓存中没有该域名的记录,它会向根 DNS 服务器发送查询请求。
  4. 根 DNS 服务器响应:根 DNS 服务器收到请求后,会告知本地 DNS 服务器负责该域名顶级域名(如.com、.org 等)的权威 DNS 服务器的地址。
  5. 查询顶级域名服务器:本地 DNS 服务器根据根 DNS 服务器提供的地址,向对应的顶级域名服务器发送查询请求。
  6. 顶级域名服务器响应:顶级域名服务器会告知本地 DNS 服务器负责该域名二级域名(如 example.com 中的 example)的权威 DNS 服务器的地址。
  7. 查询权威 DNS 服务器:本地 DNS 服务器继续向二级域名的权威 DNS 服务器发送查询请求。
  8. 权威 DNS 服务器响应:权威 DNS 服务器查询到该域名对应的 IP 地址后,将其返回给本地 DNS 服务器。
  9. 本地 DNS 服务器缓存并响应:本地 DNS 服务器将查询到的 IP 地址缓存起来,并返回给客户端。
  10. 客户端与目标服务器通信:客户端获得 IP 地址后,就可以使用该 IP 地址与目标服务器进行通信。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

贪心算法【Lecode_HOT100】

文章目录 1.买卖股票的最佳时机No.1212.跳跃游戏No.553.跳跃游戏IINo.454.划分字母区间No.763 1.买卖股票的最佳时机No.121 class Solution {public int maxProfit(int[] prices) {if (prices null || prices.length 0) {return 0;}// 初始化买入价格为最大值,最大…

【PCIe 总线及设备入门学习专栏 4 -- PCIe四种地址空间介绍】

文章目录 Overview1. 配置空间2. IO 空间3. Memory 空间BAR空间示例 -- 32bit内存地址空间请求BAR空间示例 -- 64bit内存地址空间请求 4. message空间 转自:cpu_arch 芯片架构笔记 2024年08月03日 22:32 上海 Overview PCIe架构定义了4种地址空间:配置…

SAP HCM 成本分配涉及的表

导读 成本分配:在HCM模块在SAP模块中,核心就是成分如何与财务无缝衔接,今天介绍的是关于成本中心在HR模块中涉及的几张表,对精细化管理有相应的帮助。涉及的信息类型有0014、0015、0267等 作者:vivi,来源:o…

Java模拟Mqtt客户端连接Mqtt Broker

Java模拟Mqtt客户端基本流程 引入Paho MQTT客户端库 <dependency><groupId>org.eclipse.paho</groupId><artifactId>org.eclipse.paho.mqttv5.client</artifactId><version>1.2.5</version> </dependency>设置mqtt配置数据 …

Day13 用Excel表体验梯度下降法

Day13 用Excel表体验梯度下降法 用所学公式创建Excel表 用Excel表体验梯度下降法 详见本Day文章顶部附带资源里的Excel表《梯度下降法》&#xff0c;可以对照表里的单元格公式进行理解&#xff0c;还可以多尝试几次不同的学习率 η \eta η来感受&#xff0c;只需要更改学习率…

rk3568之mpp开发笔记怎么实现mpp编码摄像头实时码流?

前言&#xff1a; 大家好&#xff0c;今天给大家分享的内容是在rk3568上&#xff0c;通过mpp来进行实时对摄像头imx415采集的码流数据进行编码成h264或者h265,后期文章&#xff0c;会开发测试一下通过rtsp推流出去&#xff0c;然后电脑端拉流&#xff0c;看一下整个环路的延迟多…

Keil5 STM32库函数的工程

库函数来间接的操作寄存器 条件编译&#xff0c;如果你定义了USE_STDPERIPH_DRIVER &#xff08;使用标准外设驱动&#xff09;这个字符串&#xff0c;stm32f10x_conf.h才有效

单片机上电后程序不运行怎么排查问题?

1.电源检查。使用电压表测量单片机的电源电压是否正常&#xff0c;确保电压在规定的范围内&#xff0c;如常见的5V。 2.复位检查。检查复位引脚的电压是否正常&#xff0c;在单片机接通电源时&#xff0c;复位引脚通常会有一个高电平&#xff0c;按下复位按钮时&#xff0c;复位…

Linux快速入门-Linux的常用命令

Linux的常用命令 1. Linux的终端与工作区1.1 终端概述1.2 切换终端 2. Shell语言解释器2.1 Shell概述 3. 用户登录与身份切换3.1 su 命令3.2 sudo 命令 4. 文件、目录操作命令4.1 pwd 命令4.2 cd 命令4.3 ls 命令4.3.1 ls 指令叠加使用 4.4 mkdir 命令4.5 rmdir 命令4.6 cp 命令…

一区牛顿-拉夫逊算法+分解+深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测

一区牛顿-拉夫逊算法分解深度学习&#xff01;VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测 目录 一区牛顿-拉夫逊算法分解深度学习&#xff01;VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.中科院一区…

机器学习04-为什么Relu函数

机器学习0-为什么Relu函数 文章目录 机器学习0-为什么Relu函数 [toc]1-手搓神经网络步骤总结2-为什么要用Relu函数3-进行L1正则化修改后的代码解释 4-进行L2正则化解释注意事项 5-Relu激活函数多有夸张1-细数Relu函数的5宗罪2-Relu函数5宗罪详述 6-那为什么要用这个Relu函数7-文…

RunCam WiFiLink连接手机图传测试

RunCam WiFiLink中文手册从这里下载 一、摄像头端 1.连接天线&#xff08;易忘&#xff09; 2.打开摄像头前面的盖子&#xff08;易忘&#xff09; 3.接上直流电源&#xff0c;红线为正&#xff0c;黑线为负 4.直流电源设置电压为14v&#xff0c;电流为3.15A&#xff0c; 通…

STM32之GPIO输出与输出

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 文章目录 一.GPIO输入1.1GPIP简介1.2GPIO基本结构1.3GPIO位结构1.4GPIO的八种模式1.4.1浮空/上拉/下拉输入1.4.2 模拟输入1.4.3 推挽输出\开漏输出 二.GPIO输入2.1.按键介绍2.2传感器模块介绍2.3按键电路 一.G…

动手学深度学习-多层感知机-10预测房价

目录 下载和缓存数据集 Kaggle 访问和读取数据集 数据预处理 训练 K折交叉验证 模型选择 提交Kaggle预测 小结 之前几节我们学习了一些训练深度网络的基本工具和网络正则化的技术&#xff08;如权重衰减、暂退法等&#xff09;。 本节我们将通过Kaggle比赛&#xff0c…

左神算法基础巩固--1

文章目录 时间复杂度常数时间的操作时间复杂度的定义时间复杂度的作用剖析递归行为和递归行为时间复杂度的估算 排序选择排序冒泡排序插入排序归并排序小和问题问题描述解题思路 快速排序荷兰国旗问题问题描述 堆排序堆结构大根堆小根堆 桶排序 二分二分搜索 ^的运用不用额外空…

【C++读写.xlsx文件】OpenXLSX开源库在 Ubuntu 18.04 的编译、交叉编译与使用教程

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 2024-12-17 …

汽车电子零部件(15):AVM全景影像系统

概述: 使用ADAS全景监控(AVM)精确停车和操纵。这项先进技术采用多个摄像头,提供车辆周围环境的鸟瞰图。 360度全景监控系统: 360 AVM系统可以帮助驾驶员360度查看车辆周围的情况,避免发生碰撞。360 AVM系统由一个电子控制单元(ECU)和四个摄像头组成。ECU将处理四个摄…

C语言习题2.0

C语言习题1.0 C语言习题-CSDN博客 目录 C语言习题1.0 C语言习题-CSDN博客 找一个数字的连续因子 求N个分数的和 正整数AB 函数 预处理 文件处理 操作符 找一个数字的连续因子 //找连续因子,及其个数 int main() {int a;scanf("%d", &a);int num 0; …

flask flask-socketio创建一个网页聊天应用

应用所需环境&#xff1a; python 3.11.11 其他 只需要通过这个命令即可 pip install flask3.1.0 Flask-SocketIO5.4.1 -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple 最好是用conda创建一个新的虚拟环境来验证 完整的pip list如下 Package Version ----…

重拾设计模式--观察者模式

文章目录 观察者模式&#xff08;Observer Pattern&#xff09;概述观察者模式UML图作用&#xff1a;实现对象间的解耦支持一对多的依赖关系易于维护和扩展 观察者模式的结构抽象主题&#xff08;Subject&#xff09;&#xff1a;具体主题&#xff08;Concrete Subject&#xf…