你了解DNS吗?
你了解DNS吗?
- 一. 介绍
- 二. DNS的工作原理
- 三. DNS查询流程示意图
- 四. DNS 记录类型
- 五. DNS的安全问题与 DNSSEC
前言
这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。
作者:神的孩子都在歌唱
一. 介绍
DNS(Domain Name System,域名系统)是互联网的“电话簿”,负责将人类可读的域名(如 www.example.com)转化为机器能理解的 IP 地址(如 192.0.2.1)。由于网络通信依赖于 IP 地址,而我们更习惯于使用域名,DNS 就是为了这个目的而设计的,提供了高效的域名解析服务。
二. DNS的工作原理
当你在浏览器中输入一个网址时,背后发生的过程其实是通过 DNS 进行域名解析。DNS 查询过程大致可以分为以下几个步骤:
-
用户发起请求
用户在浏览器中输入域名(如www.example.com)。此时,计算机会检查本地缓存,看看是否已经存储了该域名对应的 IP 地址。如果缓存有结果,直接返回;否则,会开始查询过程。 -
本地 DNS 服务器的角色
如果本地缓存中没有对应的 IP 地址,操作系统会将请求发送给配置的 本地 DNS 服务器(通常由互联网服务提供商(ISP)提供)。此时,本地 DNS 服务器会尝试找到该域名对应的 IP 地址。如果本地 DNS 服务器本身没有记录,它会继续向其他 DNS 服务器查询。 -
递归查询
如果本地 DNS 服务器没有缓存该域名的解析结果,它将向上级的 DNS 服务器发起 递归查询。首先,查询会被发送到 根域名服务器。 -
根域名服务器
根域名服务器负责管理整个 DNS 系统的最顶层。它并不直接保存域名和 IP 地址的映射,而是指引 DNS 查询到 顶级域名服务器(TLD 服务器)。例如,查询www.example.com时,根域名服务器会指向.com顶级域名的服务器。 -
TLD 服务器
顶级域名服务器负责管理特定顶级域(如.com,.org等)。TLD 服务器会将查询进一步转发到负责该域名的 权威 DNS 服务器。 -
权威 DNS 服务器
权威 DNS 服务器是最终的“答案源”,它保存了特定域名的确切解析记录,包括域名与 IP 地址的映射。它会将查询结果返回给发起请求的 DNS 服务器。 -
返回结果
最后,DNS 服务器将解析到的 IP 地址返回给用户的浏览器,浏览器便可以使用该 IP 地址与目标网站的服务器建立连接,加载网页内容。
三. DNS查询流程示意图
下面是简化后的 DNS 查询流程 图示,帮助更好地理解 DNS 是如何工作的:

