计算机网络——DNS

一、什么是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

sequenceDiagram
    participant 用户
    participant 递归DNS
    participant 根DNS
    participant 顶级域DNS
    participant 权威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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬码红绿灯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值