当前位置: 首页 > news >正文

【计网 DNS】计算机网络 DNS协议详解:中科大郑烇老师笔记 (六)

目录

  • 0 引言
  • 1 DNS概述
    • 1.1 定义
    • 1.2 DNS域名结构
    • 1.2 域名解析步骤

请添加图片描述

  • 🙋‍♂️ 作者:海码007
  • 📜 专栏:计算机四大基础专栏
  • 📜 其他章节:网络快速入门系列、计网概述、计网应用层详解、计网Web和HTTP、计网FTP、计网EMail、计网DNS、计网P2P
  • 💥 标题:【计网 DNS】计算机网络 DNS协议详解:中科大郑烇老师笔记 (六)
  • ❣️ 寄语:人生的意义或许是可以发挥自己全部的潜力,所以加油吧!
  • 🎈 最后:文章作者技术和水平有限,如果文中出现错误,希望大家能指正

0 引言

DNS是为其他应用提供服务的,不是直接给用户提供服务的。

DNS的必要性

  • IP地址标识主机、路由器,但是IP地址不好记忆,不便于人类使用(没有意义)
  • 人类一般倾向于使用一些有意义的“字符串”来标识Internet上的设备,例如:www.ustc.edu.cn所在的web服务器、zhenwenjie@zzu.edu.cn所在的邮件服务器
  • 所以存在IP地址到“字符串”的相互转换很有必要
  • 用户提供要访问机器的“字符串”名称,由DNS负责将“字符串”名称转换成为二进制的网络地址

DNS系统需要解决的问题

  • 问题1:如何命名设备
    用有意义的字符串(方便记忆)、解决一个平面命名的重名问题:层次化命名
  • 问题2:如何完成名字到IP地址的转换
    分布式的数据库维护和响应名字查询
  • 问题3:如何维护:增加或删除一个域,需要在域名系统中做哪些工作
    在这里插入图片描述

DNS历史

  • ARPANET的名字解析解决方案
    主机名:没有层次的一个字符串(一个平面)
    存在着一个(集中)维护站:维护者一张主机名-IP地址的映射文件:Hosts.txt
    每台主机定时从维护站取文件

  • ARPANET方案存在的问题
    当网络中主机数量很大时,没有层次的主机名很难分配。文件的管理、发布、查找都很麻烦。

DNS总体思路和目的

  • DNS的主要思路
    分层的、基于域的命名机制
    若干分布式的数据库完成名字到IP地址的转换
    运行在UDP之上端口号为53的应用服务
    核心的Internet功能,但以应用层协议实现(在网络边缘处理复杂性)
  • DNS主要目的
    实现主机名-IP地址的转换(name/IP translate)
    其他目的:
    主机别名到规范名字的转换:Host aliasing
    邮件服务器别名到邮件服务器的正规名字的转换:Mail server aliasing
    负载均衡:Load Distribution
    在这里插入图片描述

1 DNS概述

1.1 定义

DNSDomain Name System,域名系统)是一种用于将域名转换为与之关联的IP地址的协议。它是互联网中的基础设施,负责将易于记忆的域名转换为计算机可以理解的IP地址,以便进行网络通信。

1.2 DNS域名结构

  • 一个层面命名设备会有很多重名
  • DNS采用层次树状结构的命名方法
  • Internet根被划分为几百个顶级域(top lever domains)
    • 通用的(generic):.com; .edu; .gov; .int; .mil; .net; .org; .firm; .hsop; .web; .arts; .rec;
    • 国家的(countries):.cn; .us; .nl; .jp
  • 每个子域下面可划分为若干子域(subdomains)
  • 树叶是主机
    在这里插入图片描述

DNS有13个根名字服务器
在这里插入图片描述

域名的管理

  • 一个域管理其下的子域
    • .jp 被划分为 ac.jp co.jp
    • .cn 被划分为 edu.cn com.cn
  • 创建一个新的域,必须征得它所属的同意

域与物理网络无关

  • 域遵从组织界限,而不是物理网络
    • 一个域的主机可以不在一个网络
    • 一个网络的主机不一定在一个域
  • 域的划分是逻辑的,而不是物理的

1.2 域名解析步骤

