计算机网络:应用层 - 域名系统 DNS

计算机网络:应用层 - 域名系统 DNS

    • 域名结构
    • 域名服务器
    • 域名解析
      • 迭代查询
      • 递归查询


互联网中的每台设备都有一个唯一的IP地址,但这些地址通常是复杂的数字组合,例如 172.217.160.142,难以记忆和识别。域名系统将这些复杂的IP地址与易于记忆的文字名称(域名)对应起来,例如 google.com。这样,用户只需要记住域名,就可以访问相应的网站或服务,大大降低了记忆负担。

DNS就是用域将域名转化为IP地址

域名结构

任何一个连接在互联网上的主机,都有一个唯一的层次结构的名字,即域名

互联网采用层次树状结构的命名方法。

域名由若干标号序列组成,各标号之间用点.隔开,分别为不同级别的域名。

在这里插入图片描述

域名遵循如下规则:

  • 域名中的标号都由英文字母和数字组成,每一个标号不超过 63 个字符,不区分大小写
  • 标号中除连字符-外不能使用其他的标点符号
  • 级别最低的域名写在最左边,而级别最高的顶级域名则写在最右边
  • 由多个标号组成的完整域名总共不超过 255 个字符

域名是多层次的,如图:

在这里插入图片描述

域名中的每一个层次叫做域 (domain) 。最高层次的域可以划分子域,每一个子域还可继续划分子域,这样就形成了顶级域、二级域、三级域,等等。

域名树的叶子节点就是一台计算机的名称了。此处区分一下名称与域名,比如mail.cctv.com是一个域名,而mail这是这个域名对应主机的名称。

顶级域名 TLD又分为三类:

  • 国家顶级域名 nTLD:如cn表示中国,us表示美国,uk表示英国
  • 通用顶级域名 gTLD:最常见的有七个:
    • com:公司企业
    • net:网络服务机构
    • org:非盈利性组织
    • int:国际组织
    • edu:美国教育机构
    • gov:美国政府部门
    • mil:美国军事部门
  • 反向域 arpa:用于反向域名解析,即把IP地址反向解析为域名

在国家顶级域名下注册的二级域名,由国家自行确定,我国划分为如下两类:

  • 行政区域名:共34个,用于我国各个省份和自治区,直辖市等
  • 类别域名:常见的有七个:
    • ac:科研机构
    • com:工,商,金融等企业
    • edu:教育机构
    • gov:政府部门
    • net:提高网络服务的机构
    • mil:军事机构
    • org:非盈利性组织

你会发现,gov在一级域名中表示美国政府,在cn下的二级域名中,表示中国政府。还有comorg等等。也就是说,名称相同的域,等级未必相同


域名服务器

域名系统由分布在世界各地的域名服务器来实现。

域名系统不是以为管理单位,而是以 (zone)为管理单位。每个根据自己的情况来划分,每个区有自己的权限域名服务器,来保存该中所有IP地址域名的映射。

如图所示:

在这里插入图片描述

对于图a,域abc.com只设置一个区abc.com,此时都是abc.com
对于图b,域abc.com划分了两个,分别是abc.comy.abc,com

域名服务器也是分层次的:

在这里插入图片描述

最顶端有一个根域名服务器,随后是顶级域名服务器权限域名服务器。而刚刚案例中abc.comy.abc.com都有自己的权限域名服务器。因为一个权限域名服务器管辖一个,一个内可以有多个权限域名服务器,也可以有多个

  • 根域名服务器:最高层次的域名服务器,也是最重要的。根域名服务器知道所有顶级域名服务器的地址
  • 顶级域名服务器:管理在该顶级域名下注册的二级域名。
  • 权限域名服务器:在一个内部负责一个分区,知道自己分区中所有域名IP地址映射关系。
  • 本地域名服务器:其不属于域名层次结构中,用户查询域名时,一般会(不全是)先通过本地域名服务器,然后本地域名服务器发起请求查询域名,被查询到的域名会被缓存在本地域名服务器中,如果下次查询时,有对应条目的缓存,就不会继续查询,而是直接返回结果了。

域名解析

域名解析分为两种:迭代查询递归查询

迭代查询

某主机想要查询y.abc.com的地址:

在这里插入图片描述

首先查询本地域名服务器,如果该服务器缓存了对应条目,则直接返回结果。否则查询根域名服务器

根域名服务器知道所有顶级域名服务器的地址,y.abc.com的顶级域名是com,于是把com顶级域名服务器的地址给本地域名服务器本地域名服务器再去顶级域名服务器中查询。

