现在是一个互联网的时代,网络的应用已经深入到所有人的日常生活中,人们通过电脑或者智能手机能够快速的访问各种购物、视频网站和游戏应用。访问一个网站或应用是需要从目标服务器所在IP地址下载数据包内容到本地设备,但日常生活中大家在上网过程中只在浏览器输入一个域名或打开APP应用,过程中并没有输入填写任何IP地址,这是为什么呢?
其实在这中间是有一个默默提供服务却不被大家熟知名字,那就是域名解析系统也叫做DNS解析系统,是由它完成了整个把域名转化成对应服务器IP地址的查询请求的调度过程。
DNS解析系统在整个互联网应用的环节当中,所充当的角色就是引路人,根据用户在浏览器地址栏或者APP应用的操作,在互联网的浩瀚世界里准确的找到目标服务器所在地址,为用户在访问设备和目标服务器之间建起一座虚拟的沟通桥梁。
引用一篇文章当中的说法,DNS解析就好比电影当中的字幕组,对于语言不通的观众,在观看各种影片的时候,无法理解片中对话时,充当的翻译角色,所有不通的语言由他们翻译之后变成了大家熟悉的文字,被翻译前的外语就等同于域名,而翻译之后的文字就是IP地址。
在全球,已经有上亿个域名被建成网站,智能手机的出现使得网络的应用更加便捷和方便,而这整个访问过程都是离不开DNS解析系统的。那么或许有的人会问,这么庞大的工作是怎么来展开的呢?
其实在解析的过程中,也是分成了很多个环节,通过一层一层分解,从而实现域名与IP地址进行的一一对应。DNS解析过程由本地设备的DNS服务模块发起查询请求然后经过路由提交到网络运营商DNS(Local DNS)进行查询,如果在运营商的DNS缓存中有之前其他用户查询后保存的缓存记录则可立即返回告知本地设备请求访问的域名所在IP地址。
但通常,由于每个人的爱好和习惯不一样,在运营商的DNS缓存里并没有存有当前请求访问域名的记录,这时运营商DNS服务器就会向上级DNS服务器发起一层一层的查询请求,其中各级负责的内容各有不同分工:
全球13台顶级DNS服务器(根服务器):
存储了所有后缀的域名服务器IP地址,根据域名后缀查询出对应所属域名服务器IP.
域名服务器:
存储了所有域名的注册信息及NS服务器地址,根据域名注册信息上记录的NS地址找到提供域名解析服务的DNS解析服务器(权威DNS)所在IP.
权威DNS:
存储了提供解析服务的所有域名解析记录,可直接查询出访问域名所添加的解析记录值.
运营商DNS:
根据用户的解析访问请求,向上级DNS解析服务器发起查询请求,再将最终查询出的域名解析记录指向地址告知请求设备。
理论上每一次你通过电脑浏览器或者操作APP应用的时候,都需要向DNS发起一次域名解析查询请求,也就需要经过以上整个DNS解析系统的查询响应,根据最终得到的结果才能向目标服务器获得网页内容或游戏数据、视频画面、动听的音乐等等。
运营商DNS作为直接面向用户访问设备的中间站,日常生活中就会时时刻刻收到各种各样的域名解析查询请求,很多时候会出现连续多个人都向同一个域名发起解析查询请求,例如淘宝双11活动时,大家会集中请求访问淘宝的网站。
如果每次都按照DNS解析系统的流程遍查所有DNS服务器来得出最终解析结果,所花费的时间就会很长而且无意义。
为了减少这种可规避操作,DNS运营商的就将每次从上级查询得到的域名结果存储到了DNS服务器当中,这样下一次有相同域名解析查询请求的时候就可以调用这个结果进行响应回答,这也就是所谓的DNS缓存。
所以总结而言,我们现在互联网的繁荣与便捷都是离不开DNS解析服务的功劳。