DJ2-5 DNS:Internet 的目录服务

news/2025/2/12 5:11:10/

目录

1. DNS 简介

2. DNS 服务器提供的功能

3. 分布式、层次数据库

4. DNS 查询方法

5. DNS 缓存和权威 DNS 服务器记录更新

6. DNS 记录

7. DNS 报文

8. 在 DNS 数据库中插入记录

9. DNS 攻击


1. DNS 简介

名称:Domain Name System

DNS 是:

1)一个由分层的 DNS 服务器实现的分布式数据库;

2)一个使得主机能够查询分布式数据库的应用层协议。

DNS 协议运行在 UDP 之上,使用 53 号端口。

2. DNS 服务器提供的功能

1)能进行主机名到 IP 地址的转换

2)支持使用主机别名

一个主机可以有一个规范主机名和多个主机别名。
3)支持邮件服务器使用别名

如:允许一个公司的邮件服务器和 Web 服务器使用相同的主机名。

4)能进行负载分配

DNS 能在冗余的服务器之间进行负载分配。在服务器集群中,每台服务器都有着不同的 IP 地址,而这些 IP 地址都与同一个规范主机名相联系。当客户对这个规范主机名发出一个 DNS 请求时,DNS 服务器在每次回答中循环使用这些 IP 地址 —— 轮询。

3. 分布式、层次数据库

Q:为什么不使用集中式 DNS?

即,Internet 上只使用一个 DNS 服务器,该服务器包含所有的映射。客户将所有查询直接发往单一的 DNS 服务器,该 DNS 服务器直接对所有的查询客户做出响应。

但存在的问题包括:

  • 单点故障:只要该 DNS 服务器崩溃,就会导致全球网络瘫痪!
  • 巨大访问量:不得不处理所有的 DNS 查询。
  • 远距离的集中式数据库:远距离导致严重的时延。
  • 维护:不得不为解决每个新主机的添加而频繁更新。

因此,DNS 采用了分布式的设计方案。

分布式、层次数据库

1)根 DNS 服务器

功能:根 DNS 服务器提供 TLD 服务器的 IP 地址。

全球有 13 台真正的根 DNS 服务器,它们的名字为:

A.root-servers.net  198.41.0.4     美国
B.root-servers.net  192.228.79.201 美国(另支持IPv6)
C.root-servers.net  192.33.4.12    法国
D.root-servers.net  128.8.10.90    美国
E.root-servers.net  192.203.230.10 美国
F.root-servers.net  192.5.5.241    美国(另支持IPv6)
G.root-servers.net  192.112.36.4   美国
H.root-servers.net  128.63.2.53    美国(另支持IPv6)
I.root-servers.net  192.36.148.17  瑞典
J.root-servers.net  192.58.128.30  美国
K.root-servers.net  193.0.14.129   英国(另支持IPv6)
L.root-servers.net  198.32.64.12   美国
M.root-servers.net  202.12.27.33   日本(另支持IPv6) 

其余的根 DNS 服务器都是上面 13 台根 DNS 服务器的镜像。

总共1092 台根 DNS 服务器(截止:2020 年 3 月12 日)

2)顶级域(TLD)DNS 服务器

功能:顶级域(TLD)DNS 服务器提供权威 DNS 服务器的 IP 地址。

TLD DNS 服务器负责:

  • 顶级域名,如:com,org,net,edu 等
  • 所有国家的顶级域名:uk, fr,cn,jp 等

负责维护 TLD DNS 服务器的公司:

  • Network solutions 公司维护 com 顶级域的 TLD 服务器
  • Educause 公司维护 edu 顶级域的 TLD 服务器

3)权威 DNS 服务器

功能:保存 DNS 记录,DNS 记录能将主机名映射为 IP 地址。

在 Internet 上具有公共可访问主机的每个组织机构必须提供公共可访问的 DNS 记录,这些记录将这些主机的名字映射为 IP 地址。一个组织机构的权威 DNS 服务器负责保存这些 DNS 记录。