顶级域名服务器知道所有在自己下面注册的域名的地址,这一步有可能直接就得到域名对应的地址了,也有可能会得到该域名的权限域名服务器的地址。本地域名服务器再去权限域名服务器中查询。

权限域名服务器知道所有在自己下面注册的域名的地址,此时y.abc.com的地址就可以被解析出来了,返回IP地址本地域名服务器。但是也有可能这个地址归属于同一个的另外一个权限域名服务器,此时返回目的权限域名服务器的地址给本地域名服务器。随后本地域名服务器再去对应的权限域名服务器查询。

本地域名服务器查询到结果后,缓存一份在自己的数据库中,然后将其交给查询该域名的主机。


递归查询

与刚刚同样的查询:

在这里插入图片描述

同样的,首先查询本地域名服务器,如果该服务器缓存了对应条目,则直接返回结果。否则查询根域名服务器

根域名服务器知道所有顶级域名服务器的地址,y.abc.com的顶级域名是com于是根域名服务器自己到com顶级域名服务器中查询

顶级域名服务器知道所有在自己下面注册的域名的地址,这一步有可能直接就得到域名对应的地址了,也有可能会得到该域名的权限域名服务器的地址。于是顶级域名服务器自己到权限域名服务器中查询

权限域名服务器知道所有在自己下面注册的域名的地址,此时y.abc.com的地址就可以被解析出来了,返回IP地址顶级域名服务器

但是也有可能这个地址归属于同一个的另外一个权限域名服务器于是权限域名服务器自己到另外一个权限域名服务器中查询

当最后一个权限域名服务器查询完毕,此时返回给顶级域名服务器,再返回给根域名服务器,再返回给本地域名服务器

本地域名服务器查询到结果后,缓存一份在自己的数据库中,然后将其交给查询该域名的主机。


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

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

相关文章

kafka基础概念

目录 1、kafka简介 2、kafka使用场景 3、kafka基础概念 3.1、消息 3.1.1、消息构成详解 3.1.2、消息存储设计 3.2、topic 3.3、partition 3.4、offset 3.5、replication 3.5.1、replication简介 3.5.2、副本角色 3.5.3、副本类型 3.5.3.1、副本类型简介 3.5.3.2、…

低代码平台实践:打造高效动态表单解决方案的探索与思考

🔥需求背景 我司业务同事在抓取到候选人的简历之后,经常会出现,很多意向候选人简历信息不完整,一个个打电话确认的情况,严重影响了HR的工作效率,于是提出我们可以通过发送邮件、短信、H5链接的方式来提醒候…

【Linux】使用ntpdate同步

ntpdate 是一个在 Linux 系统中用于同步系统时间的命令行工具,它通过与 NTP 服务器通信来调整本地系统时钟。然而,需要注意的是,ntpdate 已经被许多现代 Linux 发行版弃用。 安装 yum install -y ntpdate 查看时间 date同步时间 ntpdate ntp…

端口已被占用 1080

http://www.nirsoft.net/utils/cports.html#DownloadLinks 下载后解压,直接运行cports.exe. 这里写图片描述 找到被占用的端口,右键选择 “Close Selected TCP Connections”

python使用pyautogui自动化模拟鼠标、键盘操作、截屏、识别图片位置

🌈所属专栏:【python】✨作者主页: Mr.Zwq✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询! 您的…

Spring Boot集成tensorflow实现图片检测服务

