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

6.2.1 网络基本服务---域名解析系统DNS

6.2.1 网络基本服务—域名解析系统DNS

因特网是需要提供一些最基本的服务的,今天我们就来讨论一下这些基本的服务。

  1. 域名系统(DNS)
  2. 远程登录(Telnet)
  3. 文件传输协议(FTP)
  4. 动态主机配置协议(DHCP)
  5. 电子邮件系统(E-mail)
  6. 万维网(www)

一、域名系统(DNS)

因特网中IP单播地址标识主机的网络连接,组播地址则是标识一组主机,主机间的通信必定会使用IP地址,但是我们也知道IPv4地址使用点分十进制表示,相对比较难于记忆,因此对于服务器主机,除了分配IP地址还会为其指定域名,这样一来访问服务器时就不用给出他的IP地址了,而只需要给出服务器的域名,但客户机与服务器通信过程中仍然使用IP地址,此时需要解决的问题就是域名和IP地址之间如何关联,又是谁来维护?这里就是我们所说的域名系统。

域名系统是因特网使用的命名系统,完成域名解析,将域名解析到特定的IP地址。

域名系统可以看做是因特网的电话簿,维护名址映射,也就是域名与IP地址之间的映射,并且提供域名解析,将方便记忆的计算机主机域名转化为IP地址。

DNS采用客户/服务器应用模式,其核心是分级的、基于域的命名机制以及实现该命名机制的分布式数据库系统。

域名解析是由若干个域名服务器程序完成的。域名服务器程序在专设的节点上运行,运行该程序的节点称为域名服务器。

(一)因特网的域名结构
  1. 因特网采用了层次树状结构的命名方法。

  2. 任何一个连接在因特网上的主机或路由器,都有一个惟一的层次结构的名字,即域名。

  3. 域名的结构由若干个分量组成,各分量之间用点隔开,从右至左依次是顶级域名、二级域名、三级域名

    .... .三级域名.二级域名.顶级域名
    
    1. 顶级域名(Top Level Domain,TLD),有两个域名管理相关机构,一个是iana,互联网编号分配机构,它监督全球IP地址分配,自治系统分配,域名系统中根区的管理、媒体类型和其他Internet协议相关的符号和号码。另一个是成立较晚1998年10月才成立的承担域名系统管理,IP地址分配,协议参数配置等职能的非营利性机构ICANN,到2015年IANA和ICANN确定的顶级域名有

      1. 技术设施顶级域名(infrastructure top-level domain):.arpa(Address and Routing Parameter Area),以前是int,2000年5月规定改为arpa,.int表示国际组织

      2. 通用顶级域名(generic top-level domains,gTLD):有三个或更多的字符,最早的通用顶级域名是:

        .com表示公司企业.net 表示网络服务机构
        .org 表示非营利性组织.edu 表示教育机构(美国专用)
        .gov 表示政府部门专用(美国专用).mil 表示军事部门(美国专用)
      3. 国家代码顶级域名(country-code top-level domains,ccTLD):两个字母的域表示国家或地区,.cn表示中国,.us表示美国,.uk表示英国等。

      4. ICANN在2000年11月宣布了7个新的通用顶级域名

        .aero用于航空运输企业
        .biz用于公司和企业
        .coop用于合作团体
        .Info适用于各种情况
        .museum用于博物馆
        .name用于个人
        .pro用于会计、律师和医师等自由职业者
    2. 因特网的名字空间

      因特网的名字空间是分层的,像一棵倒置的树,树叶是高级别的域名,与树根相连的是顶级域名,比如清华大学的邮件服务器域名是mail.qinghua.edu.cn,而CCTV的邮件服务器域名是mail.cctv.com

  4. 各分量分别代表不同级别的域名

二、域名服务器部署

域名服务器分为根域名服务器和授权域名服务器,作为主机默认域名服务器的本地授权服务器也称为本地域名服务器,因特网域名系统分层命名空间中顶级域名管辖区是DNS根区,DNS根区有13个根服务器组成的群来提供服务,其中十个根服务器在美国,两个在欧洲,一个在亚洲,根服务器负责对因特网顶级域名的查询。因此每次的域名解析要么起始于向根域名服务器的查询,要么使用曾经从根域名服务器获得的信息。DNS根区也称为DNS根域,DNS根域没有名字,在DNS分层体系中它的标签是一个空串,根域包含因特网所有顶级域名,截止2015年7月,根域包含1058个顶级域名,其中包括730个通用顶级域名,301个国家代码顶级域名,根服务器使用根区文件回答对顶级域名的查询,返回顶级域名授权服务器的IP地址,或返回顶级域名不存在的指示。2004年12月1058个顶级域名由773个不同的DNS授权服务器,每个管辖区都有一个或多个授权域名服务器,。

三、域名解析过程

因特网允许各单位根据具体情况将本单位的域名划分为若干个域名服务器管辖区(zone),并在各管辖区中设置相应的授权域名服务器。

