当前位置: 首页 > ops >正文

计算机网络学习(二)——DNS

一、DNS

DNS(Domain Name System,域名系统)是互联网中将域名解析为IP地址的核心服务。它相当于“互联网的电话簿”,用户使用的如 www.example.com 这样的域名,最终都会被解析为类似 93.184.216.34 的IP地址,供计算机识别和通信。

作用:

  • 易于记忆的域名转换为计算机识别的IP地址
  • 实现网络中主机之间的通信(如访问网页、发送邮件、使用FTP等);
  • 提供反向解析功能(IP地址 → 域名);
  • 支持负载均衡容错等。

注:

  • DNS属于应用层的协议。

二、DNS 的工作过程(域名解析流程)

当用户在浏览器中输入一个网址时,如 www.example.com,系统会进行DNS 解析。

DNS 解析是一个分层的查询过程,涉及多个服务器类型,包括根 DNS 服务器、顶级域名(TLD)服务器和权威 DNS 服务器。以下是具体步骤:

  1. 检查本地缓存:系统首先检查本地设备的 DNS 缓存(如浏览器或操作系统缓存)。如果缓存中已有该域名的 IP 地址,系统直接使用该地址,跳过后续查询。
  2. 查询本地 DNS 服务器:如果本地缓存中没有记录,系统会向本地 DNS 服务器(通常由互联网服务提供商 ISP 提供)发送查询请求。
  3. 递归查询:本地 DNS 服务器执行递归查询,代表客户端完成整个解析过程。如果它没有该域名的记录,会向其他 DNS 服务器发起查询。
  4. 查询根 DNS 服务器:本地 DNS 服务器首先联系根 DNS 服务器。根 DNS 服务器是 DNS 层次结构的顶层,知道所有顶级域名(如 .com.org)的 DNS 服务器地址。它会返回负责该顶级域的 TLD DNS 服务器地址。
  5. 查询顶级域名(TLD)DNS 服务器:本地 DNS 服务器根据根服务器的指引,联系 TLD DNS 服务器(如 .com 的服务器),询问该域名的权威 DNS 服务器地址。
  6. 查询权威 DNS 服务器:TLD DNS 服务器返回该域名的权威 DNS 服务器地址。本地 DNS 服务器再向权威 DNS 服务器查询该域名的 IP 地址。
  7. 获取 IP 地址:权威 DNS 服务器是该域名的最终管理服务器,会返回对应的 IP 地址。本地 DNS 服务器收到后,将其缓存以便后续使用。
  8. 返回 IP 地址给客户端:本地 DNS 服务器将 IP 地址返回给客户端,客户端使用该地址与目标服务器建立连接。

三、DNS 的查询方式

查询方式特点
递归查询客户端或DNS服务器将整个查询过程“托付”给上游DNS服务器(常见)
迭代查询DNS服务器返回下一步查询建议,客户端逐级向不同服务器查询(提高效率)
  • 递归查询:
[客户端] → 请求:www.example.com 的 IP 地址 → [本地DNS服务器]↓本地DNS服务器依次向其他DNS查询:→ 根DNS → 顶级域DNS(.com) → 权威DNS(example.com)↓[本地DNS服务器] ← 获取最终IP ← [权威DNS服务器]↓
[客户端] ← 返回最终 IP 地址 ← [本地DNS服务器]
  • 迭代查询:
[客户端] → 询问 www.example.com IP → [本地DNS服务器]↓本地DNS服务器:查询不到 →↓
[客户端] → 根DNS:www.example.com? → 返回 .com DNS 地址↓
[客户端] → .com DNS:www.example.com? → 返回 example.com 权威DNS地址↓
[客户端] → 权威DNS:www.example.com? → 返回 IP 地址↓
[客户端] ← 最终获得 IP

四、DNS 的层级结构

DNS采用层级树状命名结构,从顶向下依次为:
在这里插入图片描述
注:

  • 根域名为.,通常省略不写。

五、DNS 的关键服务器