1.什么是tensorflow? TensorFlow名字的由来就是张量(Tensor)在计算图(Computational Graph)里的流动(Flow),如图。它的基础就是前面介绍的基于计算图的自动微分,除了自动帮你求梯度之外,它也提供了各种常见的操作(op,…

Redis通用命令详解

文章目录 一、Redis概述1.1 KEYS:查看符合模板的所有 key1.2 DEL:删除一个指定的 key1.3 EXISTS:判断 key 是否存在1.4 EXPIRE:给一个 key 设置有效期,有效期到期时该 key 会被自动删除1.5 TTL:查看一个 ke…

《梦醒蝶飞:释放Excel函数与公式的力量》4.1if函数

第4章:逻辑与条件函数 第一节4.1 if函数 在Excel中,逻辑函数用于处理基于特定条件的真假判断,它们是构建复杂公式和进行高级数据分析的基础。本章将深入探讨逻辑函数的使用方法,特别是IF函数,这是Excel中最为常用的条…

Spring Boot程序打包docker镜像

1.将springboot程序使用maven package打包出jar。 2.创建dockerfile。 FROM openjdk:8 VOLUME /tmp EXPOSE 8601 #ADD 后面的参数是项目名字 / 后面的参数是自定义的别名 ADD webflux-hello-0.0.1-SNAPSHOT.jar /webflux-hello.jar #这里的最后一个变量需要和前面起的别名相同…

构建智慧高速公路:软件管理平台业务架构解析

随着交通网络的不断完善和技术的快速发展,智慧高速公路正成为交通领域的重要发展方向。在智慧高速公路系统中,软件管理平台扮演着关键的角色,它不仅是管理各种设备和系统的核心,还承担着数据监控、故障诊断、维护管理等重要任务。…

探索序列到序列模型:了解编码器和解码器架构的强大功能

目录 一、说明 二、什么是顺序数据? 三、编码器解码器架构的高级概述: 3.1 编码器和解码器架构的简要概述: 3.2 训练机制:编码器和解码器架构中的前向和后向传播: 四、编码器解码器架构的改进: 4.1.…

1.3自然语言的分布式表示-word2vec

文章目录 0基于计数的方法的问题1什么是基于推理的方法2神经网络中单词的表示2.1 MatMul 层的实现 3简单word2vec的实现3.1 CBOW模型的结构3.1.1神经元视角3.1.2层的视角3.1.3多层共享权重时存在的问题 3.2 CBOW模型的学习3.3单词的分布式表示 代码都位于:nlp&#…

Unity 工具 之 Azure 微软 【GPT4o】HttpClient 异步流式请求的简单封装

Unity 工具 之 Azure 微软 【GPT4o】HttpClient 异步流式请求的简单封装 目录 Unity 工具 之 Azure 微软 【GPT4o】HttpClient 异步流式请求的简单封装 一、简单介绍 二、实现原理 三、注意实现 四、简单效果预览 五、案例简单实现步骤 六、关键代码 一、简单介绍 Unit…

推荐5个AI辅助生成论文、降低查重率的网站【2024最新】

一、引言 对于忙碌的学生来说,毕业论文通常是一项艰巨的任务。幸运的是,随着人工智能技术的发展,现在有一些工具可以帮助学生轻松完成论文。本文将介绍五个免费的AI工具,它们能够一键帮助你生成毕业论文,让你的学术生…

Minecraft服务端配置教程

一、下载服务端核心文件 下载 | FastMirror 无极镜像 | 我的世界核心下载 Downloads for Minecraft Forge for MinecraftForge服务端下载 MCVersions.net - Minecraft Versions Download List原版 注意,这个网站可以下载Forge水桶等插件和模组端,如果…

华为---静态路由-浮动静态路由及负载均衡(二)

7.2 浮动静态路由及负载均衡 7.2.1 原理概述 浮动静态路由(Floating Static Route)是一种特殊的静态路由,通过配置去往相同的目的网段,但优先级不同的静态路由,以保证在网络中优先级较高的路由,即主路由失效的情况下&#xff0c…

AI界的“视频滤镜”(Stable Diffusion进阶篇-TemporalKit视频风格转化),手把手教你制作原创AI视频

大家好,我是向阳 在之前的文章中我也分享过如何进行AI视频的制作,说是AI视频其实也就是通过Stable Diffusion进行视频重绘,也就是将一个视频一帧一帧重绘为自己想要的画面,然后再连贯起来成为视频。 这个东西其实比较耗费时间和…

Linux中如何通过脚本文件实现对外流量的实时监测

while true #无限循环 doclear #清除屏幕flow$( cat /proc/net/dev | awk /ens160/{print $2} ) #查看receive流量trantsmit_flow$( cat /proc/net/dev | awk /ens160/{print $10} ) #查看transimit流量external_traffic$(( flow - trantsmit_flow )) #输入流量减去输…

贾英才主任受聘担任“两个中心”专家委员会委员

近日,第二届海峡两岸中西医结合肾脏病学术大会授牌仪式在北京隆重举行。 这一盛会吸引了众多医学领域的专家学者,共同探讨中西医结合治疗肾脏病的最新进展和未来发展方向。 在此次大会上,崇文门中医医院的贾英才主任凭借其在肾脏病领域的卓…

计算机网络知识点汇总(二)

计算机网络知识点汇总 第1章计算机网络体系结构 1.1 计算机网络概述 1.1.1 计算机网络的概念 ​ 计算机网络是由若干个结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是就三级、集线器、交换机、或者路由器等,网络之间通过路由器进行互联&#xf…