DNS服务器的原理

2023-11-15


DNS服务器的原理

DNS (Domain Name System) 域名系统的简写
它是一种基于tcp/upd的服务,同时监听在TCP和UPD的53号端口。刚开始,网络刚诞生的时候,只有很少的计算机接入网络,而随着个人PC的发展,网络成爆炸性增长,单纯的IP地址很难记忆,所有有了DNS服务,它可以将ip对应为容易记忆的英文字符,也就是我们现在使用的网址。全球有13台根服务器,而亚洲只有一台位于日本。
为了规范化地址的使用,出现了国际名称地址分配机构,它将域名划分为几个等级 (简单说明)
. 根DNS服务器用符号点表示
.com .net .org .cn .tw 一级域名


ibm.com 二级域名


所以我们通常的网址例如www.ibm.com其实是www.ibm.com. 最后面的一个点指向根服务器。

(一)DNS服务器其实就是存放域名和IP对应的数据库文件,那么它的查询类型有哪些?分为两种
1. 递归查询
2. 迭代查询

递归查询,如果A查询不到ibm.com,服务器A会向下一个服务器B查询,直到找到答案返回
迭代查询,如果A没有ibm.com,但是知道B有,就发送给PC,让它去找B

我们的电脑在域名解析时一般采用两种结合的方式,前半段递归(本地),后半段迭代(非本地)

(二)DNS服务器的解析是双向的:
NAME----->ip : 正向解析,根据主机名查找到对应的IP
ip------>FQDN: 反响解析,根据ip查找到对应的域名

DNS服务器里记录这些解析的信息主要通过一些记录类型来实现:
FQDN ---> IP : A A表示对应的是IP地址
IP -----> FQDN : PTR (pointer) 表示对应的是域名
DOMAIN ----->SERVER : NS (Name Server) 域名服务器的名字
DOMAIN------> MTA : MX (Mail eXchanger) 记录邮箱地址,邮件交换器
aliase-----> jerry : CNAME 解析一个别名的正式名称
SOA (Start Of Authority) 一般标明一个域名的主域名服务器

(三)DNS服务器类型:
本地从服务器
本地主服务器

主服务器----辅助名称服务器
一般来讲,从服务是隔一段时间和其他服务器同步,但是它也有通知的责任,只要它的数据发生变化,它就会通知其他从服务器,不管其他从服务器是否变化都会和它同步


(四)什么是域,区域
DNS的解析需要定义一个域,而这个域下有两个子区域,他们都用来名称解析,名称解析分为两类,一个是正向,一个是反向,需要分别定义:
正向需要一个单独的数据文件

反向需要一个单独的数据文件

所以说区域是物理概念,它和物理文件一一对应。而域是逻辑概念,它指名了一处“地方”。

# 一个域包含了一个正向区域和反向区域,但是区域里也可以开辟出域,.com里有ibm.com域和区域彼此间没有对应关系,并非一定只有两个区域,如果一个域里面划分出多个域,就不止有两个区域


区域传送类型
axfr 完全区域传送-------->传送区域内的所有解析信息
ixfr 部分区域传送-------->只传输变化的内容

如果有一个域名新增或者移过来,那么这个信息的修改是有主服务器来做的,而从服务器每隔一段时间会和主服务器同步信息或者说传送信息,这种传送叫区域传送

(五)DNS服务器响应客户端请求解析流程


请求-----> 本地的/etc/hosts # 如果host文件里有解析,那么返回host文件的解析结果,没有下一步

---->本地DNS缓存 # 查找本地的DNS缓存,如果有,返回结果,没有下一步

----> 找第一台dns服务器 ---->查找缓存 # 查找自己定义的第一个DNS服务器,DNS服务器查找缓存,如果有,返回结果,如有没有,下一步

----> 看看是不是自己负责的域-------> 返回结果 # 第二个DNS正好负责改域,返回结果
↓ 是
不是 # 第二个自己定义的DNS ,没有结果,直接去找根服务器再一步一步往下级域名找

找根DNS服务器

# 通过根服务器一步一步往下找的答案返回为权威答案,而缓存返回的都是非权威答案

说明:
/etc/host 可以实现域名重定向,因为它被优先使用

缓存名称服务器的目的是为了: 加速,节约带宽 ,它不负责管理区域