DNS协议的主要功能是将域名映射到IP地址,并解析域名以获取所需的目标网站或服务。以下是DNS协议的一般步骤:

  1. 查询(Query):当用户在浏览器中输入一个域名时,操作系统的DNS客户端会发送一个DNS查询请求到本地网络中的默认DNS服务器。
  2. 递归查询(Recursive Query):如果本地DNS服务器不知道域名与IP地址的映射关系,它将向根域名服务器发送递归查询请求。(拓展:另一种方法,迭代查询
  3. 根域名服务器(Root Name Server):根域名服务器是DNS层次结构的最高级别,它保存着全球顶级域名(如.com、.org、.net等)的信息。根域名服务器将指导本地DNS服务器到适当的顶级域名服务器
  4. 顶级域名服务器(Top-level Domain Server):顶级域名服务器保存了特定顶级域名下的次级域名服务器信息。它将向本地DNS服务器提供次级域名服务器的IP地址
  5. 权威域名服务器(Authoritative Name Server):次级域名服务器是负责特定域名的IP地址的服务器,它存储了与域名相关的所有记录,包括IP地址等信息。一旦本地DNS服务器获得权威域名服务器的IP地址,它将发送查询请求。
  6. DNS解析(DNS Resolution):本地DNS服务器接收到响应后,将解析的结果发送回DNS客户端。DNS客户端接收到IP地址后,将使用它来建立网络连接。
    在这里插入图片描述
  • 需要注意的是,DNS协议还支持缓存机制,以减少DNS查询的次数和网络流量。一旦DNS查询结果被缓存起来,在一段时间内重复查询相同的域名时,将直接从缓存中提取结果,而无需再次进行完整的DNS查询流程。
  • 总结起来,DNS协议是一种将域名转换为IP地址的协议,它通过多级服务器的协作实现域名解析和IP地址查找。通过DNS协议,用户可以使用易于记忆的域名进行互联网通信,而不需要记住复杂的IP地址。

相关文章:

【计网 DNS】计算机网络 DNS协议详解:中科大郑烇老师笔记 (六)

目录 0 引言1 DNS概述1.1 定义1.2 DNS域名结构1.2 域名解析步骤 🙋‍♂️ 作者:海码007📜 专栏:计算机四大基础专栏📜 其他章节:网络快速入门系列、计网概述、计网应用层详解、计网Web和HTTP、计网FTP、计网…...

vue 生命周期钩子函数 mounted()实例

在挂载后操作dom获取焦点。 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"w…...

数据分享 I 地级市人口和土地使用面积基本情况

数据地址&#xff1a; 地级市人口和土地使用面积基本情况https://www.xcitybox.com/datamarketview/#/Productpage?id394 基本信息. 数据名称: 地级市人口和土地使用面积基本情况 数据格式: ShpExcel 数据时间: 2021年 数据几何类型: 面 数据坐标系: WGS84坐标系 数据…...

被邀请为期刊审稿时,如何做一个合格的审稿人?官方版本教程来喽

审稿是学术研究中非常重要的环节&#xff0c;它可以确保研究的科学性和严谨性。审稿人的任务是检查文章是否符合学术规范&#xff0c;是否具有创新性&#xff0c;是否具有科学价值&#xff0c;以及是否符合期刊的定位和风格。因此&#xff0c;审稿人需要具有扎实的学术背景和丰…...

数据飞轮拆解车企数据驱动三板斧:数据分析、市场画像、A/B 实验

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 近日&#xff0c;火山引擎数智平台&#xff08;VeDI&#xff09;2023 数据飞轮汽车行业研讨会在上海举办&#xff0c;活动聚焦汽车行业数字化转型痛点&#xff0c;从…...

基于PyQt5和OpenCV库的简单的文档对齐扫描应用程序

计算机视觉-作业1 作业要求简介说明 安装运行功能使用待完善代码相关 作业要求 拍一张A4纸文稿的图片&#xff0c;利用角点检测、边缘检测等&#xff0c;再通过投影变换完成对文档的对齐扫描 简介 使用python语言&#xff0c;基于PyQt5和OpenCV库的简单的文档对齐扫描应用程…...

【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割2(基础数据流篇)

构建pytorch训练模型读取的数据,是有模版可以参考的,是有套路的,这点相信使用过的人都知道。我也会给出一个套路的模版,方便学习和查询。 同时,也可以先去参考学习之前的一篇较为简单的3D分类任务的数据构建方法,链接在这里:【3D图像分类】基于Pytorch的3D立体图像分类…...

HDR图像处理软件 Photomatix Pro mac中文版新增功能

Photomatix Pro mac是一款专业的HDR合成软件&#xff0c;可以将不同曝光的多张照片合成为一张照片&#xff0c;而保留更多的细节。并且合成时可以帮助去除照片中的鬼影。Photomatix Pro提供两种类型的过程来增加动态范围&#xff0c;一个过程称为HDR色调映射&#xff0c;另一个…...

【Kotlin精简】第5章 简析DSL

1 DSL是什么&#xff1f; Kotlin 是一门对 DSL 友好的语言&#xff0c;它的许多语法特性有助于 DSL 的打造&#xff0c;提升特定场景下代码的可读性和安全性。本文将带你了解 Kotlin DSL 的一般实现步骤&#xff0c;以及如何通过 DslMarker &#xff0c; Context Receivers 等…...

2021年06月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python编程&#xff08;1~6级&#xff09;全部真题・点这里 一、单选题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 第1题 下列程序运行的结果是&#xff1f; s hello print(sworld)A: sworld B: helloworld C: hello D: world 答案&#xff1a…...

MySQL执行计划分析

执行计划中的常见的列的解释&#xff1a; type system/const &#xff1a;用户主键索引或者唯一索引查询时&#xff0c;只能匹配 1 条数据。一般可以对 sql 查询语句优化成一个常量&#xff0c;那么 type 一般就是 system 或者 const&#xff0c;system 是 const 的一个特例&…...

【数据结构与算法】Snowflake雪花算法Java实现

Snowflake产生的ID由 64 bit 的二进制数字组成&#xff0c;被分成了4个部分&#xff0c;每一部分存储的数据都有特定的含义&#xff1a; 第 0 位&#xff1a; 符号位&#xff08;标识正负&#xff09;&#xff0c;始终为 0&#xff1b;第 1~41 位 &#xff1a;一共 41 位&…...

重要功能更新:妙手正式接入SHEIN供货模式(OBM)店铺,赋能卖家把握出海新机遇!

继接入SHEIN平台模式店铺之后&#xff0c;妙手ERP积极响应卖家需求&#xff0c;正式接入SHEIN供货模式&#xff08;OBM&#xff09;店铺&#xff0c;并支持产品采集、批量刊登、产品管理等功能&#xff0c;帮助跨境卖家快速上品、高效运营&#xff0c;把握出海新机遇。 SHEIN供…...

和鲸ModelWhale与中科可控X系列异构加速服务器完成适配认证,搭载海光芯片,构筑AI算力底座

AIGC 时代&#xff0c;算力作为新型生产力&#xff0c;是国家和企业构建竞争优势的关键。而随着传统计算方式无法满足新时代激增的算力需求&#xff0c;计算场景的多元化和计算应用的复杂化推动了 CPUGPU 异构平台的加速组建。在此全球激烈角逐的大趋势下&#xff0c;我国信创产…...

Vue单文件组件

一、.vue文件 我们使用Vue的单文件组件的时候&#xff0c;一个.vue文件就是一个组件。 例如我们创建一个School组件&#xff1a; 二、组件的结构 我们编写网页代码的时候有HTML结构、CSS样式、JS交互。 组件里也是同样存在这三种结构的&#xff1a; <template><d…...

轻松理解 Transformers(1):Input部分

编者按&#xff1a;Transformers 是人工智能领域近年来最引人瞩目的技术之一&#xff0c;它为语言生成模型的发展做出了巨大的贡献。随着大语言模型&#xff08;LLM&#xff09;的兴起&#xff0c;公众对其背后的技术原理也越来越感兴趣。但是由于Transformers本身具有一定的复…...

PHP MySQL 交互 笔记/练习

PHP 与 MySQL 交互 交互函数 函数名作用mysqli_connect()与MySQL 数据库建立连接。mysqli_close()关闭与MYSQL 数据库建立的连接。mysqli_connect_errno()与MySQL 数据库建立连接时&#xff0c;发生错误时的错误编号。mysqli_connect_error()与MySQL 数据库建立连接时&#x…...

领域驱动设计:基于DDD的微服务设计实例

文章目录 项目基本信息战略设计战术设计后续的工作 用一个项目来了解 DDD 的战略设计和战术设计&#xff0c;走一遍从领域建模到微服务设计的全过程&#xff0c;一起掌握 DDD 的主要设计流程和关键 点。 项目基本信息 项目的目标是实现在线请假和考勤管理。功能描述如下&…...

【PB续命02】Oracle中加密及编码等

Oracle中实现Md5/Base64/AesBase64/UrlEncode等加密编码的使用备忘&#xff0c;参考其它人的贴子&#xff0c;Oracle 11g 亲测有效。 1. Oracle中实现Md5加密 SELECT lower(MD5(白龙马5217)) FROM dual; --返回结果 72853926982028ab8219921ad2918b8f --或 select utl_raw.…...

STM32-LTC6804方案成熟BMS方案

方案下载链接&#xff01;&#xff01;https://mp.weixin.qq.com/s?__bizMzU2OTc4ODA4OA&mid2247549092&idx1&snc73855c4e3d5afddd8608d8528864f95&chksmfcfb1373cb8c9a65a4bd1f545a1a587af882f209e7ccbb8944f4d2514d241ca1d7fcc4615e10&token539106225&a…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...