多数大学和大公司实现并维护它们自己的基本权威 DNS 服务器和辅助权威 DNS 服务器。

plus. 本地 DNS 服务器

类似于 Web 缓存器。

严格来说,一个本地 DNS 服务器并不属于上述层次结构,也无法在本地 DNS 服务器上注册域名。但它对上述层次结构是至关重要的。

每个 ISP 都有一台本地 DNS 服务器,也叫默认服务器。当主机发出 DNS 请求时,该请求被发往本地 DNS 服务器,它起着代理的作用,并将该请求转发到上述层次结构中。

4. DNS 查询方法

1)递归查询

  • 层层上报:只要这一层没有,就再请求上一层。
  • 域名解析的负担转交给被查询的 DNS 服务器。
  • uestc DNS 服务器帮我的主机继续请求上一层,我的主机不用再请求了。

2)迭代查询

  • 甩锅式查询:“我不知道它的名字,但是你可以问 XX 服务器”
  • 被查询的 DNS 服务器回复可以被查询的 DNS 服务器的 IP 地址。
  • uestc DNS 服务器告诉我可以去找 edu DNS 服务器。

plus. 实际情况

我的主机到 uestc DNS 服务器的查询是递归的,其余的查询是迭代的。即,我把请求扔给 uestc DNS 服务器,它帮我挨个挨个地去问 www.yahoo.com 的 IP 地址,问到以后就把 IP 地址传给我的主机。感动了呜呜呜

5. DNS 缓存和权威 DNS 服务器记录更新

1)当 DNS 服务器接收一个 DNS 映射时,它将该映射缓存到本地存储器中。

  • 服务器在一定时间后将丢弃缓存的信息
  • 本地 DNS 服务器可以缓存 TLD 服务器的 IP 地址
  • 因此,根 DNS 服务器不会被经常访问

2)权威 DNS 服务器记录更新:IETF 动态更新/通报机制 [RFC 2136]

6. DNS 记录

RR(resource record,资源记录)提供了主机名到 IP 地址的映射,并被存储在 DNS 服务器中。

RR格式: (name, value, type, ttl)ttl: time-to-live, 是该记录的生存时间
typeACNAMENSMX
name规范主机名主机别名域名邮件服务器的主机别名
valueIP 地址规范主机名相应权威 DNS 服务器的主机名邮件服务器的规范主机名
备注主机别名->规范主机名->IP域名->权威 DNS 服务器->规范主机名->IP

举例

1)权威 DNS 服务器会包含一条用于该主机名的类型 A 记录;

2)非权威 DNS 服务器将包含一条类型 NS 记录,该记录的 name 为包含该主机名的域名;它还包含了一条类型 A 记录,该记录提供了在 NS 记录的 value 中的 DNS 服务器的 IP 地址。

yahoo DNS: (www.yahoo.com, IPwyc, A)com DNS: (yahoo.com, yahoo DNS, NS)(yahoo DNS, IPydns, A)

7. DNS 报文

只有两种报文:查询报文和应答报文,且具有同样的报文格式。

报文头部

1)标识符:16位,查询报文和应答报文使用相同的标识符

2)标志:由若干个标志构成,分别标识不同的功能

  • 查询/应答-0/ 1
  • 查询希望是/非递归查询-1/0
  • 应答可/否获得递归查询-1/0
  • 应答是/否来自权威名字服务器-1/0

8. 在 DNS 数据库中插入记录

假定我刚刚创建一个称为 “矮子王” 的令人兴奋的创业公司。

1)在注册登记机构注册域名 izone.com

我需要提供自己的基本权威 DNS 服务器和辅助权威 DNS 服务器的名字和 IP 地址。该注册登记机构将下列两条资源记录插入注册机构的 DNS 系统中:

(izone.com, dns1.izone.com, NS)
(dns1.izone.com, 212.212.212.1, A)

注册机构将这些 RR 插入到所有的 TLD com 服务器中。

2)输入 Web 服务器的 RR

如果我想建立一个网站,则可以将网址 www.izone.com 以类型 A 的方式记录到我的权威 DNS 服务器 dns1.izone.com 中。

