详解DNS工作原理及实例分析

news2024/9/30 12:29:39
  1. DNS概述

互联网上的主机能够互相识别、访问,通过分配IP地址的方式进行的。全球主机数量众多,人们要记住像202.12.23.203这样的IP地址,不仅记不住,而且容易出错,于是,人们采用域名的形式,如网易的ip地址为202.12.23.205,对应的域名为www.163.com,这样的域名既有意义,又便于记忆,如人们使用浏览器,在地址栏中输入主机名www.163.com,很容易浏览到网站内容。最早的域名与IP地址的对应关系记录在host文件中,通过软件进行两者的转换,但随着互联网的发展,加入到互联网的主机越来越多,实现ip与域名的转换需要新的策略方案,于是引入了域名系统DNS。

2. 主要概念

(1)DNS域名空间

DNS全称为Domain Name System,整个DNS域名系统由4个部分组成,即根域、顶级域、二级域和子域。如图所示。

从上面示意图可以看出,整个域名空间系统像一个倒置的树,最顶端为根域,也称.域,根域下面为顶级域,通常由2或3个字母的名称,用于表示国家或组织单位类型。表1是基本的“顶级域”类型及适用范围。

           表1 “顶级域”类型及适用范围

类型

说明

Arpa

为ARPA所拥有

Com

用于一般的商业公司

Edu

用于教育单位及学校

Gov

用于政府机构

Int

保留给国际性用途

Mil

用于军事部门

Net

用于提供大范围Internet或电话语音服务的ISP

Org

用于非商业的非营利组织

顶级域之下是第二层域,用于个人或组织注册的名称,因此没有特定的长度,但必须位于指定类型的顶级域之下,如qingdao.com。子域是由已注册的第二层域名衍生而来,可以增加组织中的DNS树状目录,并且将它们按部门或地理位置命名,如kfq.qingdao.com。主机名称则代表特定主机在DNS名称空间中的名称,而最左边的部分常可以来识别网络主机的功能,如www.kfq.qingdao.com,其中www是指主机名,而.kfq.qingdao.com是域名部分,有人习惯将www.kfq.qingdao.com称作域名,实际上是完整的主机名。

(2)Primary(Master)DNS

 在域中负责名称解析的主名称服务器,每个客户端至少要指定一台此类型的服务器的地址。

(3)资源记录

 表示在DNS服务器中,实际记录的DNS域名的对应信息,这些信息又细分为多种类型,都可供在名称空间中注册或解析时使用。

(4)区域(Zone)

 区域是DNS中实际的管理单位,在每个区域中包含独立的数据库内容,以提供客户端的名称解析。区域与域是两个不同的概念,有时一个域包含多个区域。

(5)正向解析(Forwarding)

将主机名称(FQDN-完全合格的域名)解析为IP地址的过程,例如解析kfq.qingdao.com的名称,域名服务器依次解析“.com”、“qingdao”、“kfq”,最后得到IP的地址,并返回给客户端。

(6)反向解析(Resersing)

 与正向解析相反,反向解析是将IP地址解析为主机名称的过程,同时以名为“arpa.in-addr”的域作为解析时的起始域。

3.域名的工作原理

DNS的工作原理及过程分下面几个步骤:

第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。

第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。

第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果存在该纪录,则返还查询结果给本地域名服务器。

第五步:如果没有该纪录,则返回相关的下级的域名服务器的地址。

第六步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存。

第七步:域名服务器将查询到的IP地址返回到本地域名服务器中。

第八步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

整个域名解析过程如图所示。

4.实例

现以具体实例进一步说明Internet域名解析详细过程,各主机的IP地址及域名配置如下:

客户机: 192.168.1.10

本地域名服务器:221.168.12.1

根域服务器:

顶级域名服务器:202.172.16.3 域名:.com

域名服务器:    233.145.1.4  域名:zhu.com

主机            213.144.2.3  域名:www.zhu.com

要求:客户机查询www.zhu.com主机的IP地址。