当一个主机需要解析域名时使用域名解析器软件,DNS客户执行查找,该解析器将名字分解为从右至左的标签,向根服务器查询第一个标签,以及顶级域名,获得相应负责的授权服务器的IP地址,对从右到左的标签,分别进行查询,依次返回更具体的域名服务器的IP地址,直到一个域名服务器返回原始查询的答案,用户应用程序中的DNS解析器,而专门的DNS应用服务器通常实现递归解析器,也就是说有两种解析器,事实上大多数信息在一段时间内不会经常进行改变,因此相关信息会被中间域名服务器缓存或被用户应用程序内置的名字缓存区缓存,因此到根域名服务器的DNS查找相对较少。如图

实例

图中有顶级域名com的授权域名服务器,二级域名的abc.com授权服务器,三级域名y.abc.com授权服务器,这里没有列出根域名服务器,这里我们通过这个示例了解一下域名解析过程,这里给出的是递归查询。

如图

递归

图中有顶级域名服务器,.com授权域名服务器,二级域名的abc.com授权服务器,三级域名y.abc.com授权服务器,xyz.com管辖区的授权服务器,假设各个本地域名服务器已经保存了从根服务器返回的顶级域名授权服务器的IP地址,现在m.xyz.com主机要解析t.y.abc.com的IP地址是什么

  1. 首先主机要向本地域名服务器发送询问,该服务器无法解析其他管辖区的域名
  2. 向.com顶级域名服务器发送询问,.com域名服务器也无法解析域名,但他知道问谁更合适
  3. .com顶级域名服务器将询问转发给abc.com管辖区的授权服务器
  4. 由abc.com授权服务器转发给y.abc.com的授权服务器,该服务器会返回答案,最终答案也就是t.y.abc.com的IP地址。
  5. 把答案逐级转到m.xyz.com主机的本地域名服务器,由其返回给m.xyz.com主机。

除了递归查询还有迭代查询,迭代查询方法中,客户将询问一系列的DNS服务器,每个服务器将引导客户到该系列DNS服务器中的下一个直到有一个服务器能够完全解决请求,如对www.example.com可能得解析过程是先询问根服务器,然后询问.com授权域名服务器,最后询问.example.com授权域名服务器。如图是一个迭代域递归相结合的查询。问题也是m.xyz.com主机要解析t.y.abc.com的IP地址是什么。

迭代

  1. 主机向本地域名服务器发送询问
  2. xyz.com区的授权服务器中的DNS解析器采用迭代查询方式,查询根域名服务器
  3. 根域名服务器返回.com服务器的IP地址
  4. xyz.com区的服务器中的DNS解析器采用递归查询方式,询问.com服务器
  5. .com服务器询问.abc.com服务器
  6. abc.com服务器再询问y.abc.com服务器
  7. 而y.abc.com服务器知道m.xyz.com的IP地址,于是将解析结果返回给abc.com服务器
  8. abc.com服务器将解析结果返回给.com服务器。
  9. .com服务器再将解析结果返回给xyz.com服务器
  10. xyz.com服务器将域名t.y.abc.com的IP地址返回给发起询问的主机。

相关文章:

6.2.1 网络基本服务---域名解析系统DNS

6.2.1 网络基本服务—域名解析系统DNS 因特网是需要提供一些最基本的服务的,今天我们就来讨论一下这些基本的服务。 域名系统(DNS)远程登录(Telnet)文件传输协议(FTP)动态主机配置协议&#x…...

通用文字识别OCR 之实现自动化办公

摘要 随着技术的发展,通用文字识别(OCR)已经成为现代办公环境中不可或缺的工具之一。OCR技术可以将印刷或手写文本转换为可编辑或可搜索的数字文本,极大地提高了办公效率并实现了自动化办公。本文将深入探讨OCR技术在实现自动化办…...

Spring Boot 有哪些特点?

目录 一、自动配置 二、嵌入式 Tomcat Web 服务器 三、入门 POM 四、Actuator执行器 API 五、SpringBoot初始化器 一、自动配置 Spring Boot的自动配置是Spring Boot框架提供的一种功能,它可以根据用程序的依赖和配置信息,自动配置一些常见的功能模…...

10个图像处理的Python库

在这篇文章中,我们将整理计算机视觉项目中常用的Python库,如果你想进入计算机视觉领域,可以先了解下本文介绍的库,这会对你的工作很有帮助。 1、PIL/Pillow Pillow是一个通用且用户友好的Python库,提供了丰富的函数集…...

项目里不引入外网链接的解决方法

在写轮播的时候,引入了这个外网的资源是不对的 解决方法: 去外网上把文件下载下来,放在src文件夹下即可 在下面路径下引入下载的文件即可...

Java的jdk配置成功,但是输入java -version等,命令行没有任何反应

