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

DNS域名系统介绍(将域名解析成IP地址)FQDN完整域名、完全限定域名、根域、TLD顶级域名、主域名、子域名、主机名(如www)、DNS查询、递归DNS、权威DNS、TTL缓存时间、DNSSEC

文章目录

  • DNS 域名系统详解:互联网是如何找到网站的?
  • 一、什么是 DNS?
  • 二、DNS 的诞生历史
  • 三、DNS 的树形结构
  • 四、DNS 基础术语
    • 1、根域(Root Domain)
    • 2、顶级域(TLD)
      • 通用顶级域
      • 国家顶级域
      • 新顶级域
    • 3、主域名(Second Level Domain)
    • 4、子域名(Subdomain)
    • 5、FQDN(Fully Qualified Domain Name)
    • 6、Hostname(主机名)
  • 五、DNS 查询过程
    • 第一步:浏览器缓存
    • 第二步:系统缓存
    • 第三步:递归 DNS
    • 第四步:根服务器
    • 第五步:TLD 服务器
    • 第六步:权威 DNS
    • 查询流程图
  • 六、DNS 记录类型
    • A 记录
    • AAAA
    • CNAME
    • MX
    • TXT
    • NS
  • 七、递归 DNS 与权威 DNS
    • 递归 DNS
    • 权威 DNS
  • 八、TTL 是什么?
  • 九、DNSSEC
  • 十、Cloudflare 中的 DNS
  • 十一、为什么 DNS 如此重要?
  • 十二、总结

DNS 域名系统详解:互联网是如何找到网站的?

当你在浏览器输入:

www.google.com

浏览器为什么能准确找到 Google 的服务器?

为什么我们不需要记住一长串 IP 地址,例如:

142.250.190.78

答案就是DNS(Domain Name System,域名系统)

DNS 被称为互联网的“电话簿”,负责把人类容易记忆的域名转换成计算机能够识别的 IP 地址。


一、什么是 DNS?

DNS(Domain Name System)是一套分布式命名系统。

它的核心作用只有一句话:

将域名(Domain Name)解析成 IP 地址。

例如:

www.example.com ↓ 93.184.216.34

用户记住:

chat.openai.com

计算机实际连接:

104.xxx.xxx.xxx

如果没有 DNS,互联网会变成:

访问淘宝: 39.156.xx.xx 访问GitHub: 140.82.xx.xx 访问Bilibili: 120.xx.xx.xx

几乎没人能记住。

DNS 的出现让互联网拥有了友好的名称体系。


二、DNS 的诞生历史

早期互联网规模很小。

所有主机信息保存在一个文件:

hosts.txt

管理员统一维护:

MIT Stanford Harvard NASA

新增主机时:

更新hosts文件 重新分发给所有机器

随着互联网快速增长:

100台 1000台 10000台 100000台

这种方式彻底崩溃。

1983 年,Paul Mockapetris 提出了 DNS。

DNS 的设计理念:

去中心化

分层管理

全球分布式

直到今天,这套架构仍然支撑整个互联网。


三、DNS 的树形结构

DNS 本质上是一棵巨大的树。

. Root(根域) ┌────────┼────────┐ com org cn │ │ │ example wikipedia gov │ www │ www.example.com

从右往左阅读。

例如:

www.example.com

表示:

com └── example └── www

四、DNS 基础术语

这是很多人最容易混淆的部分。

术语说明例子
FQDN完整域名www.example.com.
根域DNS 树顶层.
TLD顶级域.com
主域名注册域名example.com
子域名主域下的分支api.example.com
Hostname具体主机名称mail(在 mail.example.com 中)

1、根域(Root Domain)

DNS 最顶层。

写作:

.

所有域名都属于根域。

实际上:

www.example.com.

最后面还有一个点。

只是浏览器默认隐藏。

完整形式:

www.example.com. ↑ Root

2、顶级域(TLD)

Top Level Domain。

位于根域下一层。

例如:

.com .org .net .io .ai .dev .cn

分类:

通用顶级域

.com .org .net .info

国家顶级域

.cn .us .jp .uk .de

新顶级域

.dev .app .ai .xyz .cloud

3、主域名(Second Level Domain)

用户真正购买的域名。

例如:

example.com

其中:

example 是主体名称 .com 是TLD

