当前位置: 首页 > 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 功能总体状态动态说…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM&#xff09…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...