Java教程

【计算机网络】DNS协议介绍

本文主要是介绍【计算机网络】DNS协议介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、DNS协议概念

DNS是域名系统的缩写,提供主机名到IP地址的转换服务。

它是一个由分层的DNS服务器组成的分布式数据库,是定义了主机如何查询这个分布式数据库的方式的应用层协议。

二、DNS协议作用

将域名解析为IP地址,客户端向DNS服务器(DNS服务器有自己的IP地址)发送域名查询请求,DNS服务器告知客户机Web服务器的IP地址。

详细点:客户端向本地DNS服务器发送查询请求,这是递归查询。本地DNS服务器再向根域名服务器、顶级域名服务器、权威域名服务器发送查询请求,最后将结果告知客户端想知道的IP地址。这是迭代查询。

三、DNS使用的传输层协议:TCP协议、UDP协议

(1)区域传输的时候使用TCP协议

  辅域名服务器会定时向主域名服务器进行查询数据是否变动。如有变动,会执行一次区域传输,进行数据同步。区域传输使用的是TCP,因为TCP是字节流协议,数据大小没有限制,而UDP是UDP是数据报协议,数据大小有限制,而数据同步传送的数据量比一个请求应答的数据量要多得多。因此用TCP协议。

  此外,TCP是可靠传输服务,保证了数据的准确性。

(2)域名解析的时候用UDP协议

  客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过三次握手,这样DNS服务器负载更低,响应更快。理论上也可以用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包。

三、DNS完整的查询过程

DNS服务器解析域名过程:

  1)浏览器缓存中查找对应的IP地址,查不到就下一步

  2)询问本地DNS服务器,本地DNS服务器中是否有缓存,没有查不到就下一步

  3)本地域名服务器发送请求给根域名服务器

  4)根域名服务器会返回一个所查寻域的顶级域名服务器地址

  5)本地域名服务器发送请求给顶级域名服务器,如果顶级域名服务器有缓存记录,就返回结果,没有就下一步

  6)顶级域名服务器会返回一个所查寻域的权威域名服务器地址

  7)本地DNS服务器向权威域名服务器发送请求,域名服务器返回对应结果

  8)本地服务器将返回结果保存在缓存,以便于下次使用将结果返回给浏览器

四、迭代查询和递归查询

  • 递归查询指的是查询请求发出后,域名服务器代为向下一级域名服务器发出请求,最后向用户返回查询的最终结果。使用递归 查询,用户只需要发出一次查询请求。
  • 迭代查询指的是查询请求后,域名服务器返回单次查询的结果。下一级的查询由用户自己请求。使用迭代查询,用户需要发出 多次的查询请求

五、DNS记录和报文

  DNS服务器以资源记录的形式存储星系。每一个DNS响应报文一般包含多个资源记录。一个资源记录的具体格式为

  (Name,Value,Type,TTL)

  

这篇关于【计算机网络】DNS协议介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!