DNS协议

在这里插入图片描述

🤖 作者简介:水煮白菜王 ,一位资深前端劝退师 👻
👀 文章专栏: 计算机网络专栏 ,记录一下平时在博客写作中,总结出的一些开发技巧✍。
感谢支持💕💕💕

关联文章:
计算机网络模型认识
WebSocket通信协议
DNS协议
TCP与UDP传输层协议的理解
HTTP协议
HTTP3协议

DNS协议介绍

1. DNS 协议概述

DNS(Domain Name System)是域名系统的缩写,提供主机名到IP地址的映射服务。作为应用层协议,DNS构建于分布式的数据库之上,通过分层的DNS服务器架构,确保了互联网资源的高效访问。

2. DNS协议与TCP/UDP

DNS主要使用UDP协议端口53,因其查询响应通常较小,适合UDP的无连接特性,降低延迟。但在如下场景中使用TCP

  • 区域传输:涉及大量数据交换,使用TCP确保数据完整性。
  • DNS响应超过512字节时,也会切换到TCP,以避免UDP的大小限制问题。

3. DNS查询过程

  1. 浏览器缓存:首先检查本地缓存。
  2. 本地DNS服务器:未命中则查询本地DNS服务器缓存。
  3. 递归查询在这里插入代码片
    • 本地DNS向根服务器查询顶级域(TLD)信息。
    • 根据返回的顶级域名服务器地址,查询二级域名信息。
    • 逐步查询直至找到权威域名服务器。
  4. 权威服务器响应:提供最终的IP地址。
  5. 缓存结果:各层级DNS服务器缓存查询结果以加速后续查询。

当用户尝试访问www.baidu.com时,系统首先在本地浏览器缓存中查找该域名对应的IP地址;如未找到,则请求被送往本地DNS服务器。本地DNS服务器会依次向上级DNS体系中的根域名服务器、负责.com域的顶级域名服务器查询,并最终联系到负责baidu.com域的权威域名服务器。这一连串查询的目的是为了获取www.baidu.com的确切IP地址,期间各DNS服务器会利用缓存来加速响应过程,一旦权威服务器回复,IP信息将沿原路径返回至用户电脑,完成域名解析。

4. 迭代与递归查询

  • 递归查询:客户端发起,由DNS服务器代替客户端进行多级查询直至结果,客户端只需发起一次请求。
  • 迭代查询DNS服务器返回下一级查询地址,客户端需逐级向下查询,直至获取最终结果。

一般我们向本地 DNS 服务器发送请求的方式就是递归查询,用户通过递归查询向本地DNS服务器请求域名解析,本地DNS服务器负责执行迭代查询的全过程,它依次与根域名服务器、顶级域名服务器以及权威域名服务器交互,每次收到指引后继续下一级查询,直到获得目标域名的IP地址并返回给用户,期间所有后续查询步骤均由本地DNS服务器自主完成。

5. DNS记录与报文结构

DNS响应报文中包含资源记录(RR),格式如下:

  • A记录 (A): 映射主机名到IPv4地址。
  • NS记录 (NS): 指定负责该域名的DNS服务器。
  • CNAME记录 (CNAME): 为主机名提供别名。
  • MX记录 (MX): 指定邮件服务器地址。

资源记录类型对比

类型描述
A主机名到IPv4地址的映射
NS域名的DNS服务器名称
CNAME主机名别名,指向另一个主机名的规范名称(canonical name)
MX邮件交换记录,指定邮件服务器

此表格展示了DNS中最常用的资源记录类型及其用途,帮助理解每种记录在DNS查询和解析过程中的角色。

6. 总结

DNS协议作为互联网的命脉之一,通过其高效的域名解析机制,确保了用户能够顺利访问互联网上的各种服务。本概述详细解析了DNS的工作原理,包括其基于UDP/TCP的传输策略、查询过程中的递归与迭代机制,以及DNS记录的核心类型及其功能。DNS不仅实现了域名到IP地址的有效映射,还通过分层的服务器架构和广泛的缓存策略支持了大规模网络流量的快速处理。理解DNS协议的这些关键方面,对于网络管理员、开发者乃至任何想要深入探索互联网技术的人来说,都是至关重要的基础。随着互联网的持续发展,DNS协议也在不断进化,比如引入DNSSEC增强安全性,以及EDNS扩展来支持更大的数据包,这些进展进一步提升了DNS系统的健壮性和功能性。

在这里插入图片描述
如果你觉得这篇文章对你有帮助,请点赞 👍、收藏 👏 并关注我!👀
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

水煮白菜王

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

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

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

打赏作者

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

抵扣说明:

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

余额充值