侧边栏壁纸
  • 累计撰写 29 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

计算机网络——应用层DNS协议分析

Administrator
2026-02-01 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

计算机网络——应用层 DNS 协议分析

概述

  • 域名(Domain Name)是互联网上用于标识和定位网站、服务器或网络服务的字符串名称,相当于网站的“门牌地址”。它为用户提供了一种更直观、易记的方式来访问网站,避免了记忆复杂的 IP 地址。

  • DNS(Domain Name System,域名系统)是一个分布式数据库系统,用于将人类可读的域名转换为机器可识别的 IP 地址 。它类似于互联网的“电话簿”,确保用户通过域名访问目标服务器,而无需直接输入 IP 地址。

域名分级

域名采用 层次结构,从右向左逐级划分,结构如下:

  • 根域:域名层级的顶端,表示为 .(通常省略)。

  • 顶级域名:如 .com.org.cn.edu,分为通用顶级域(如 .com)、国家/地区顶级域(如 .cn)等。

  • 一级域名:直接在顶级域名下的部分,如 baidu(在 baidu.com 中)。

  • 二级域名:如 wwwnewstieba(在 www.baidu.com 中)。

  • 更低级域名:如 blog.news.example.com 中的 blog

应用层

域名注册

域名需通过注册商购买并配置。以下是常见的注册平台:

[!note]
国内注册的域名需在工信部完成 ICP 备案,备案流程可能耗时数周。
国外注册的域名无需备案,但可能因网络限制影响国内访问速度。

域名解析过程

开发者视角

  1. 购买域名:通过注册商购买域名(如 xiaqy.top)。

  2. 购买服务器:获取具有公网 IP 的服务器,部署网站或服务。

  3. 配置 DNS 解析:在域名管理平台设置 DNS 记录,将域名映射到服务器的 IP 地址。

客户端视角

当用户在浏览器输入域名(如 blog.xiaqy.top)时,操作系统和浏览器会自动发起 DNS 解析流程:

  1. 检查本地 DNS 缓存(浏览器或操作系统缓存)。

  2. 若无缓存,查询本地 DNS 服务器(通常由 ISP 或公共 DNS 如 223.5.5.5 提供)。

  3. 本地 DNS 服务器通过 递归查询迭代查询,向根 DNS、顶级域 DNS、权威 DNS 逐级查询,最终返回 IP 地址。

DNS 递归查询与迭代查询

  • 递归查询 是本地计算机与 DNS 服务器之间的查询与响应,客户端将解析任务完全交给 DNS 服务器(如本地 DNS),由该服务器负责最终返回结果(成功或失败)。

  • 迭代查询 是 DNS 服务器之间的查询与响应,DNS 服务器仅返回“下一步该问谁”的线索(如根 DNS→TLD→ 权威 DNS),查询方需逐步追问直到获得答案。

应用层
  • 下图以查询 blog.xiaqy.top 域名为例:

应用层
  • 递归查询与迭代查询的 区别

特性

递归查询

迭代查询

定义

客户端向本地 DNS 服务器发出查询,服务器负责完成所有查询步骤

客户端或服务器逐级向 DNS 服务器查询,每次返回下一步地址

查询主体

本地 DNS 服务器或指定的 DNS 服务器

客户端或本地 DNS 服务器

效率

对客户端更快,服务器负担较重

对服务器负担较轻,客户端需多次查询

使用场景

客户端通常使用递归查询

本地 DNS 服务器与上级 DNS 服务器间使用

域名解析类型

DNS 支持多种记录类型,用于不同场景的解析:

  • A 记录:将域名映射到 IPv4 地址。

  • AAAA 记录:将域名映射到 IPv6 地址。

  • CNAME 记录:定义域名的别名,常用于 CDN。

  • NS 记录:指定域名的权威 DNS 服务器。

  • MX 记录:指定邮件服务器地址,用于邮件服务。

  • TXT 记录:存储文本信息,常用于验证域名所有权或 SPF 记录。

协议分析与抓包

Windows DNS 操作

Windows 系统默认开启 DNS 缓存,可通过以下命令管理:

#查看DNS缓存
ipconfig /displaydns

#清除DNS缓存
ipconfig /flushdns

#查询域名解析
nslookup [domain_name]

[!tip]
清除 DNS 缓存可解决因缓存导致的解析错误问题,例如访问旧 IP 地址。

Wireshark 抓包

使用 Wireshark 分析 DNS 流量时,可设置过滤器 dns 查看 DNS 查询和响应,随后本地进行查询域名解析。DNS 报文结构主要包括:

  • 查询部分:包含查询的域名和记录类型(如 A、AAAA)。

  • 应答部分:包含解析结果(如 IP 地址)。

image-20250619183949768

0

评论区