类型说明作用
根 DNS 服务器(Root DNS)互联网中最顶层的 DNS 服务器,维护顶级域(如 .com.org)的信息告诉本地 DNS:某个顶级域(TLD)的服务器在哪里
顶级域 DNS 服务器(TLD DNS)管理特定顶级域(如 .com, .cn, .edu)的权威解析服务器告诉你负责某个注册域(如example.com)的权威 DNS 在哪里
权威 DNS 服务器(Authoritative DNS)管理某个具体域名的最终信息,如 http://www.example.com的 IP 地址提供最终结果,告诉你这个主机名对应的 IP 地址是什么
本地 DNS 服务器(Local/Recursive DNS)ISP 或组织管理,负责接受用户查询,递归完成解析任务并缓存结果接收客户端查询,完成从根到权威的整个查询过程,并缓存提升效率

六、常见DNS记录类型

类型全称作用说明示例
AAddress将域名映射到 IPv4 地址www.example.com → 192.0.2.1
AAAAIPv6 Address将域名映射到 IPv6 地址www.example.com → 2001:db8::1
CNAMECanonical Name将一个域名作为别名指向另一个规范域名www → www.example.com
MXMail Exchange指定接收邮件服务器地址,并可设置优先级example.com → mail.example.com (10)
NSName Server指定当前域名的权威DNS服务器example.com → ns1.example.com
PTRPointer反向解析,从 IP 地址查出域名(通常用于日志分析、反垃圾邮件)1.2.0.192.in-addr.arpa → example.com
TXTText存放任意文本信息,常用于验证所有权、反垃圾邮件记录(SPF/DKIM/DMARC)等v=spf1 include:_spf.google.com ~all
SOAStart of Authority标记 DNS 区域的起始信息,包含主 DNS 服务器、管理员邮箱、序列号等SOA → ns1.example.com hostmaster@...
SRVService指定特定服务(如 SIP、XMPP)的主机和端口_sip._tcp.example.com → sip.example.com:5060
CAACertification Authority Authorization限制哪些 CA 可以为该域名签发 SSL 证书example.com CAA 0 issue "letsencrypt.org"
http://www.xdnf.cn/news/8130.html

相关文章:

  • 智慧在线判题OJ系统项目总体,包含功能开发思路,内部中间件,已经部分知识点
  • 工业机器人RTOS“微秒级战争”:实时Linux能否打破传统RTOS的垄断局面?
  • ModbusRTU转profibusDP网关接三菱变频器与PLC通讯
  • 中国核电信息技术峰会|麒麟信安锻造电力“数智基座“,护航核电安全新生态
  • KaihongOS设备开发中Sensor 驱动开发
  • 【前端】每日一道面试题5:解释Proxy和Reflect的典型应用场景,如何用它们实现数据双向绑定?
  • 48页 @《人工智能生命体 新启点》中國龍 原创连载
  • 2025软考高级信息系统项目管理师英文选择题---管理类常见英语词汇
  • Ubuntu+Docker+内网穿透:保姆级教程实现安卓开发环境远程部署
  • 安卓原生兼容服务器
  • 强化学习算法介绍和代码例程
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.11)
  • VisionPro_T恤缺陷检测_机器视觉案例
  • visual studio重新安装如何修改共享组件、工具和SDK路径方案
  • 蓝桥杯 11. 保卫国王大道
  • 第二十二次博客打卡
  • YOLO学习笔记 | YOLO11对象检测,实例分割,姿态评估的TensorRT部署c++
  • Python与自动驾驶数据集处理:构建智能驾驶的基石
  • 基于亚博K210开发板——神经网络加速器
  • MacBookPro上macOS安装第三方应用报错解决方案:遇到:“无法打开“XXX”,因为Apple无法检查其是否包含恶意软件 问题如何解决
  • c#基础04(类型转换)
  • Qt网络编程
  • 复合增长率10.1%!2025 小型电动 VTOL 无人机市场报告深度解读
  • Python包管理新篇章!解析uv工具的高效解决方案
  • 树 Part 8
  • 分贝计如何帮助改善睡眠环境
  • 【推理加速】TensorRT C++ 部署YOLO11全系模型
  • MySQL 单表与多表操作详解
  • Ubuntu Desktop 24.04 常用软件安装步骤
  • Ubuntu 新建用户