**转发器: 仅仅帮用户的请求转发的其他服务器上,实现内外防火墙之间DNS服务器转发数据













本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DNS服务器的原理 的相关文章

  • Web 安全漏洞之 OS 命令注入

    什么是 OS 命令注入 上周我们分享了一篇 Web 安全漏洞之 SQL 注入 其原理简单来说就是因为 SQL 是一种结构化字符串语言 攻击者利用可以随意构造语句的漏洞构造了开发者意料之外的语句 而今天要讲的 OS 命令注入其实原理和 SQL
  • 【信道估计】【MIMO】【FBMC】未来移动通信的滤波器组多载波调制方案(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文章
  • 前端必备的 web 安全知识手记

    前言 安全这种东西就是不发生则已 一发生则惊人 作为前端 平时对这方面的知识没啥研究 最近了解了下 特此沉淀 文章内容包括以下几个典型的 web 安全知识点 XSS CSRF 点击劫持 SQL 注入和上传问题等 下文以小王代指攻击者 话不多
  • 图解python | 字符串及操作

    1 Python元组 Python的元组与列表类似 不同之处在于元组的元素不能修改 元组使用小括号 列表使用方括号 元组创建很简单 只需要在括号中添加元素 并使用逗号隔开即可 tup1 ByteDance ShowMeAI 1997 202
  • Python爬虫实战:IP代理池助你突破限制,高效采集数据

    当今互联网环境中 为了应对反爬虫 匿名访问或绕过某些地域限制等需求 IP代理池成为了一种常用的解决方案 IP代理池是一个包含多个可用代理IP地址的集合 可以通过该代理池随机选择可用IP地址来进行网络请求 IP代理池是一组可用的代理IP地址
  • 「网络安全渗透」如果你还不懂CSRF?这一篇让你彻底掌握

    1 什么是 CSRF 面试的时候的著名问题 谈一谈你对 CSRF 与 SSRF 区别的看法 这个问题 如果我们用非常通俗的语言讲的话 CSRF 更像是钓鱼的举动 是用户攻击用户的 而对于 SSRF 来说 是由服务器发出请求 用户 日 服务器
  • 基于java的学生宿舍管理系统设计与实现

    基于java的学生宿舍管理系统设计与实现 I 引言 A 研究背景和动机 基于Java的学生宿舍管理系统设计与实现的研究背景和动机 在数字化时代的推动下 学生宿舍管理系统已经成为了管理学生宿舍的重要工具 学生宿舍管理系统能够帮助管理者更好地管
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析

    Python MongoDB 排序 对结果进行排序 使用 sort 方法对结果进行升序或降序排序 sort 方法接受一个参数用于 字段名 一个参数用于 方向 升序是默认方向 示例 按名称按字母顺序对结果进行排序 import pymongo
  • 深入了解 Python MongoDB 查询:find 和 find_one 方法完全解析

    在 MongoDB 中 我们使用 find 和 find one 方法来在集合中查找数据 就像在MySQL数据库中使用 SELECT 语句来在表中查找数据一样 查找单个文档 要从MongoDB的集合中选择数据 我们可以使用 find one
  • 【计算机毕业设计】二手家电管理平台

    时代在飞速进步 每个行业都在努力发展现在先进技术 通过这些先进的技术来提高自己的水平和优势 二手家电管理平台当然不能排除在外 二手家电管理平台是在实际应用和软件工程的开发原理之上 运用java语言以及前台VUE框架 后台SpringBoot
  • 网络安全基础知识面试题库

    1 基于路由器的攻击手段 1 1 源IP地址欺骗式攻击 入侵者从外部传输一个伪装成来自内部主机的数据包 数据包的IP是 内网的合法IP 对策 丢弃所有来自路由器外端口 却使用内部源地址的数据包 1 2 源路由攻击 入侵者让数据包循着一个不可
  • 国外拨号VPS指南:开启你的全球网络之旅

    在当今数字化时代 互联网已经成为了我们生活的一部分 而要在全球范围内畅通无阻地访问互联网 拥有一个可靠的国外拨号VPS是非常重要的 无论您是为了工作 学习还是娱乐 国外拨号VPS都可以为您提供更广泛的网络体验 本文将为您提供国外拨号VPS的
  • 短信系统搭建主要因素|网页短信平台开发源码

    短信系统搭建主要因素 网页短信平台开发源码 随着移动互联网的快速发展 短信系统已成为企业和个人进行信息传递的重要工具 建立一个高效可靠的短信系统对于企业来说非常重要 下面我们将介绍一些影响短信系统搭建的主要因素 1 平台选择 在搭建短信系统
  • GitLab CI 实现项目A更新代码自动触发项目B更新错误码文档

    一 CI CD简介 CI CD 是持续集成 Continuous Integration 和持续交付 持续部署 Continuous Delivery Continuous Deployment 的缩写 是一种软件开发和交付的最佳实践 这两
  • 毕业设计:基于python人脸识别系统 LBPH算法 sqlite数据库 (源码)✅

    博主介绍 全网粉丝10W 前互联网大厂软件研发 集结硕博英豪成立工作室 专注于计算机相关专业 毕业设计 项目实战6年之久 选择我们就是选择放心 选择安心毕业 感兴趣的可以先收藏起来 点赞 关注不迷路 毕业设计 2023 2024年计算机毕业
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 光波导结构

    摘要 增强现实和混合现实 AR MR 领域的新应用引起了人们对带有光栅区域的光波导系统的越来越多的关注 这些光波导系统用于输入和输出耦合以及扩瞳目的 VirtualLab Fusion为这类系统的仿真和设计提供了几个强大的工具 其中一个是具
  • 网络安全行业热门认证证书合集

    网络安全认证证书 就和学历一样是敲门砖 拿到了可以用不到 但不能没有 技术大牛可以没有证书 但普通人不能没有 1 初级入门 就像学历在职场上展示一个人的基本素养一样 网络安全认证证书可以展示一个人在网络安全领域具备的基本知识和技能 它为初学

随机推荐

  • 「远程开发」VSCode使用SSH远程linux服务器 - 公网远程连接

    文章目录 前言 视频教程 1 安装OpenSSH 2 vscode配置ssh 3 局域网测试连接远程服务器 4 公网远程连接 4 1 ubuntu安装cpolar内网穿透 4 2 创建隧道映射 4 3 测试公网远程连接 5 配置固定TCP端
  • Linux安装mysql5.7.23设置密码问题

    问题 安装mysql没有设置密码导致无法进入mysql 系统 ubuntu 18 04 mysql版本 mysql Ver 14 14 Distrib 5 7 23 for Linux x86 64 using EditLine wrapp
  • 【Linux】HTTPS协议

    目录 前言 HTTPS协议原理 1 概念 2 加密和解密 3 常见加密方式 3 1 对称加密 3 2 非对称加密 4 数据摘要和数据指纹 5 HTTPS工作原理 5 1 方案一 仅对称加密 5 2 方案二 仅非对称加密 5 3 方案三 双方
  • pandas---数据处理(csv文件)

    近期在弄一个项目的前期数据 所以总结了一下 内容如下 以下以csv文件为例 1 DataFrame常用操作 1 1 DataFrame去除空行 1 对于一般空行 2 对于列表式 list 空行 1 2 数据的填充 1 表格中填充0 1 3
  • Springboot actuator端点配置与及基本说明2.2.4版

    pom配置
  • 数据结构与算法之美(01)为什么要学习数据结构和算法?

    你是不是觉得数据结构和算法 跟操作系统 计算机网络一样 是脱离实际工作的知识 可能除了面试 这辈子也用不着 尽管计算机相关专业的同学在大学都学过这门课程 甚至很多培训机构也会培训这方面的知识 但是据我了解 很多程序员对数据结构和算法依旧一窍
  • 解决git中出现的“fatal ‘xxxx‘ does not appear to be a git repository”错误的方法

    今天来分享一下我在使用git中出现的一个错误提示 话不多说 我们直接来分析 这个错误是我在通过SSH方式pull远程仓库时候出现的 错误提示如下 fatal xxx 你的仓库别名 does not appear to be a git re
  • 使用yum命令安装jdk1.8没有jps命令

    问题 使用yum命令安装jdk1 8后 不能使用jps 这是由于没有openjdk devel这个包 使用yum命令下载 yum install java 1 8 0 openjdk devel x86 64 下载完成之后就可以使用jps命
  • Leetcode 刷题笔记(二十八) ——动态规划篇之子序列问题:连续子序列和不连续子序列

    文章目录 系列文章目录 前言 题录 53 最大子数组和 674 最长连续递增序列 300 最长递增子序列 718 最长重复子数组 1143 最长公共子序列 1035 不相交的线 系列文章目录 一 数组类型解题方法一 二分法 二 数组类型解题
  • LSTM原理及实现

    LSTM网络 LSTM核心思想 逐步理解LSTM 遗忘门 输入门 输出门 LSTM变体 多层LSTM LSTM实现手写数字 设置LSTM参数 初始化权值参数 训练 参考资料 前面我们介绍了RNN 现在我们来介绍一种特殊的RNN结构 LSTM
  • 如何用python编写程序打开csv格式文件

    目录 1 用pandas库打开 2 用python内置函数打开 1 用pandas库打开 用如下例子说明 import pandas as pd import os import csv data dir D a user file fna
  • Python 面向对象(三)

    6 3 多态 多态就是同一个对象在不同情况下有不同的状态出现 多态不是语法 是一种设计思想 多态性 一种调用方式 不同的执行效果 多态 同一事物的多种形态 动物分为人类 猪类 狗类 多态和多态性 Mixin设计模式 主要采用多继承方式对类的
  • Android 在已有工程中实现微信图片压缩

    这个我们需要自己去编译 但是已经有人帮我们编译好了 压缩算法也已经实现 因此 我们去下载然后编译即可 https github com bither bither android lib 首先将上面下载好的已经编译好的libjpeg放到jn
  • xubuntu+树莓派4:绕过登录界面,自动登录,直接进入系统

    二郎为什么要做这个呢 因为二郎想让树莓派直接运行起来 不要再去点击登录了 做这个的时候二郎找了很多网上的教程 发现普遍存在的问题是 不注明系统 一顿乱说 跟本解决不了问题 而且容易把系统搞崩 这里二郎再声明一遍 该方法适用于树莓派4系统安装
  • 文科生转行数据分析,分享我的大数据培训经历

    以下文章转载自一位培训数据分析小伙伴的分享 对于很多想转行学习大数据技术 参加大数据培训的小伙伴们 可以参考参考 很多人不敢承认自己是培训出来的 我今天来简单讲讲我参加数据分析培训的经理 大家有什么疑问的可以留言交流 我目前在四川一家大型移
  • 使用纯flutter3.0版本,2个dart文件,搭建ChatGPT简易版聊天客户端程序(含openai与api2d版本)

    文章目录 1 效果展示 2 按钮的搭建 1个组件 3 聊天窗口的搭建 1个dart 4 API请求的实现 1个dart 使用纯Flutter 3 0版本 仅需2个Dart文件 即可搭建ChatGPT简易版聊天客户端程序 包括OpenAI与A
  • CoreDNS篇9-kubernetes插件

    CoreDNS作为现阶段k8s的默认DNS服务以及服务发现的重要一环 其内置的kubernetes插件可谓是举足轻重 本文主要讲解介绍CoreDNS内置的核心插件kubernetes的使用方式和适用场景 CoreDNS的kubernetes
  • (1)哈希函数资料的整理

    一 哈希函数是什么 哈希函数 又叫散列函数 散列算法 是一种从任何一种数据中创建小的数字 指纹 也叫做摘要 的方法 什么意思呢 就是说 你输入任何长度 任何内容的数据 哈希函数输出固定长度 固定格式的结果 这个结果类似于你输入数据的指纹 只
  • Unity3d 发布打包后无法运行exe 报错Failed to load mono解决

    问题 点击运行发布后的 exe就会出现如下错误 解决 原来生成的包里的文件夹在拷贝时少拷了MonoBleedingEdge文件夹 我记得以前的生成包是没有这个文件夹的 这里需要将该文件夹一起拷贝 就可以解决该问题
  • DNS服务器的原理

    DNS服务器的原理 DNS Domain Name System 域名系统的简写 它是一种基于tcp upd的服务 同时监听在TCP和UPD的53号端口 刚开始 网络刚诞生的时候 只有很少的计算机接入网络 而随着个人PC的发展 网络成爆炸性