域名系统协议DNS
1)域名
域名就是www.xxx.com
,当然这是最简单的一种.com之后还可以由东西,称之为根域名,域名从做到右,级别逐渐增高。
2) DNS协议
概念:DNS是域名系统(Domain Name System)的缩写,提供的是一种主机名到ip地址的转换服务,就是我们常说的域名系统。它是一个分层的DNS服务器组成的分布式数据库,是定义了主机如何查询这个分布式数据库的方式的应用层协议。能够使人们更方便的访问互联网,而不用去记住能够被机器直接读取的ip数字串。
作用:将域名解析为IP地址,客户端向dns服务器(dns服务器有自己的ip地址)发送域名查询请求,dns服务器告知客户机web服务器的IP地址。
3)迭代查询与递归查询
实际上,DNS解析是一个包含迭代查询和递归查询的过程
。
递归查询
指的是查询请求发出后,域名服务器代为向下一级域名服务器发出请求,最后向用户返回查询的最终结果。使用递归查询,用户用户只需要发送一次查询请求。迭代查询
指的是查询请求后,域名服务器返回单次查询的结果。下一级的查询由用户自己请求。使用迭代查询,用户需要发出多次的查询请求。
一般我们向本地DNS服务器发送的请求的方式就是递归查询
,因为我们只需要发送一次请求,然后本地DNS服务器就返回给我们最终的请求结果。而本地DNS服务器向其它域名服务器请求的过程就是迭代查询的过程
,因为每一次域名服务器只返回单次查询的结果,下一级的查询由本地dns服务器自己进行。
4)DNS完整的查询过程
DNS服务器解析域名的过程:
- 首先
浏览器会在浏览器的缓存
中查找对应的ip地址,如果查找到直接返回,若找不到的话进行下一步。 - 将请求发送到
本地DNS服务器
,在本地域名服务器缓存中查询,如果查找到,就直接将查找结果返回,若找不到进行下一步。 - 本地DNS服务器向
根域名服务器
发送请求,根域名服务器会返回一个所查询域的顶级域名服务器地址 - 本地DNS服务器向
顶级域名服务器
发送请求,接收请求的服务器查询自己的缓存,如果有记录,就返回查询结果,如果没有就下一级的权威域名服务器的地址 - 本地DNS服务器向
权威域名服务器
发送请求,域名服务器返回对应的结果 - 本地DNS服务器将返回结果保存在缓存中,便于下次使用
- 本地DNS服务器将返回结果返回给浏览器