DNS解析域名的过程

一、DNS解析域名的过程

  1、大的过程可分为三步:

    (1)、在缓存中查找是否之前解析过

    (2)、在windows系统的host文件中查找

    (3)、请求DNS服务器

  2、小的过程可分为十步:

    (1)、浏览器先检查自己自身有没有解析过该域名,若是解析过直接拿到之前缓存的ip,解析结束。域名被缓存的时间也可通过TTL属性来设置。

    (2)、如果浏览器中没有,会再去找操作系统中的hosts文件,里面有配置好的域名地址及ip,查看该域名是否有对应的ip,若是有,那浏览器会首先使用这个ip地址。

      如图:

      

      像这种:

      

      但是这种操作系统级别的域名解析规程也被很多黑客利用,通过修改你的hosts文件里的内容把特定的域名解析到他指定的ip地址上,造成所谓的域名劫持。所以在windows7中将hosts文件设置成了readonly,防止被恶意篡改。

    (3)、此时前面两个都没有找到(专业术语叫没有命中),就请求本地域名服务器LDNS(Local DNS Server)来解析,这台服务器放在城市中某个离你很近的角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了。

    (4)、若是LDNS还没有,就只能跳到Root Server请求解析

    (5)、此时Root Server返回LDNS一个所查询域的主域名服务器地址 (主域名服务器:gTLD Server,国际顶尖域名服务器,如.com .cn .org等)

    (6)、此时LDNS再发送请求到gTLD Server

    (7)、接受请求的gTLD Server查找并返回这个域名对应的Name Server的地址,这个Name Server就是网站注册的域名服务器

    (8)、Name Server根据关系映射表找到该域名对应的IP,返回给LDNS

    (9)、LDNS接收到ip后先缓存这个域名和对应的ip

    (10)、LDNS把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中,域名解析过程至此结束

    具体解析的图:

    

    原博地址:

    https://blog.csdn.net/m0_37812513/article/details/78775629

  

原文地址:https://www.cnblogs.com/rgever/p/9724264.html