查询步骤如下:

  • 客户机首先根据本机网络配置中的dns地址221.168.12.1,向本地域名服务器提出域名解析,要求解析www.zhu.com的IP地址。
  • 本地域名服务器从本地缓存中并没有查询到www.zhu.com的IP地址,但本地域名服务器主配置文件中包含根域的信息,请求从根域服务器中查询。
  • 显然,根域服务器中A记录没有www.zhu.com,但有下一级域名服务器(顶级域名服务器)com的IP地址202.172.16.3,因此将com的IP地址返还给本地域名服务器。
  • 本地域名服务器向顶级域名服务器com查询www.zhu.com的IP地址。
  • 顶级域名服务器com查询不到www.zhu.com的IP地址,但可以查询到下一级zhu.com域名服务器的IP地址233.145.1.4,并将查询结果返还给本地域名服务器。
  • 本地域名服务器再次向zhu.com域名服务器查询www.zhu.com的IP地址。
  • zhu.com域名服务器A记录中则有www.zhu.com的IP地址213.144.2.3,因此,将该IP地址返给本地域名服务器。
  • 本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

 

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

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

相关文章

详解 Spring Boot 的 RedisAutoConfiguration 配置

引言 带大家分析 Spring Boot 内置的有关 Redis 的自动配置类【RedisAutoConfiguration】。 1. Spring Data Redis Spring Data Redis 是 Spring Data 家族的一部分,它提供了从 Spring 应用程序中轻松配置和访问 Redis 的功能。 我们来看看官方介绍的特性&#xff…

速通数据结构与算法第七站 排序

系列文章目录 速通数据结构与算法系列 1 速通数据结构与算法第一站 复杂度 http://t.csdnimg.cn/sxEGF 2 速通数据结构与算法第二站 顺序表 http://t.csdnimg.cn/WVyDb 3 速通数据结构与算法第三站 单链表 http://t.csdnimg.cn/cDpcC 4 速通…

基于springboot+小程序的医院核酸检测服务管理系统(医院2)(源码+sql脚本+视频导入教程+文档)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于springboot小程序的医院核酸检测服务管理系统实现了管理员、用户管理、普通管理员、医护人员。 1、管理员实现了首页、用户管理、医护人员管理、普通管理员、通知公告管理、疫苗接种…

【Postgresql】安装新手教程

在以下postgresql官网下载软件 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads下载完成后安装,找个记事本记录下安装过程中填写的数据库管理原的password和port 在所有程序目录中打开pgadmin 输入刚才的数据库管理员密码 自动跳转到以下…

Redis一些简单通用命令认识常用数据类型和编码方式认识Redis单线程模型

通用命令 get() / set() 这是Redis中两个最为核心的命令。 set插入 这里的key 和 value都是字符串,我们可以加双引号 或者单引号,或者不加。 get查找 如果查询的key值不存在,那么会返回一个 nil ,也就是代表空 在Redis中命令…

Hadoop搭建及Springboot集成

文章目录 环境说明下载安装配置单机伪集群配置hadoop-env.sh配置core-sit.xml配置hdfs-site.xml配置 yarn-site.xml配置mapred-site.xml 启动访问web界面 Windows电脑远程调用springBoot 集成 环境说明 使用Hadoop的前提是linux服务器上必须安装java,这里不赘述怎么…

一天学习开发一个APP!PDF转Word文档,Power Platform也能搞定

之前,给大家分享了微软Power Platform开发课程——手把手教你搭建二维码识别器,大家都很感兴趣。听说,很多小伙伴对于PDF转Word文档有困扰,这期我们继续为大家分享Power Platform的开发能力与技巧,怎么通过Power Platf…

[ RK3566-Android11 ] 关于移植 RK628F 驱动以及后HDMI-IN图像延迟/无声等问题

问题描述 由前一篇文章https://blog.csdn.net/jay547063443/article/details/142059700?fromshareblogdetail&sharetypeblogdetail&sharerId142059700&sharereferPC&sharesourcejay547063443&sharefromfrom_link,移植HDMI-IN部分驱动后出现&a…

什么是 JWT?它是如何工作的?

