DNS介绍
一、DNS简介

域名系统(Domain Name System,缩写:DNS)是互联网的一项服务,它作为将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网,而不需要记住复杂的IP地址,DNS使用TCP和UDP端口53进行通信,当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
二、DNS工作原理
DNS是一种基于TCP/UDP可以将域名和IP地址相互映射的层次结构的分布式数据库系统,主要包括如下3个组成部分:
1、域名空间(domain name space)和资源记录(resource record):这是DNS的基础数据结构,用于存储域名及其对应的IP地址等信息。
2、域名服务器(name server):这些服务器存储了DNS数据库的一部分,并负责回答客户端的查询请求。
3、解析器(resolver):解析器通常集成在操作系统中,负责处理应用程序的域名解析请求,并将结果返回给应用程序。
DNS系统采用递归查询请求的方式来响应用户的查询,其一般过程如下:
1、客户端首先向首选域名服务器查询。

2、如果首选域名服务器本地没有所需信息,则代表客户端向其他根域名服务器查询。
3、根域名服务器返回相应顶级域的权威域名服务器的地址,首选域名服务器继续向该顶级权威域名服务器查询。
4、顶级权威域名服务器返回次级域的权威域名服务器地址,首选域名服务器如此迭代查询,直到得到对查询域名的权威回答,保存在本地缓存中并返回给客户端,完成此次查询。
三、DNS报文结构
DNS报文分为查询报文和应答报文两种,无论是查询报文还是应答报文,都包含以下部分:
1、首部:包括标识、标志、问题数、回答数、授权资源记录数、附加资源记录数等字段。
2、查询部分:包含需要查询的域名和查询类型。
3、回答部分:包含域名、类型、类别、生存时间、数据长度和资源记录数据等字段。

4、权威部分:类似于回答部分,包含权威服务器的资源记录信息。
5、附加部分:类似于回答部分,包含额外的资源记录信息,通常用于提供额外的信息,如DNSSEC签名等。
四、常见DNS记录类型
DNS记录有多种类型,每种类型都有其特定的用途,以下是一些常见的DNS记录类型:
1、A记录:地址记录,用于将域名映射到IPv4地址。
2、AAAA记录:与A记录类似,但用于IPv6地址。
3、CNAME记录:规范名称记录,用于将别名域定向到规范域。
4、DNAME记录:委托名称记录,用于用一条记录重定向多个子域,并将它们指向另一个域。
5、CAA记录:证书颁发机构授权记录,允许域所有者指定哪些证书颁发机构 (CA) 可以为其域颁发证书。
6、CERT记录:证书记录,存储用于验证所有相关方真实性的证书。
7、MX记录:邮件交换记录,用于指定电子邮件服务器的域名。
8、NS记录:名称服务器记录,显示哪个DNS服务器充当域的权威名称服务器。
9、SOA记录:起始授权机构记录,存储有关域的重要管理信息。
10、PTR记录:指针记录,用于反向查找,即通过IP地址找到对应的域名。
11、SPF记录:发件人策略框架记录,用于防止邮件伪造。
12、SRV记录:服务记录,用于标识特定服务的主机和端口。
13、TXT记录:文本记录,用于存储任意文本信息。
五、基于CH394的DNS实现
初始化CH394并创建1个UDP的socket;link成功后可通过CH394向DNS服务器发查询报文,DNS服务器ip要与路由器DNS服务器IP一致,目的端口为53。
六、DNS相关问题与解答
1. 什么是递归查询和迭代查询?
递归查询:客户端向DNS服务器询问答案,服务器返回最佳答案,如果服务器不知道答案,会引导客户端去另外的服务器查询。
迭代查询:客户端向服务器发送一个查询,要求他带有响应请求的答案或者错误消息,如果服务器不能给出正确答案或域名不存在,则会返回相应的错误消息。
2. 什么是DNS隐蔽通道?
DNS隐蔽通道是通过DNS协议建立隐蔽通道,从而顺利穿过防火墙,在客户端和服务器之间隐蔽地传输数据,由于绝大多数的网络都会开放DNS服务,DNS数据包不会被防火墙等网络安全防护设备拦截,因此可以实现这种隐蔽通信。
DNS是互联网中不可或缺的一部分,它通过将人类可读的域名转换为机器可读的IP地址,使得我们能够更方便地访问互联网资源,理解DNS的工作原理和常见记录类型有助于更好地配置和管理网络资源。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/101041.html