最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 关于DNS的那些事

    正文概述 掘金(爱嘿嘿的小黑)   2021-06-10   630

    一.DNS的定义以及它的作用

    维基百科中对于DNS的解释

    DNS主要的作用就是将人们所熟悉的网址 (域名) “翻译”成电脑可以理解的 IP 地址,这个过程叫做 DNS 域名解析。 打个比方,我们登百度的地址的时候,都是敲www.baidu.com,进行登陆,难道你会去敲IP地址登百度?明显,域名容易记忆。

    二.DNS服务器

    2.1 域名的级别

    • .代表根域名
    • .com这种是顶级域名,也叫一级域名
    • baidu.com这种叫二级域名,
    • www.baidu.com这种叫三级域名
    • 依次类推

    2.2 对应的DNS服务器种类

    根域名服务器(ROOT DNS Server)

    根域名服务器就是存放顶级域名服务器地址的。存储260个顶级域名服务器的IP地址。对于Ipv4来说全球有13个根域名服务器,它储存了每个域(如.com .net .cn)的解析和域名服务器的地址信息。

    顶级域名服务器

    例如.com的域名服务器,存储的是一些一级域名的权威DNS服务器地址(如toutiao.com的DNS)。

    顶级域名又称一级域名,顶级域名可以分为三类,即gTLD、ccTLD和New gTLD:

    • gTLD:国际顶级域名(generic top-level domains,gTLD),例如:.com/.net/.org等都属于gTLD;
    • ccTLD:国家和地区顶级域名(country code top-level domains,简称ccTLD),例如:中国是.cn域名,日本是.jp域名;
    • New gTLD:新顶级域名(New gTLD),例如:.xyz/.top/.red/.help等新顶级域名 顶级域名服务器就是根据上面三类保存域名IP对应数据的

    本地域名服务器(Local DNS)

    一般是运营商的DNS,主要作用就是代理用户进行域名分析的。

    三.DNS解析原理

    关于DNS的那些事

    3.1 递归查询

    主机向本地域名服务器的查询一般都是采用递归查询。

    所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。

    因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

    3.2 迭代查询

    当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。

    然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。

    顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。

    最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

    递归:客户端只发一次请求,要求对方给出最终结果。

    迭代:客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表,客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。

    授权回答:向dns服务器查询一个域名,刚好这个域名是本服务器负责,返回的结果就是授权回答。

    从递归和迭代查询可以看出:

    客户端-本地dns服务端:这部分属于递归查询。(定义)

    本地dns服务端---外网:这部分属于迭代查询。

    递归查询时,返回的结果只有两种:查询成功或查询失败.

    迭代查询,又称作重指引,返回的是最佳的查询点或者主机地址.

    3.3 详细过程

    关于DNS的那些事

    以在浏览器中输入www.toutiao.com为例。

    ①用户请求通过浏览器输入要访问网站的地址,例如:www.toutiao.com。浏览器会在自己的缓存中查找URL对应IP地址。如果之前访问过,保存了这个URL对应IP地址的缓存,那么就直接访问IP地址。如果没有缓存,进入到第2步。

    ②如果没有,就去问操作系统,操作系统也会去看自己的缓存,如果有,就直接返回。

    ③通过计算机本地的Host文件配置,可以设置URL和IP地址的映射关系。比如windows下是通过C:\windwos\system32\driver\etc\hosts文件来设置的,linux中则是/etc/named.confg文件。这里查找本地的Host文件,看是有IP地址的缓存。如果在文件中依旧没有找到映射关系,进入第四步。

    ④请求Local DNS Server,通过本地运营商获取URL和IP的映射关系。如果在校园网,DNS服务器就在学校,如果是小区网络,DNS服务器是运营商提供的。总之这个服务器在物理位置上离发起请求的计算机比较近。Local DNS Server缓存了大量的DNS解析结果。由于它的性能较好,物理上的距离又比较近,它通常会在很短的时间内返回指定域名的解析结果。80%的DNS解析需求在这一步就满足了。如果在这一步还是没有完成DNS解析,进入第五步。

    ⑤通过Root DNS Server进行解析,ROOT DNS Server会根据请求的URL 返回给Local DNS Server顶级域名服务器的地址。例如:查询的是”.com”的域名,就查询 gTL对应的域名服务器的地址。

    ⑥返回顶级域名服务器的地址以后,访问对应的顶级域名服务器(gTLD、ccTLD、New gTLD),并且返回Name Server服务器地址。简单来说Name Server服务器记录某域名和负责解析该域的权威DNS。

    ⑦Name Server会把指定域名的A记录或者CNAME返回给Local DNS Server,并且设置一个TTL。

    • A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。
    • CNAME:别名记录。这种记录允许您将多个名字映射到另外一个域名。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。它同时提供WWW和MAIL服务,为了便于用户访问服务。服务商从方便维护的角度,一般也建议用户使用CNAME记录绑定域名的。如果主机使用了双线IP,显然使用CNAME也要方便一些。
    • TTL(Time To Live):也就是设置这个DNS解析在Local DNS Server上面的过期时间。超过了这个过期时间,URL和IP的映射就会被删除,需要获取还要请求Name Server。

    ⑧如果此时获取的是A记录,那么就可以直接访问网站的IP了。但是通常来说大型的网站都会返回CNAME,然后将其传给GTM Server。

    GTM(Global Traffic Manager的简写)即全局流量管理,基于网宿智能DNS、分布式监控体系,实现实时故障切换及全球负载均衡,保障应用服务的持续高可用性。传给GTM的目的就是希望通过GTM的负载均衡机制,帮助用户找到最适合自己的服务器IP。

    也就是离自己最近,性能最好,服务器状态最健康的。而且大多数的网站会做CDN缓存,此时就更需要使用GTM帮你找到网络节点中适合你的CDN缓存服务器。

    ⑨找到CDN缓存服务器以后,可以直接从服务器上面获取一些静态资源,例如:HTML、CSS、JS和图片。但是一些动态资源,例如商品信息,订单信息,需要通过第9步。

    ⑩对于没有缓存的动态资源需要从应用服务器获取,在应用服务器与互联网之间通常有一层负载均衡器负责反向代理。有它路由到应用服务器上。

    注意:仔细看上面的过程,你可能发现了,没有提到DNS服务器怎么知道"根域名服务器"的IP地址。回答是"根域名服务器"的NS记录和IP地址一般是不会变化的,所以内置在DNS服务器里面。

    四.总结

    DNS服务器是用来做URL与IP地址解析的,帮助用户找到要访问服务器的IP。从DNS服务器的结构来说大致分为三层:根域名服务器,顶级域名服务器,本地域名服务器。

    申请域名的供应商会提供Name Server作为DNS解析。从用户访问一个网站出发,经过浏览器,本地Host文件、Local DNS Server、Root DNS Server、顶级域名服务器(gTLD、ccTLD、New gTLD)、Name Server、GTM、CDN、Application Server。


    起源地下载网 » 关于DNS的那些事

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元