四. DNS 记录类型
DNS 服务器保存了多种类型的记录,最常见的包括:
- A 记录:将域名映射到一个 IPv4 地址。
- AAAA 记录:将域名映射到一个 IPv6 地址。
- CNAME 记录:为一个域名指定别名。
- MX 记录:指定邮件服务器地址。
- TXT 记录:存储任意文本数据,用于验证等目的。
- NS记录:域名服务器记录,指明该域名由那台服务器来解析
- PTR指针:用于将一个IP地址映为一个主机名
五. DNS的安全问题与 DNSSEC
虽然 DNS 是一个强大且高效的系统,但它也面临一定的安全风险,如 DNS 欺骗(DNS Spoofing)和 DNS 解析劫持。为了加强 DNS 安全,DNSSEC(DNS Security Extensions)应运而生,它通过为 DNS 响应提供数字签名,确保数据的完整性和真实性,防止恶意篡改。
作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客连接
相关文章:
你了解DNS吗?
你了解DNS吗? 一. 介绍二. DNS的工作原理三. DNS查询流程示意图四. DNS 记录类型五. DNS的安全问题与 DNSSEC 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 一. 介绍 …...
利用JavaScript实现顺序九宫格抽奖
顺序九宫格思路: 1.先获取抽奖按钮,方便给按钮绑定点击事件2.初始化下标k0,用于表示当前选中的索引下标,后续滚动起来会一直刷新3.获取大div盒子4.获取盒子里所有div元素,充当一个数组,后续可以通过下标来访问每个小div࿰…...
音视频入门知识(四):封装篇
⭐四、封装篇 H264封装成mp4、flv等格式,那为什么需要封装? h264也能播放,但是按照帧率进行播放,可能不准 ★FLV **FLV(Flash Video)**是一种用于传输和播放视频的容器文件格式。FLV 格式广泛应用于流媒…...
在基于IMX6ULL的Linux嵌入式编程中,与内存相关的堆(Heap)和栈(Stack)有什么区别?Linux 系统中堆和栈的内存布局是怎么样的?
堆(Heap)和栈(Stack)的概念和区别 在基于 IMX6ULL 的 Linux 嵌入式编程中,堆(Heap)和栈(Stack)是两种不同的内存分配方式,各自具有不同的特点和用途。以下是它们的主要区别: 1. 存储位置 堆&am…...
Sealos Devbox 基础教程:使用 Cursor 从零开发一个 One API 替代品
随着技术的成熟和 AI 的崛起,很多原本需要团队协作才能完成的工作现在都可以通过自动化和智能化的方式完成。于是乎,单个开发者的能力得到了极大的提升 - 借助各种工具,一个人就可以完成开发、测试、运维等整条链路上的工作,渡劫飞…...
pthread.h互斥锁与原子操作
一:互斥锁 pthread.h 是 POSIX 线程库的头文件,它提供了多线程编程所需的各种功能。其中,互斥锁(mutex)的实现涉及多个底层机制: 1. 互斥锁的基本结构 在 POSIX 线程库中,互斥锁通常包含以下…...
网络基础入门到深入(3):网络协议-HTTP/S
目录 一、HTTP和HTTPS协议简介 1.HTTP协议 .HTTP 协议 作用: 特点: 2.HTTPS协议 作用: 实现方式: 特点: 二.HTTP的请求与响应结构 1.HTTP请求结构 1.请求行:描述操作和资源 2.请求头: 3.请求体 : 2.HTTP…...
Git的.gitignore文件详解与常见用法
诸神缄默不语-个人CSDN博文目录 在日常使用 Git 进行版本控制时,我们经常会遇到一些不需要被提交到远程仓库的文件(例如日志文件、临时配置文件、环境变量文件等)。为了忽略这些文件的提交,Git 提供了一个非常有用的功能…...
UniApp 组件的深度运用
一、引言 在当今的移动应用开发领域,跨平台开发已成为主流趋势,而 UniApp 作为其中的佼佼者,备受开发者青睐。UniApp 的强大之处很大程度上源于其丰富且功能多样的组件体系,这些组件宛如精巧的积木,能够帮助开发者快速…...
k8s部署nginx+sshd实现文件上传下载
要通过 nginx 和 sshd 实现文件的上传和下载,通常的做法是结合 SSH 协议和 HTTP 协议,使用 nginx 提供 Web 服务器功能,同时使用 sshd(即 SSH 服务)来处理通过 SSH 协议进行的文件传输。 SSH 实现文件的上传和下载&…...
Spring-Mybatis 2.0
前言: 第一点:过于依赖代码生成器或AI,导致基于mybaits的CRUD通通忘了,所以为了找回遗忘的记忆,有了该系列内容。 第二点:通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能…...
Linux 的历史与发展:从诞生到未来
Linux 的历史与发展:从诞生到未来 1. 起源之前:操作系统的历史背景 在 Linux 问世之前,操作系统的发展经历了多个重要阶段,这些阶段为 Linux 的诞生奠定了基础: 1940-1950 年代:计算机初期 早期计算机如 [[…...
SQL Server实现将分组的其他字段数据拼接成一条数据
在 SQL Server 中,可以使用 STRING_AGG 函数(SQL Server 2017 及更高版本支持)将分组的其他字段数据拼接成一条数据。以下是示例代码: 假设有一个表 Orders,结构如下: OrderIDCustomerIDProduct1C001Appl…...
学习笔记 --C#基础其他知识点(同步和异步)
C#中的同步和异步《一》 以下理解借鉴博客:借鉴博客地址1 异步编程(Asynchronous) 允许任务在后台执行,而不会阻塞调用线程。C#使用async和await关键字 async Task AsynchronousMethod() {// 等待异步操作完成await Task.Dela…...
一维、线性卡尔曼滤波的例程(MATLAB)
这段 MATLAB 代码实现了一维线性卡尔曼滤波器的基本功能,用于估计在存在噪声的情况下目标状态的真实值 文章目录 一维线性卡尔曼滤波代码运行代码介绍1. **初始化部分**2. **数据生成**3. **卡尔曼滤波器实现**4. **结果可视化**5. **统计输出**源代码总结一维线性卡尔曼滤波 …...
极品飞车6的游戏手柄设置
极品飞车,既可以用键盘来控制车辆的前进、后退、左转、右转、加速与减速,也可以使用游戏手柄来操作车辆的运行。需要注意的是,极品飞车虽然支持手柄,但是仅支持常见的北通、罗技还有部分Xbox系列的手柄,至于其他的PS4手…...
FreeRTOS Lwip Socket APi TCP Server 1对多
源文件 /********************************************************************************* file lwip_tcp_driver.cpp* brief TCP Server implementation using LwIP******************************************************************************* at…...
逆袭之路(11)——python网络爬虫:原理、应用、风险与应对策略
困厄铸剑心,逆袭展锋芒。 寒苦凝壮志,腾跃绘华章。 我要逆袭。 目录 一、引言 二、网络爬虫的基本原理 (一)网络请求与响应 (二)网页解析 (三)爬行策略 三、网络爬虫的应用领…...
KOI技术-事件驱动编程(Sping后端)
1 “你日渐平庸,甘于平庸,将继续平庸。”——《以自己喜欢的方式过一生》 2. “总是有人要赢的,那为什么不能是我呢?”——科比布莱恩特 3. “你那么憎恨那些人,和他们斗了那么久,最终却要变得和他们一样,…...
LVS 负载均衡原理 | 配置示例
注:本文为 “ LVS 负载均衡原理 | 配置” 相关文章合辑。 部分内容已过时,可以看看原理实现。 未整理去重。 使用 LVS 实现负载均衡原理及安装配置详解 posted on 2017-02-12 14:35 肖邦 linux 负载均衡集群是 load balance 集群的简写,翻…...
终极AI图像修复指南:用Real-ESRGAN让低清动漫影像重现光彩
终极AI图像修复指南:用Real-ESRGAN让低清动漫影像重现光彩 【免费下载链接】Anime4K A High-Quality Real Time Upscaler for Anime Video 项目地址: https://gitcode.com/gh_mirrors/an/Anime4K Anime4K是一款高性能实时动漫视频超分辨率工具,能…...
FPGA直方图均衡化/直方图拉伸/FPGA图像处理 工程和算法包含以下内容: 1,MATLAB...
FPGA直方图均衡化/直方图拉伸/FPGA图像处理 工程和算法包含以下内容: 1,MATLAB中实现图像处理。 2,verilog代码利用MATLAB联合modelsim仿真实现的图像处理。 3,小梅哥AC620和正点原子新起点/开拓者的FPGA板卡上实现的图像处理。 4…...
程序员必看!高质量免费源码网推荐
在数字化浪潮席卷全球的今天,代码已成为驱动创新的核心动力。无论是初创企业快速搭建商业平台,还是开发者优化项目架构,高质量的源码资源都能显著缩短研发周期、降低开发成本。然而,面对网络上鱼龙混杂的源码平台,如何…...
Hunyuan-MT 7B效果实测:韩语、俄语、藏语等小语种翻译到底有多准?
Hunyuan-MT 7B效果实测:韩语、俄语、藏语等小语种翻译到底有多准? 1. 小语种翻译的痛点与解决方案 在全球化交流日益频繁的今天,小语种翻译需求快速增长,但传统解决方案往往存在三大痛点: 准确率低:韩语…...
告别PX4!用APM+Gazebo+SITL在Ubuntu 20.04上从零搭建无人机仿真环境(保姆级排坑实录)
告别PX4!用APMGazeboSITL在Ubuntu 20.04上从零搭建无人机仿真环境(保姆级排坑实录) 当大多数无人机开发者还在PX4生态中挣扎于环境配置时,APM固件正以更轻量级的架构和灵活的扩展性悄然崛起。本文将带你跳出PX4的思维定式…...
告别WebSecurityConfigurerAdapter:Spring Security 5.7+组件化配置实战指南
1. 从WebSecurityConfigurerAdapter到组件化配置的转变 如果你最近在升级Spring Boot应用,特别是从2.x版本迁移到3.x,肯定会遇到一个重大变化:Spring Security 5.7版本中,WebSecurityConfigurerAdapter这个老朋友已经被正式弃用了…...
嵌入式Linux牛棚养殖监护系统开发实战
1. 项目概述作为一名在嵌入式系统开发领域摸爬滚打多年的工程师,我最近完成了一个很有意思的实战项目——基于嵌入式Linux的牛棚养殖监护系统。这个项目完美结合了嵌入式开发、传感器技术和Qt界面设计,实现了对养殖环境的智能化管理。不同于市面上那些简…...
WPF开源Office控件库全解析,利用css的动画效果制作轮播图。
WPF 开源 Office 风格控件库的技术解析 开源 Office 风格控件库的核心特性 Office 风格用户界面控件库为 WPF 开发者提供了一套高度可定制的 UI 组件,模仿 Microsoft Office(如 Ribbon、Fluent Design)的现代化设计。这类库通常包含以下核心组…...
别只盯着server.log了!Kafka Controller日志与GC日志里的“宝藏”与“陷阱”
别只盯着server.log了!Kafka Controller日志与GC日志里的“宝藏”与“陷阱” 当Kafka集群出现Leader选举异常、副本同步缓慢或频繁Full GC时,大多数工程师的第一反应是打开server.log翻找线索。但真正的高手会告诉你:controller.log和GC日志才…...
Tide静态文件服务终极指南:快速实现高效文件处理方案
Tide静态文件服务终极指南:快速实现高效文件处理方案 【免费下载链接】tide Fast and friendly HTTP server framework for async Rust 项目地址: https://gitcode.com/gh_mirrors/ti/tide Tide是一个为异步Rust打造的快速友好的HTTP服务器框架,提…...