你注册:

mycompany.com

那么:

mycompany.com

就是你的主域名。


4、子域名(Subdomain)

主域名下继续划分。

例如:

www.example.com api.example.com mail.example.com auth.example.com

可以无限扩展。

v1.api.example.com internal.dev.example.com k8s.cluster.example.com

5、FQDN(Fully Qualified Domain Name)

完全限定域名。

表示完整路径。

www.example.com.

包含:

主机名 域名 顶级域 根域

即:

www example com .

6、Hostname(主机名)

表示某台具体机器。

例如:

mail.example.com

其中:

mail

就是 Hostname。

api.example.com Hostname: api
auth.example.com Hostname: auth

需要注意:

Hostname 不一定是真实物理机器,也可能代表服务。

例如:

db.example.com redis.example.com cdn.example.com

可能都只是负载均衡入口。


五、DNS 查询过程

假设访问:

www.example.com

DNS 查询过程如下。

浏览器 ↓ 操作系统缓存 ↓ 本地DNS服务器 ↓ 根DNS ↓ .com服务器 ↓ example.com权威DNS ↓ 获取IP ↓ 连接服务器

第一步:浏览器缓存

浏览器先检查:

www.example.com

是否已经解析过。

例如:

Chrome DNS Cache

第二步:系统缓存

Windows:

ipconfig /displaydns

Linux:

systemd-resolved

第三步:递归 DNS

通常是运营商 DNS。

例如:

114.114.114.114 223.5.5.5 8.8.8.8 1.1.1.1

用户只问一次:

www.example.com在哪?

递归服务器负责继续寻找。


第四步:根服务器

全球只有 13 组根服务器。

记作:

A-root B-root C-root ... M-root

根服务器.回答:

我不知道IP 但.com归这些服务器管

第五步:TLD 服务器

.com服务器回答:

example.com 归Cloudflare负责

返回:

ns1.cloudflare.com ns2.cloudflare.com

第六步:权威 DNS

权威服务器返回:

www.example.com A 93.184.216.34

最终获得 IP。


查询流程图

Client ↓ Resolver ↓ Root ↓ .com ↓ Cloudflare NS ↓ example.com ↓ IP地址

六、DNS 记录类型

DNS 的本质就是:

名称 → 数据

常见记录如下。

记录作用
AIPv4地址
AAAAIPv6地址
CNAME别名
MX邮件服务器
TXT文本信息
NS权威DNS
PTR反向解析
SRV服务发现
CAA证书授权
HTTPS新型服务记录

A 记录

最常见。

example.com ↓ 93.184.216.34
example.com A 93.184.216.34

AAAA

IPv6。

example.com AAAA 2001:db8::1

CNAME

别名记录。

blog.example.com ↓ ghs.googlehosted.com
blog CNAME ghs.googlehosted.com

MX

邮件服务器。

example.com MX 10 mail.example.com

TXT

存储文本。

常用于:

SPF DKIM DMARC Google验证 OpenAI验证

例如:

TXT "v=spf1 include:_spf.google.com ~all"

NS

指定权威服务器。

example.com NS ns1.cloudflare.com

七、递归 DNS 与权威 DNS

很多人会混淆。

递归 DNS

帮用户找答案。

例如:

8.8.8.8 1.1.1.1 223.5.5.5

职责:

客户端 ↓ 递归DNS ↓ 负责全部查询

权威 DNS

保存真正的数据。

例如:

Cloudflare Route53 DNSPod

权威服务器保存:

example.com A 1.2.3.4

八、TTL 是什么?

TTL(Time To Live)表示缓存时间。

例如:

A 1.2.3.4 TTL 300

表示:

缓存300秒

5 分钟内不会重新查询。


TTL 较小:

更新快 切换方便 DNS请求更多

TTL 较大:

缓存命中率高 解析速度快 修改传播慢

常见设置:

300 秒 600 秒 3600 秒 86400 秒

九、DNSSEC

DNS 本身没有安全机制。

攻击者可能伪造解析结果。

例如:

bank.com ↓ 假IP

用户会访问钓鱼网站。

DNSSEC 解决这个问题。

原理:

数字签名 公钥验证 信任链

流程:

Root ↓ .com ↓ example.com ↓ DNSSEC签名校验