松哥最近辅导了几个小伙伴秋招,有小伙伴在面小红书时遇到这个问题,这个问题想回答全面还是有些挑战,松哥结合之前的一篇旧文和大伙一起来聊聊。 一 无状态登录 1.1 什么是有状态 有状态服务,即服务端需要记录每次会话的客户端信…

什么牌子的护眼台灯质量好?五款护眼台灯性价比高又好用

如今,市场上的护眼台灯琳琅满目,种类繁多。家长们为了孩子们的视力健康,都会精心挑选合适的台灯。什么牌子的护眼台灯质量好?然而,市面上仍存在一些质量不过关的产品,可能会出现频闪、线路短路、底盘过热、…

生产环境升级mysql流程及配置主从服务

之前写到过mysql升级8.4的文章, 因此不再介绍mysql的安装过程 避免服务器安装多个mysql引起冲突的安装方法_安装两个mysql会冲突吗-CSDN博客 生产环境升级mysql8.4.x流程 安装mysql 参考之前文章: 避免服务器安装多个mysql引起冲突的安装方法_安装两个mysql会冲突吗-CSDN博客…

无界购物:线上商城开启便利与智能新潮流-亿发

随着科技的不断进步,线上购物已经成为现代消费者日常生活的重要组成部分。无论是在繁忙的工作间隙,还是在闲暇的周末时光,消费者都能通过线上商城轻松实现购物的愿望。而这一切的背后,是线上商城打破了地理界限,开启了…

【SpringBoot详细教程】-06-Restful风格【持续更新】

点个关注,不迷路 ⾸先,回顾并详细说明⼀下在SSM中使⽤的 Controller 、 RestController 、 RequestMapping 注解。如果您对SpringMVC不熟悉并且还没有尝试过快速⼊⻔案例,建议先看⼀下SSM与Restful相关的内容。 Controller :修饰…

Zynq7000系列中的Quad-SPI(四线制串行外设接口)Flash控制器编程指南

Zynq7000系列中的Quad-SPI(四线制串行外设接口)Flash控制器是一个功能强大的组件,它支持高速数据传输和多种配置模式。以下是基于Zynq7000系列的Quad-SPI Flash控制器编程指南,旨在帮助开发者了解如何配置和使用该控制器。 编程指…

医院配电系统谐波的分析及治理

七次谐波,流入电网。 4.计算机及UPS 目前大部分医院都是通过计算机实现运营和管理工作,计算机数量众多,计算机服务器配有UPS等备用电源,加之个人电脑的开关电源,都是产生谐波的电源。 3医院配电系统谐波设备的治理方…

【Golang】Go语言中时间time相关处理方法

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

微信广告任务平台 ajax_upload 任意文件上传漏洞

0x01 漏洞描述: 微信广告任务平台ajax_upload接口处存在任意文件上传漏洞,攻击者可利用该漏洞将恶意文件上传至服务器,进而可能实现远程代码执行、篡改网站内容或发动其他形式的攻击,严重危及系统与数据安全。 位于控制器中IndexC…

x-cmd pkg | tokei - 代码统计利器,助你快速了解项目进度

目录 简介首次用户技术特点竞品和相关项目进一步阅读 简介 tokei 是一个使用 Rust 编写的显示有关代码统计信息的命令行工具,可以分门别类的统计目录内的代码行数。 tokei 具有良好的跨平台性,可以在 Linux、macOS、Windows 等多种平台上安装运行。 首…

SU03T(语音识别播报模块)

SU03T(语音识别播报模块) 注意:学习模块的方法是最重要的 目录 SU03T(语音识别播报模块) 查找资料 - SU03T 配置固件 1、进入智能公元,并注册登入 2、点击对应的模块,创建产品 3、随便选…

软件测试|数据库常见面试题

在软件测试数据库的面试中,面试官通常会考察应聘者对数据库的理解、SQL语言的应用、数据库性能优化、以及数据库相关的技术栈和工具等方面的知识。以下是一些可能的面试问题及建议的回答思路: 1、什么是关系型数据库,主键,外键&am…