DNS协议详细内容
一、简介
域名系统(Domain Name System,缩写:DNS)是互联网的一项服务,它作为将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网,DNS使用TCP和UDP端口53,当前对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
二、DNS应用层协议
1. DNS资源记录
在介绍DNS层协议之前,先了解一下DNS服务器存储的资源记录(Resource Records,RRs),一条资源记录(RR)记载着一个映射关系,每条RR通常包含如下表所示的一些信息:
字段 | 含义 |
NAME | 名字 |
TYPE | 类型 |
CLASS | 类 |
TTL | 生存时间 |
RDLENGTH | RDATA所占的字节数 |
RDATA | 数据 |
常见的TYPE包括A、NS、CNAME、MX等。
2. 整体及Header部分
DNS请求与响应的格式是一致的,其整体分为Header、Question、Answer、Authority、Additional五部分,Header部分是一定有的,长度固定为12个字节;其余4部分可能有也可能没有,并且长度也不一定,这个在Header部分中有指明。
三、DNS分层结构
为了支持扩展性,DNS使用了大量的DNS服务器分布部署在各地,在各级DNS服务器子级又可以继续扩展出本地DNS服务器,这些DNS服务器大致可以分为三类:
根DNS服务器:负责管理整个DNS系统的根域名信息,com、.org等顶级域名。
顶级域(Toplevel Domain, TLD)DNS服务器:负责管理特定的顶级域名信息,com顶级域名服务器负责管理.com域名下的子域名信息。
权威DNS服务器:负责管理特定域名下的资源记录,例如www.example.com域名服务器负责管理该域名下的资源信息。
本地DNS服务器:也称为递归域名服务器,负责响应客户端的DNS查询请求,可以向其他域名服务器进行递归查询,并将查询结果返回给客户端。
四、DNS缓存
DNS的缓存是为了改善DNS解析的延迟性问题,同时减少因特网上的DNS报文数量,有了缓存之后,DNS服务器可以记住通过自己所解析的域名地址,并将他们缓存起来(缓存不是永久有效的,缓存时会有一个缓存时间设置TTL),本地服务器也可以缓存TLD服务器的ip地址,从而在查询解析时绕过根DNS服务器,直接访问TLD服务器。
五、DNS记录和报文
1. 资源记录
共同实现DNS分布式数据库的所有DNS服务器存储了资源记录(Resource Record, RR),每个DNS的响应报文都会包含一条或多条RR,资源记录是一个包含了下列字段的4元数组: (Name,Value, Type, TTL)。
2. DNS报文
报文格式如下所示:标识符、标志、问题数、回答RR数、权威RR数、附加RR数、问题(问题的变量数)、回答(资源记录的变量数)、权威(资源记录的变量数)、附加信息(资源记录的变量数)。
六、DNS通信流程
假设本地机器访问域名networkutopoa.com其详细的协议通讯过程如下:
浏览器从URL地址中获取域名networkutopoa.com然后将域名传递给本机的DNS应用的客户端。
DNS客户端向本地DNS服务器发送一个包含域名networkutopoa.com的请求。
本地DNS服务器先查看本地缓存有没有要查询的域名,如果没有在查看本地缓存中的TLD服务器有没有与域名匹配的服务器地址,如果有直接向TLD服务器发送请求,如果没有则向根服务器请求TLD服务器地址。
TLD服务器直接向本地DNS服务器发送回答,回答中包含了域名对应的ip地址。
浏览器收到ip地址之后,将请求发送到对应的ip地址上。
七、递归查找与迭代查找
DNS解析域名时主要有两种查询方式:递归查询和迭代查询。
1. 迭代查询算法
迭代查询的核心是所有的请求都是直接返回给本地的DNS服务器,然后本地的DNS服务器去对应的权威服务器等请求解析地址,整个过程中,只有请求主机到本地的DNS服务器的查询时递归的,其余都是迭代的。
2. 递归查询算法
递归的查询算法所有的查询都是递归的,详细流程如下所示。
八、DNS解析过程
假设运行在用户主机上的某些应用程序(如Web浏览器或邮件阅读器)需要将主机名转换为IP地址,这些应用程序将调用DNS的客户端,并指明需要被转换的主机名,DSN客户端收到DNS后,会使用UDP通过53端口向网络上发送一个DNS查询报文,经过一段时间后,DNS客户端会收到一个主机名对应的DNS应答报文。
九、DNS工作机制
最早的设计是只有一台DNS服务器,这台服务器会包含所有的DNS映射,这是一种集中式单点设计,这种设计不适用于当今的互联网,因为互联网有着数量巨大并且持续增长的主机,因此采用分布式设计,这种设计的特点如下。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/75774.html