(www.izone.com, 212.212.0.1, A)

3)输入邮件服务器的 RR

如果我想建立一个邮件服务器,则可以将 mail.izone.com 以类型 MX 的方式记录到我的权威 DNS 服务器 dns1.izone.com 中。

(izone.com, mail.izone.com, MX)

9. DNS 攻击

1)利用 DNS 实现 DDoS 攻击

伪造客户地址向大量 DNS 服务器发出请求,导致客户无法访问 DNS 服务器进行域名解析。

2)重定向攻击:中间人攻击、DNS 中毒攻击(发送虚假域名解析结果给 DNS 服务器)

如:客户想要登录交通银行官网,其 DNS 请求被黑客截获,黑客返回一个虚假域名解析结果给客户。客户按虚假域名解析结果进入一个网站,该网站与交通银行官网长得一模一样。客户察觉不到任何问题,并且将会在该网站输入自己的银行账户和密码。


http://www.ppmy.cn/news/34372.html

相关文章

单片机stm32新建工程后的编程准备

STM32学习之新建工程模板_stm32工程模板_榕林子的博客-CSDN博客 1、按基本模板新建全新的工程文件,编译检查一下 2、在工程里新建一个文件夹名称为app,在app里存放相应的驱动文件 3、在app里新建文件夹“led” 4、在led里新建一个led.h文件&#xff…

共享文件和文档方法指南

将文件从一台PC传输到另一台PC可能很麻烦。如果两台计算机位于同一个房间或房屋中,那么您可以使用中间硬盘驱动器或设备(如空白CD或USB闪存驱动器)。 它适用于一次性转账,但如果您发现自己定期转移文件,那么很快就会成…

ubuntu18.04 安装 NVIDIA 显卡驱动

由于最近在ignition gazebo中做仿真,发现启动ignition时报错:显卡驱动不支持OpenGL3.3,于是需要在ubuntu18.04中安装支持的显卡驱动. 主要是做一个过程记录,以后可能还会用到。 文章目录一、查询推荐安装的驱动版本二、安装三、查…

Tomcat And Servlet (1)

文章目录1. Tomcat2. 下载安装3. 启动 Tomcat4. 运行 Tomcat5. Servlet5.1 创建项目5.2 引入依赖5.3 创建目录5.4 编写代码5.5 打包程序5.6 部署程序5.7 验证程序6. 安装 Smart Tomcat 插件7. 使用 SmartTomcat 插件8. 常见错误8.1 出现 4048.2 出现 4058.3 出现 5008.4 出现空…

python学习之基于Python的人脸识别技术学习

摘要: 面部识别技术的应用越来越广泛,它广泛应用于安全系统、人机交互、社交媒体、医疗保健等领域。本文介绍了基于Python的人脸识别技术,包括人脸检测、人脸特征提取和人脸识别三个部分。我们使用OpenCV和Dlib库来实现这些功能,…

【Mysql系列】——详细剖析数据库“索引”【上篇】

【Mysql系列】——详细剖析数据库中的核心知识【索引】😎前言🙌索引索引概述为什么需要索引?索引的优缺点索引结构索引的结构为什么不是二叉树和红黑树?索引的B树结构索引的Hash结构Hash结构索引的特点思考:为什么Inno…

手把手教小伙伴们使用 Nginx 部署 TienChin 项目!

今天我就来手把手教小伙伴们部署 TienChin 项目,一起把这个项目跑起来,看看到底是个什么样的项目。 小伙伴们知道,对于这种前后端分离的项目,我们在实际部署的时候,可以按照前后端分离的方式来部署,也可以…

大数据分析工具Power BI(六):DAX表达式简单运用

DAX表达式数据分析表达式 (DAX) 语言是一种公式语言,Data Analysis Expressions 数据分析表达式,简称DAX表达式,其允许用户定义自定义计算。DAX 包含一些在 Excel 公式中使用的函数,此外还包含其他设计用于处理关系数据和执行动态…