问题:现在有很多学生出现这种情况, Java的jdk配置成功,但是输入java -version等,命令行没有任何反应 Java下载后,手动配置环境变量,并且配置好,但是在命令行中无论输入java的什么都没有反应 问…...

MySQL select查询练习

一、创表并插入数据 创表: CREATE TABLE worker (部门号 int NOT NULL,职工号 int NOT NULL,工作时间 date NOT NULL,工资 float(8,2) NOT NULL,政治面貌 varchar(10) NOT NULL DEFAULT 群众,姓名 varchar(20) NOT NULL,出生日期 date NOT NULL,性别 char(1) DEFAU…...

Github 标星 60K,不愧是阿里巴巴内部出厂的“Java 核心面试神技”

前言 作为一个 Java 程序员,你平时总是陷在业务开发里,每天噼里啪啦忙敲着代码,上到系统开发,下到 Bug 修改,你感觉自己无所不能。然而偶尔的一次聚会,你听说和自己一起出道的同学早已经年薪 50 万&#x…...

git 使用教程

git 使用手册 参考链接: https://blog.csdn.net/wanjun_007/article/details/126770712 git给远程仓库添加分支并上传文件 注意:git init 是建一个自己的本地仓 0 : 先git clone master 分支 1. 先pull master分支 2. git checkout -b &q…...

【Vue2.0源码学习】模板编译篇-模板解析阶段(HTML解析器)

文章目录 1. 前言2. HTML解析器内部运行流程3. 如何解析不同的内容3.1 解析HTML注释3.2 解析条件注释3.3 解析DOCTYPE3.4 解析开始标签3.5 解析结束标签3.6 解析文本 4. 如何保证AST节点层级关系5. 回归源码5.1 HTML解析器源码5.2 parseEndTag函数源码 6. 总结 1. 前言 上篇文…...

ARM裸机开发-串口通信

一、在使用EXYNOS4412的串口发送和接收的时候,首先要对EXYNOS4412的串口进行配置,我们使用轮询方式时的配置有哪些? 1、配置GPIO,使对应管脚作为串口的发送和接收管脚 GPA0CON寄存器[7:4][3:0] 0x22 GPA0PUD寄存器[3:0] 0 禁止上…...

Dubbo分布式服务框架,springboot+dubbo+zookeeper

一Dubbo的简易介绍 1.Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需…...

网络:UDP out of order;SIP;CPU out-of-order 执行

文章目录 问题SIP如果使用UDP出现乱序网络CPU问题 最近遇到虚拟机收到的UDP包发生乱序。从协议上说,这个乱序是标准,及特性所允许的,期望的。所以上层应用需要适应这种乱序,如果不能适应,可能需要做协议转换,专用TCP,让TCP来处理这种乱序的可能。 产生乱序的原因: 是网…...

我心中的TOP1编程语言—JavaScript

作为一名研发工程师(程序员),平时工作中肯定会接触或了解很多编程语言。每个人都会有自己工作中常用的语言,也会有偏爱的一些编程语言。而我心中的最爱,毫无疑问,就是 JavaScript。 JavaScript 是一门编程…...

CentOS环境下的Maven安装

CentOS 安装 Maven 镜像地址 镜像地址:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/ 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.8/binaries/ 下载maven 将下载好的压缩包拷贝到根目录下 解压 tar -zxvf ap…...

表的增删改查

1、创建表 mysql> create table employee ( -> id int(1) comment 员工编号, -> name varchar(6) comment 员工名字, -> gender varchar(2) comment 员工性别, -> salary int (4) comment 员工薪资); Query OK, 0 rows affected (0.01 sec) 2、…...

Tauri 应用中发送 http 请求

最近基于 Tauri 和 React 开发一个用于 http/https 接口测试的工具 Get Tools,其中使用了 tauri 提供的 fetch API,在开发调试过程中遇到了一些权限和参数问题,在此记录下来。 权限配置 在 tauri 应用中,如果想要使用 http 或 fe…...

基于霍夫变换的航迹起始算法研究(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 一、设计内容 利用Hough变换处理量测得到的含杂波的二维坐标,解决多目标航迹起始问题。使用Matlab进行仿真&#x…...

如何使用Excel公式将(d:1,a:4,c:2,b:3)快速分割成8列并按顺序排列

Excel是一款功能强大的电子表格软件,可以帮助我们处理各种数据。在处理数据时,有时候需要将一列数据按照特定的格式进行分割和重新排列。本文将介绍如何使用Excel公式将"(d:1,a:4,c:2,b:3)"快速分割成8列,并按照指定顺序排列为&quo…...

遥控泊车系统技术规范

目 录 1. 版本履历... 3 2. 文档使用范围... 3 3. 术语缩写... 3 4. 系统架构... 4 5. 功能需求... 4 5.1 功能清单... 4 6.2 功能关系描述(如有)... 4 5.3 功能1. 4 5.3.1 功能总体状态动态说…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...

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

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

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...