DJ2-5 DNS:Internet 的目录服务

目录

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 请求被黑客截获,黑客返回一个虚假域名解析结果给客户。客户按虚假域名解析结果进入一个网站,该网站与交通银行官网长得一模一样。客户察觉不到任何问题,并且将会在该网站输入自己的银行账户和密码。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue面试题(day06)

文章目录前言请谈谈WXML与标准的html的异同?请谈谈WXSS和CSS的异同?请谈谈微信小程序主要目录和文件的作用?请谈谈小程序的双向绑定和vue的异同?简单描述下微信小程序的相关文件类型?微信小程序有哪些传值(传递数据)方…

【新星计划2023】SQL SERVER (01) -- 基础知识

【新星计划2023】SQL SERVER -- 基础知识1. Introduction1.1 Official Website1.2 Conn Tool2. 基础命令2.1 建库建表2.2 Alter2.3 Drop2.3 Big Data -- Postgres3.Awakening1. Introduction 1.1 Official Website 官方文档(小技巧) Officail Website: …

十个Python图像处理工具,不可不知

这些Python库提供了一种简单直观的方法来转换图像并理解底层数据。 今天的世界充满了数据,图像是这些数据的重要组成部分。但是,在使用它们之前,必须对这些数字图像进行处理 - 分析和操作,以提高其质量或提取一些可以使用的信息。…

【C++学习】继承

🐱作者:一只大喵咪1201 🐱专栏:《C学习》 🔥格言:你只管努力,剩下的交给时间! C是面向对象的编程语言,它有很多的特性,但是最重要的就是封装,继承…

【3DoF算法】

VR 3DoF算法介绍 核心:3DoF算法应用场景,在VIO应用中,当只有测量没有观测的情况下,6DoF算法的预测会退化成一个只有测量的3DoF算法,这时候需要使用3DoF算法,来更加稳定准确的获取3DoF位姿,直到…

【VSCode】Windows 下搭建 Fortran 环境

文章目录Part.I 预备知识Part.II 安装与配置Chap.I 编译环境Chap.II 插件Part.III 测试Chap.I 一个示例Chap.II 注意事项Part.I 预备知识 Fortran 是一种比较古老的语言了,当时作为一种科学计算工具,还是比较火的,因为很多有名的软件都是基于…

LFM雷达实现及USRP验证【章节2:LFM雷达测距】

目录 1. 参数设计 几个重要的约束关系 仿真参数设计 2. matlab雷达测距代码 完整源码 代码分析 回顾:LFM的基本原理请详见第一章 本章节将介绍LFM雷达测距的原理及实现 1. 参数设计 几个重要的约束关系 带通采样定理: 因此如果我们B80MHz时&a…

SQL优化13连问,收藏好!

1.日常工作中,你是怎么优化SQL的? 大家可以从这几个维度回答这个问题: 分析慢查询日志 使用explain查看执行计划 索引优化 深分页优化 避免全表扫描 避免返回不必要的数据(如select具体字段而不是select*) 使用…

【Android -- 开发工具】Xshell 6 安装和使用教程

一、简介 Xshell 其实就是一个远程终端工具,它可以将你的个人电脑和你在远端的机器连接起来,通过向 Xshell 输入命令然后他通过网络将命令传送给远端Linux机器然后远端的Linux机器将其运行结果通过网络传回个人电脑。 二、Xshell 6 的安装 首先&#…

如何通过命令行查看CentOS版本信息和linux系统信息

1.如何查看已安装的CentOS版本信息: 1.cat /proc/version 2.uname -a 3.uname -r 4.cat /etc/centos-release 5.lsb_release -a 6.hostnamectl1. 第一种方式输出的结果是: Linux version 3.10.0-1127.el7.x86_64 (mockbuildkbuilder.bsys.centos.org) …

算法基础-回溯算法

回溯算法大致分为以下几类: 组合:组合、组合总和、电话号码的字母组合 分割:分割回文串、复原IP地址 子集:子集 排列:全排列 棋盘问题:N皇后、解数独 其他:递增子序列、重新安排行程 一、什么是…

gns3:动态路由(ospf) area0 骨干网络(域间)(ABR)+ ospf 连接 rip (外部)(ASBR)+ 区域划分

1.配置好接口ip 全部处于up状态2.配置好lookback口 增加一个虚拟直连网段全部为 255.255.255.0的子网掩码实现上边ospf之间通信r1的全局模式router ospf 1network 192.168.1.0 0.0.0.255 area 1network 1.1.1.0 0.0.0.255 area 1宣告直连 并且划分area 区域为1r2全局模式router…

一种LCD屏闪问题的调试

背景 项目使用ESP32-S3 RGB接口驱动的LCD, 框架 idf-v5.0, LVGL-v7.11 显示画面正常, 但肉眼可见的像是背光在闪烁, 背光电路是应用很久的经典电路, 且排查背光驱动无错, 但开机一段时间后, 闪烁会明显减轻 记录 这块屏的显示驱动芯片为ST7701S, 查看芯片手册有说明特定的上…

全网最完整,接口测试总结彻底打通接口自动化大门,看这篇就够了......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 所谓接口&#xff0…

音视频开发—MediaCodec 解码H264/H265码流视频

使用MediaCodec目的 MediaCodec是Android底层多媒体框架的一部分,通常与MediaExtractor、MediaMuxer、AudioTrack结合使用,可以编码H264、H265、AAC、3gp等常见的音视频格式 MediaCodec工作原理是处理输入数据以产生输出数据 MediaCodec工作流程 Med…

SpringBoot整合Flink(施耐德PLC物联网信息采集)

SpringBoot整合Flink(施耐德PLC物联网信息采集)Linux环境安装kafka前情:施耐德PLC设备(TM200C16R)设置好信息采集程序,连接局域网,SpringBoot订阅MQTT主题,消息转至kafka&#xff0c…

计算机网络体系结构——“计算机网络”

各位CSDN的uu们你们好呀,今天小雅兰来学习一个全新的知识点,就是计算机网络啦,下面,开始虚心学习。 计算机网络的概念 计算机网络的功能 计算机网络的组成 计算机网络的分类 标准化工作 计算机网络的性能 计算机网络的概念 …

Hadoop集群环境配置搭建

一、简单介绍 Hadoop最早诞生于Cutting于1998年左右开发的一个全文文本搜索引擎 Lucene,这个搜索引擎在2001年成为Apache基金会的一个子项目,也是 ElasticSearch等重要搜索引擎的底层基础。 项目官方:https://hadoop.apache.org/ 二、Linux环…

SpringBoot 结合RabbitMQ与Redis实现商品的并发下单【SpringBoot系列12】

SpringCloud 大型系列课程正在制作中,欢迎大家关注与提意见。 程序员每天的CV 与 板砖,也要知其所以然,本系列课程可以帮助初学者学习 SpringBooot 项目开发 与 SpringCloud 微服务系列项目开发 1 项目准备 SpringBoot 整合 RabbitMQ 消息队…

【前端八股文】浏览器系列:性能优化——HTML、CSS、JS、渲染优化

文章目录HTMLCSSCSS加载会造成阻塞吗JavaScript渲染优化参考本系列目录:【前端八股文】目录总结 是以《代码随想录》八股文为主的笔记。详情参考在文末。 代码随想录的博客_CSDN博客-leecode题解,ACM题目讲解,代码随想录领域博主 性能优化,从以下几个方…