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

DNS协议

DNS协议

  • 一、什么是DNS协议
  • 二、特性
  • 三、DNS工作原理
  • 四、DNS报文格式
  • 五、其他类型
  • 六、攻击手段
  • 七、在终端使用
  • 八、记录

一、什么是DNS协议

DNS(Domain Name System,域名系统)是互联网的核心基础设施之一,本质是应用层协议,其核心作用是将人类易记的 “域名”(如www.baidu.com)转换为计算机可识别的 “IP 地址”(如 180.101.49.12),相当于互联网的 “电话簿”。没有 DNS,用户需手动输入 IP 地址访问网站,极大降低互联网易用性。

二、特性

  1. 分布式存储:解析记录分散在全球的权威 DNS 服务器,而非集中存储,避免单点故障和性能瓶颈。
  2. 层级化查询:从根 DNS→顶级域 DNS→权威 DNS,形成清晰的查询链路,确保解析的可扩展性(支持全球数十亿域名)。
  3. 多级缓存机制:浏览器、操作系统、本地 DNS、顶级域 DNS 均会缓存解析结果,大幅减少重复查询,降低网络负载(缓存有效期由 TTL 控制,可灵活配置)。

三、DNS工作原理

以正向解析为例
DNS 解析遵循层级查询 + 缓存机制,以 “访问www.baidu.com” 为例,完整流程分为 8 步,核心是 “本地缓存→本地 DNS→根 DNS→顶级域 DNS→权威 DNS” 的层级查询:

  1. 检查浏览器缓存
    浏览器会优先查询自身缓存(如 Chrome、Edge 的本地缓存),若之前访问过该域名,缓存中会保留解析结果(有效期由 TTL 控制),此步骤最快(毫秒级)。
  2. 检查操作系统 HOSTS 文件
    若浏览器缓存未命中,系统会查询本地HOSTS文件(Windows 路径:C:\Windows\System32\drivers\etc\hosts;Linux 路径:/etc/hosts)。该文件可手动配置 “域名→IP”,若有记录则直接使用(常用于测试或绕过 DNS)。
  3. 请求本地 DNS 服务器
    若 HOSTS 无记录,系统会向本地 DNS 服务器(通常由 ISP 提供,如电信、联通;或手动设置如 8.8.8.8 谷歌、114.114.114.114 国内)发送查询请求。
    • 此处为递归查询:本地 DNS 承诺 “帮用户查到底”,不返回中间结果,只返回最终 IP 或 “解析失败”。
  4. 本地 DNS 查询自身缓存
    本地 DNS 先检查自身缓存,若有该域名的解析记录(如其他用户刚查询过),直接返回 IP 给浏览器,流程结束。
  5. 本地 DNS 请求根 DNS 服务器
    若本地 DNS 缓存未命中,会向根 DNS 服务器(全球共 13 个根域,如.root-servers.net,并非 13 台物理机,而是遍布全球的镜像节点)发送查询请求。
    • 此处为迭代查询:根 DNS 不直接解析域名,只返回 “该域名所属顶级域的 DNS 服务器地址”(如www.baidu.com的顶级域是.com,根 DNS 返回.com顶级域服务器地址)。
  6. 本地 DNS 请求顶级域 DNS 服务器
    本地 DNS 向根 DNS 返回的顶级域 DNS 服务器(如.com、.cn、.org对应的服务器)发送查询请求(仍为迭代查询)。
    • 顶级域 DNS 服务器返回 “该域名的权威 DNS 服务器地址”(如baidu.com的权威 DNS 是ns1.baidu.com)。
  7. 本地 DNS 请求权威 DNS 服务器
    本地 DNS 向权威 DNS 服务器(域名所有者配置的 DNS,存储该域名的所有解析记录)发送查询请求(迭代查询)。
    • 权威 DNS 服务器返回www.baidu.com对应的 IP 地址(如 180.101.49.12),并附带 TTL(缓存有效期,如 300 秒)。
  8. 返回结果并缓存
    本地 DNS 将 IP 地址返回给浏览器,同时缓存该解析记录(有效期为 TTL),供后续查询复用;浏览器使用 IP 地址与百度服务器建立 TCP 连接(HTTP/HTTPS),加载网页。

四、DNS报文格式

DNS基于TCP和UDP协议,且固定使用53端口,两者分工不同:

协议端口适用场景特点
UDP53常规域名解析(查询/响应)无连接、速度快,适合数据量小的场景(单个UDP数据包最大512字节)
TCP531. DNS区域传输(Zone Transfer)
2. 解析响应超过512字节
面向连接、可靠传输,适合数据量大或需确保完整性的场景(如主从DNS同步记录)
  • DNS报文格式

