计算机网络——DNS

news/2025/3/16 14:59:09/

一、什么是DNS?

DNS(Domain Name System,域名系统) 是互联网的核心服务,负责将人类可读的域名(如 www.baidu.com)转换为机器可识别的 IP地址(如 14.119.104.254)。它像一本全球分布式“电话簿”,让用户无需记忆复杂数字即可访问网站。

关键特性:

  • 分层设计:域名结构分层次管理(如 .com → baidu → www)。

  • 分布式存储:全球数万台DNS服务器协同工作,无单点故障。

  • 高效缓存:减少重复查询,提升解析速度。


二、为什么要有DNS?

没有DNS的世界会怎样?

  1. 访问网站需输入IP地址
    用户需记忆 14.119.104.254 而非 www.baidu.com

  2. IP变更导致服务中断
    若服务器IP更换,所有用户必须手动更新。

  3. 无法支持复杂服务
    单IP无法托管多个网站(如虚拟主机)。

DNS的四大价值

痛点DNS解决方案
记忆难度高通过域名提供易记的别名
IP动态变化域名与IP动态绑定,自动更新
服务扩展性差支持负载均衡、CDN调度等高级功能
网络流量集中分布式架构缓解单点压力

三、域名的构成

1. 域名结构(从右到左)

以 www.baidu.com 为例:

  • 根域(Root Domain):隐式的 .(通常省略,如 com.)。

  • 顶级域(TLD).com(商业机构)、.org(非盈利组织)、.cn(国家代码)。

  • 二级域(SLD)baidu(注册的网站名称)。

  • 子域(Subdomain)www(常见的子域,表示Web服务)。

2. 域名树状图

根域(.)
└── 顶级域(com)└── 二级域(baidu)├── 子域(www)└── 子域(mail)

四、DNS服务器的分类

类型作用示例
根DNS服务器提供顶级域服务器的IP地址全球13组根服务器(a.root-servers.net)
顶级域DNS服务器管理特定顶级域(如 .com)的权威服务器gtld-servers.net
权威DNS服务器存储具体域名的IP映射记录ns1.baidu.com(百度官方DNS)
递归DNS服务器代表用户完成完整查询过程的缓存服务器8.8.8.8(Google Public DNS)

五、DNS客户端

1. 客户端的作用

  • 发起查询:向递归DNS服务器发送域名解析请求。

  • 缓存管理:临时存储解析结果(通过TTL控制缓存时间)。

2. 客户端配置

Windows
# 查看当前DNS服务器
ipconfig /all
Linux
# 修改DNS配置(/etc/resolv.conf)
nameserver 114.114.114.114

六、DNS中继(Forwarder)

1. 什么是DNS中继?

企业或ISP部署的本地DNS服务器,将外部查询请求转发至上游服务器,实现:

  • 缓存加速:减少外网查询延迟。

  • 内容过滤:屏蔽恶意域名。

  • 流量管控:限制员工访问特定网站。

2. 中继 vs. 递归服务器

对比项DNS中继递归DNS服务器
查询方式转发请求至上游服务器自行完成全链路查询
典型场景企业内网、学校机房公共DNS服务(如Cloudflare)
缓存策略依赖上游响应自主缓存所有层级结果

七、域名解析过程

1. 递归查询(客户端视角)

mermaid

sequenceDiagramparticipant 用户participant 递归DNSparticipant 根DNSparticipant 顶级域DNSparticipant 权威DNS用户->>递归DNS: 查询 www.baidu.com递归DNS->>根DNS: 询问 .com 的顶级域服务器根DNS-->>递归DNS: 返回 .com 服务器IP递归DNS->>顶级域DNS: 询问 baidu.com 的权威服务器顶级域DNS-->>递归DNS: 返回 baidu.com 的权威服务器IP递归DNS->>权威DNS: 查询 www.baidu.com 的IP权威DNS-->>递归DNS: 返回 14.119.104.254递归DNS-->>用户: 返回最终IP

2. 迭代查询(服务器视角)

  1. 本地DNS询问根服务器 → 获取 .com 服务器地址。

  2. 询问 .com 服务器 → 获取 baidu.com 权威服务器地址。

  3. 询问 baidu.com 服务器 → 获取 www 子域的IP。


http://www.ppmy.cn/news/1579587.html

相关文章

专访数势科技谭李:智能分析 Agent 打通数据平权的最后一公里

作者|斗斗 编辑|皮爷 出品|产业家 伦敦塔桥下的泰晤士河底,埋藏着工业革命的隐秘图腾——布鲁内尔设计的隧道盾构机。在19世纪城市地下轨道建设的过程中,这个直径11米的钢铁巨兽没有选择拓宽河道,而是开创了地下通行的新维度。 “我们不…

CTA重建:脑血管重建,CT三维重建,三维建模 技术,实现

CTA(CT血管造影)是一种基于CT扫描的医学成像技术,主要用于血管系统的三维重建和可视化。脑血管重建是CTA的重要应用之一,能够帮助医生诊断脑血管疾病(如动脉瘤、狭窄、畸形等)。以下是实现CTA脑血管重建、C…

STM32 内置的通讯协议

数据是以帧为单位发的 USART和UART的区别就是有没有同步功能 同步是两端设备有时钟连接,异步是没时钟连接,靠约定号的频率(波特率)接收发送数据 RTS和CTS是用来给外界发送已“可接收”或“可发送”信号的,一般用不到…

【PyCharm2024】一些好用的小功能

目录 一、全局查找及替换关键字 方法一: 方法二: 二、调整字体大小 三、调整Terminal的字体大小 四、改变行注释的斜体以及颜色 一、全局查找及替换关键字 编写程序时,通常想要在所有文件中查找或者替换某个词。 方法一: …

ChromeOS 133 版本更新

ChromeOS 133 版本更新 1. 增强托管用户的 Office 文件处理功能 从 ChromeOS 133 开始,托管用户 现在可以 无缝打开和编辑 Microsoft Office 文件(Word、PowerPoint、Excel),无论他们使用的是 Microsoft 365(Office …

DaVinci Resolve(达芬奇)快捷键大全

DaVinci Resolve(达芬奇)剪辑模块中 鼠标操作 与 常用快捷键 的整合指南,按核心功能分类整理: 一、时间线与播放控制 功能目标鼠标操作快捷键说明播放/暂停点击时间线播放头区域空格键按 L 加速播放,J/K 反向播放跳转…

linux /bin/bash丢失修复

不同品牌计算机进入 BIOS 的方式不同,常见的有按F2、F10、Del等键。 选择救援模式:启动计算机后,在安装界面选择 “Troubleshooting”(疑难解答),然后选择 “Rescue a CentOS Linux system”(救…

蓝桥杯十天冲刺-day1(getline读入空格)

getline读入带空格的字符串 解决cin或scanf无法读入空格的问题 作文标题 代码思路 主要通过这个代码体会getline函数可以输入空格的作用 用getline函数输入含空格的字符串&#xff0c;用length()函数记字符串长度 依次扫描不为空格的字符计数 #include<bits/stdc.h>…