域名解析协议:DNS

DNS的出现

技术的产生,都是为了解决人们的需求,在早期的互联网,是通过静态地址映射(hosts)的方式来访问网址,在其中填写IP地址与域名的对应关系,来达到通过域名访问网址的效果。

当互联网技术逐渐成熟,大量网站的产生,这种死板又低效的方式已经不能满足人们的需求,另一方面,输入IP地址的方式访问域名记起来比较麻烦,无法记忆过多的网址,随后DNS出现了。

DNS

域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

早期的域名必须以英文句号.结尾。例如,当用户访问www.wikipedia.org的HTTP服务时必须在地址栏中输入:http://www.wikipedia.org.,这样DNS才能够进行域名解析。如今DNS服务器已经可以自动补上结尾的句号。

查询方式

递归查询:主机向本地域名服务器查询域名,本地域名服务器不知道,本地域名服务器以DNS客户机的方式向其他根服务器继续查询,但只查询一次,并不会继续继续发出查询请求,查询结果要么返回要查询域名的IP地址,要么报错。

优点:查询速度快,能最快应答成功或失败的解析,常用于局域网中

缺点:无法成功解析所有域名

迭代查询:又称重指引,主机发送一个域名服务器无法解析的域名,域名服务器会在域树的各分支的上下进行迭代查询,最终将返回查询结果给客户机,若域名存在,一定会返回查询域名的IP地址。

说明:A向B发送递归查询请求,B向C发送迭代查询请求(下一节将介绍迭代查询),得到C给出的提示后,B向D发送迭代查询请求,得到D给出的提示后, B向E发出迭代请求,得到E给出的提示后,B向F发出迭代查询请求,得到F给出的提示后,B得到了F返回G的IP地址,B向A返回G的IP地址,整个查询 结束。

优点:可解析所有存在的域名

缺点:速度相对于递归查询较慢

DNS解析过程

解析过程为转载
作者:Marlous
链接:https://www.zhihu.com/question/23042131/answer/24922954

1) 浏览器缓存
当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在);
  
2) 系统缓存  
当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;
  
3) 路由器缓存
当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客服端的DNS缓存;

4) ISP(互联网服务提供商)DNS缓存
当在用户客服端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络,则会进入电信的DNS缓存服务器中进行查找;

5) 根域名服务器  
当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器;

6) 顶级域名服务器
顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器;

7) 主域名服务器
主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录;

8)保存结果至缓存
本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接。

解析

分为正向和反向两种,正向解析是把域名转换为IP地址的过程,反向解析是把IP地址转换为域名的过程。

发布了167 篇原创文章 · 获赞 27 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42534026/article/details/105414811