确保:

返回的数据确实来自权威服务器,没有被篡改。


十、Cloudflare 中的 DNS

很多开发者第一次接触 DNS 都是在 Cloudflare。

例如:

记录
A203.0.113.10
AAAA2001:db8::1
CNAMEapp.example.com
MXmail.example.com
TXTSPF记录

Cloudflare 还加入了代理能力:

🟠 橙云(Proxied)

用户 ↓ Cloudflare CDN ↓ 源站

特点:

隐藏真实IP CDN缓存 WAF防护 DDoS防御

⚪ 灰云(DNS Only)

用户 ↓ 源站

仅提供 DNS 解析。

不经过 Cloudflare 网络。


十一、为什么 DNS 如此重要?

DNS 是互联网最基础的基础设施之一。

它承担着:

  • 网站访问
  • 邮件收发
  • CDN 调度
  • 负载均衡
  • 服务发现
  • SSL 证书验证
  • Kubernetes 服务解析
  • 微服务通信

甚至在云原生环境中:

service.namespace.svc.cluster.local

本质上仍然是 DNS。

例如:

redis.default.svc.cluster.local
postgres.database.svc.cluster.local

十二、总结

可以把 DNS 理解成互联网的导航系统。

域名 ↓ DNS解析 ↓ IP地址 ↓ TCP连接 ↓ HTTPS ↓ 网站内容

整个 DNS 体系可以概括为:

Root (.) ↓ TLD (.com) ↓ example.com ↓ api.example.com ↓ A记录 ↓ 203.0.113.10

一句话总结:

DNS 是互联网的电话簿,也是全球最大、最重要的分布式数据库系统之一。它让人类能够使用容易记忆的域名,而无需记住复杂的 IP 地址。

http://www.jsqmd.com/news/1089408/

相关文章:

  • Unity Mod Manager:告别手动安装烦恼,开启游戏模组管理新时代
  • 如何快速清理重复图片:专业级存储优化工具实战指南
  • DAC53608评估板实战指南:从硬件连接到软件配置与高级测试
  • C语言实战:手把手构建RSA加密算法核心模块
  • 暗黑3终极自动化指南:D3KeyHelper免费技能循环助手完整配置
  • 如何用trackerslist彻底解决BT下载慢的问题:从龟速到极速的完整指南
  • Python操控AutoCAD终极指南:用代码解放你的设计工作
  • 为单片机通信安全选型:从算法原理到实战场景的加密方案指南
  • 智慧校园运维革新:智能锁身份核验+通断电联动,解决宿舍教室安全与成本难题
  • 东南大学学位论文LaTeX模板:从零配置到高效排版的实战指南
  • RapidOCR Docker部署实战:从零到生产环境的完整指南
  • 从实践案例解析Autosar网络管理的状态机与定时器
  • VQFN封装PCB与钢网设计实战:从热焊盘处理到焊接工艺优化
  • 3步轻松解密:RPG Maker MV游戏资源提取工具完全指南
  • 终极指南:一键掌握暗黑破坏神2角色编辑器的完整使用技巧
  • 【联盛德W806实战指南】一、搭建开发环境与一键烧录
  • O3模型冷启动延迟超2.3秒?揭秘内存预加载+权重分片预热的实时推理加速协议
  • Ubuntu NFS 共享实战:从零部署到跨主机文件访问
  • 从零开始,手把手教你玩转MSK调制(一)
  • 3分钟搞定RimWorld模组管理:RimSort终极使用指南
  • STATA绘图实战:从基础散点图到高级自定义
  • JAVA POI实战:精准拦截Excel数值科学计数法,守护长数字数据完整性
  • 终极多平台DLC解锁指南:深入解析Koalageddon技术架构与实战应用
  • 告别繁琐JDBC:用Hutool-Db实现轻量高效的数据库操作
  • AnimeGANv2 ONNX模型部署实战:从图片到视频的实时动漫风格转换
  • eDiffi扩散模型原理与AI图像生成可控性技术解析
  • 第一章Netty,walkFileTree删除多级目录
  • 从零开始玩转Vivado——实战篇:用Verilog打造呼吸灯与跑马灯混合特效
  • 终极PPT计时器指南:如何用免费工具让演示时间掌控如呼吸般自然
  • 模型压缩技术