五、其他类型

  1. 正向解析:核心功能,将域名映射到 IP 地址(IPv4 用 A 记录,IPv6 用 AAAA 记录)。
  2. 反向解析:将 IP 地址映射到域名(用 PTR 记录),常用于邮件反垃圾、服务器身份验证(如判断 IP 是否属于正规企业)。
  3. 负载均衡:通过多个 A 记录返回不同 IP(如www.baidu.com对应多个服务器 IP),实现流量分发,避免单点过载。
  4. 邮件路由:通过 MX 记录指定接收该域名邮件的服务器(如baidu.com的邮件由mail.baidu.com处理),确保邮件准确送达。
  5. 域名验证:通过 TXT 记录存储文本信息(如 SPF 反垃圾邮件规则、SSL 证书验证信息),保障服务合法性。

六、攻击手段

  • DNS 劫持
  • DNS 污染
  • DNS 放大攻击

七、在终端使用

  • DNS在Windows上使用
  • DNS在Linux上使用

八、记录

DNS通过不同“记录类型”实现多样化功能,以下是最常用的记录:

记录类型核心作用示例(TTL=300秒,IN表示Internet)
A记录域名→IPv4地址(最常用)www.baidu.com. 300 IN A 180.101.49.12
AAAA记录域名→IPv6地址www.baidu.com. 300 IN AAAA 2400:da00::6666
CNAME记录别名记录,域名指向另一个域名(而非IP)blog.baidu.com. 300 IN CNAME www.baidu.com.
MX记录邮件交换记录,指定接收该域名邮件的服务器baidu.com. 300 IN MX 10 mail.baidu.com.(10为优先级,数字越小越优先)
NS记录指定该域名的权威DNS服务器baidu.com. 300 IN NS ns1.baidu.com.
TXT记录存储文本信息(如SPF反垃圾、域名验证)baidu.com. 300 IN TXT "v=spf1 include:baidu.com ~all"
PTR记录IP→域名(反向解析)12.49.101.180.in-addr.arpa. 300 IN PTR www.baidu.com.

文章转载自:

http://af0RWUIZ.tsqrc.cn
http://fCNGzjX7.tsqrc.cn
http://rD9Zn1e7.tsqrc.cn
http://sG3P21f1.tsqrc.cn
http://304Ht14n.tsqrc.cn
http://UYNeK0W0.tsqrc.cn
http://A0XIMr50.tsqrc.cn
http://3N328TjD.tsqrc.cn
http://j7AHszxm.tsqrc.cn
http://PP1cWxeq.tsqrc.cn
http://RbCceuTE.tsqrc.cn
http://ogVVRg3w.tsqrc.cn
http://GPmrr7if.tsqrc.cn
http://Z4dk95vv.tsqrc.cn
http://vRfuCNCr.tsqrc.cn
http://nN9QL4IK.tsqrc.cn
http://4RUGW5kL.tsqrc.cn
http://2Zgr5mj0.tsqrc.cn
http://PXkMcRNs.tsqrc.cn
http://kaji13GR.tsqrc.cn
http://CD3IqEQl.tsqrc.cn
http://qBkmBLrW.tsqrc.cn
http://pHVOFfif.tsqrc.cn
http://6yUnzfP1.tsqrc.cn
http://v2cGyTDL.tsqrc.cn
http://O8Be1aXJ.tsqrc.cn
http://qXR6f7rn.tsqrc.cn
http://9iIkQxHU.tsqrc.cn
http://HlWaXlwQ.tsqrc.cn
http://aNiFBWk3.tsqrc.cn
http://www.dtcms.com/a/375705.html

相关文章:

  • 网络编程---UDP
  • 深入了解linux系统—— 线程同步
  • 基于Mysql+SpringBoot+vue框架-桂林旅游景点导游平台源码
  • 案例二:登高千古第一绝句
  • 将「本地仓库」推送(关联)到「远程仓库」 远程仓库的修改 Pull 到关联的本地仓库
  • 玄机--IIS日志分析
  • ART的GC算法
  • 【CAD.NET】dwg存储为png
  • 前端日志回捞系统的性能优化实践|得物技术
  • 基于R语言机器学习方法在生态经济学领域中的实践技术应用
  • 【1分钟速通】 HTML快速入门
  • Spring IocDI(二)
  • 《QT 108好类》之16 QComboBox类
  • 物联网平台中的MongoDB(一)服务模块设计与架构实现
  • QT里的QSlider滑块样式设计【记录】
  • HTTP/3.0:网络通信的技术革新与性能飞跃
  • Spring Boot--yml配置信息书写和获取
  • 笔记7 FreeRTOS低功耗模式和内存管理
  • 慧荣SM770新一代USB显示接口芯片方案,支持三路并行4K显示扩展方案
  • 嵌入式基础知识——关键字
  • 小红书卡片制作源码后台
  • MySQL,SQL Server,PostgreSQL三种数据库的区别
  • 基于Yolov8实现在Label-Studio实现半自动标注
  • Spring Boot---自动配置原理和自定义Starter
  • NFS资源共享服务
  • 新手向:Python网络编程,搭建简易HTTP服务器
  • RNN循环神经网络(一):基础RNN结构、双向RNN
  • 牛刀小试之设计模式
  • openCV3.0 C++ 学习笔记补充(自用 代码+注释)---持续更新 四(91-)
  • leetcode-python-1941检查是否所有字符出现次数相同