• DNS域名解析过程


    • DNS域名解析的主要请求图

    请求过程:

     当一个用户在浏览器中输入www.taobao.com时,DNS解析将会有将近10个步骤

    1:浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程结束浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且缓存的时间也有限制,通常这个缓存时间为几分钟到几小时不等,可以通过TTL属性来设置

    2:如果用户的浏览器缓存中没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果,如果在本机中仍然无法完成域名的解析,就会真正请求域名服务器来解析这个域名

    3:如何、怎么知道域名服务器呢?在我们的网络配置中都会有DNS服务器地址这一项,这个地址就用于解决前面两步都无法解析是要怎么办,操作系统会把这个域名发送给这里设置的LDNS,也就是本地区的域名服务器。这个DNS通常是提供给你本地互联网接入的一个DNS解析服务。大约有80%的域名解析到这里就已经完成了,所以LDNS主要承担了域名的解析工作

    4;如果LDNS 仍没有命中,就直接Root Server域名服务器解析

    5:根域名服务器返回本地域名服务器一个所查询的主域名服务器(gTLD Server)地址。gTLD是国际顶级域名服务器

    6:本地域名服务器(LOCAL DNS SERVER)在向上一步返回的gTLD服务器发送请求

    7:接受请求的gTLD服务器查找并返回此域名对应的Name Server 域名服务器的地址,这个Name Server通常就是你注册的域名服务器,

    8:Name Server 域名服务器会查询存储的域名和Ip的映射关系表,正常情况下都根据域名得到目标的IP记录,连同一个TTL值返回给DNS Server域名服务器

    9:返回该域名对应的Ip和TTL值,Local DNS Server 会缓存这个域名个和IP的对应的关系,缓存的时间由TTL值控制

    10:把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束

    在实际的DNS解析过程中,可能还不止这10步,如Name Server可能有多级,或者有一个GTM来负载均衡控制,这都可能会影响域名解析的过程

  • 相关阅读:
    Django连接MySQL数据库
    Golang 切片删除指定元素的几种方法
    基于Java毕业设计智慧社区信息管理系统开发源码+系统+mysql+lw文档+部署软件
    警惕.Elbie[thekeyishere@cock.li].Elbie勒索病毒,您需要知道的预防和恢复方法。
    2022-Docker常用命令
    [附源码]java毕业设计学校失物招领系统
    Apache Ignite 作为 MySql的加速层
    mysql查询导出binlog文件命令
    自动微分----pytorch中的梯度运算与反向传播函数(预备知识)
    [NLP]—sparse neural network代表性工作简述
  • 原文地址:https://blog.csdn.net/weixin_54046648/article/details/127649647