DNS解析原理及过程。

  当用户访问我们网站一个网页时,他需要经过以下步骤:

  1)找到这个网页的存放服务器;

  2)服务器将用户的请求信息接入;

  3)服务器通过文件路径(URL)查找用户请求网页;

  4)用户将该网页内容下载到自己电脑上。

  我们所讲的DNS解析主要是第一个步骤,即让用户通过URL找到文件存放的服务器。

 1、为什么要有DNS解析?

  让用户电脑和服务器(网页存放电脑)连接起来并不是靠域名进行,网络上计算机之间实现连接是通过每台计算机在网络中拥有的惟一的IP地址来完成的。但IP地址并不便于记忆,这样就需要在用户容易记忆的地址和计算机能够识别的地址之间有一个解析,用户容易记忆的地址就是域名,而DNS服务器便充当了将用户请求的域名“翻译”成相应IP地址以便于计算机之间相互连接的角色。

 2、DNS解析原理是什么?

  DNS解析主要有递归查询,就是在某个DNS服务器缓存中查找不到相应的域名与IP地址对应关系时,自动跳转到到下一步骤通过下一个DNS服务器进行查找。具体可见如下两图:

 3、DNS解析过程是什么?

  DNS解析过程是重点也是难点,下面我按自己的理解一步步来解释,可能有错误之处,欢迎指正。

  以下步骤中,将DNS缓存中存在域名对应IP则DNS解析成功,用户计算机将直接访问服务器,若DNS服务器缓存中不存在域名对应IP,则自动进入下一步。

  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服务器建立链接。

 4、DNS优化如何实现?

  一般域名商或服务器商都会提供免费的DNS服务,然而,很多情况下这些免费的DNS服务器速度较慢,故可做一定优化,具体可从以下几方面:

  1)增加DNS服务器数量

  减小服务器压力,当单位服务器需要处理的DNS请求数量较少时速度会更快;

  2)全国多地分布DNS服务器

  用户网络访问速度跟用户计算机到服务器的距离有关,若可以让用户就近访问所在省份的服务器便可以加速DNS解析速度;

  3)识别用户线路反馈相应线路IP

  当用户网络线路跟服务器网络线路一致时速度较快,而不一致时则较慢,如:用户使用电信的线路但服务器是联通的线路,这样就会造成用户访问网站速度下降,如果可以识别用户访问线路并反馈相应IP则会加速网站访问。

转载于:https://www.cnblogs.com/icestone10/p/3250633.html

DNS解析全过程及原理相关推荐

  1. dns解析过程_DNS原理总结及其解析过程

    点击上方蓝色字体,关注我们 前言 域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,使人更方便地访问互联网.DN ...

  2. dns解析服务器原理,DNS解析过程及原理

    本词条缺少信息栏.概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! DNS=本地域名服务器,当用户访问一个网址,计算机就会提出域名解析请求,并发给本地域名服务器,本地域名服务器收到请求后 ...

  3. DNS解析原理与Bind部署DNS服务

    DNS是什么? DNS(Domain Name System,域名系统)是互联网上最核心的带层级的分布式系统,它负责把域名转换为IP地址.反查IP到域名的反向解析以及宣告邮件路由等信息,使得基于域名提 ...

  4. 【博客496】k8s dns解析与服务发现原理

    k8s dns解析 集群内域名解析原理 Kubernetes 集群节点上 kubelet 有--cluster-dns=${dns-service-ip} 和 --cluster-domain=${d ...

  5. linux运维笔记:DNS解析IP地址的过程(dns解析的原理 )

    linux运维笔记:DNS解析IP地址的过程(dns解析的原理 ) 1.首先:说一下dns解析的流程,大家都知道,计算机之间只能通过ip相互通信,因为ip不好记,于是才使用dns服务器把域名解析为相应 ...

  6. 命令理解DNS解析原理

    通过执行下面的命令可以清晰地理解DNS解析原理 dig @8.8.8.8 www.baidu.com +trace 执行结果 ~ $ dig @8.8.8.8 www.baidu.com +trace ...

  7. kubernetes集群内部DNS解析原理

    kubernetes集群内部DNS解析原理 当kubernetes初始化完成后,在kube-system名称空间下会出现kube-dns的service服务与coredns的pod $ kubectl ...

  8. Linux运维系列总结-Linux系统启动过程、WEB工作原理、DHCP工作原理、DNS解析原理、NFS网络文件系统、FTP文件传输协议、PXE+KICKSTART自动安装系统

    Linux运维系列总结-Linux系统启动过程.WEB工作原理.DHCP工作原理.DNS解析原理.NFS网络文件系统.FTP文件传输协议.PXE+KICKSTART自动安装系统 1.Linux系统的启 ...

  9. 剖析 kubernetes 集群内部 DNS 解析原理

    作者 | 江小南 来源 | 江小南和他的小伙伴们 引言 说到DNS域名解析,大家想到最多的可能就是/etc/hosts文件,并没有什么错,但是/etc/hosts只能做到本机域名解析,如果跨机器的解析 ...

最新文章

  1. 错误:You can't specify target table 'xxx' for update in FROM clause的解决
  2. SpringBoot面试题及答案 110道(持续更新)
  3. Kaldi不支持Cuda10_1版本
  4. ssis foreach 使用ADO记录集
  5. iOS - Quartz 2D 画板绘制
  6. Python基础入门:分支及循环
  7. python基础之类的属性方法、魔术方法普通方法
  8. SignalR---DOTNET客户端
  9. 快速入门Treap(代码实现)
  10. 多数元素 在数组中出险次数大于n/2
  11. RangeError:Maximum call stack size exceeded
  12. 格雷码转二进制c语言程序,systemC构建格雷码和二进制的转换
  13. 思科认证华为认证的区别
  14. python+opencv代码给证件照换底色(别再用PS啦)(转载)
  15. 通用获取公众号文章历史,阅读量接口
  16. (转)走进全球CTA领导者:元盛资本(Winton CapitalManagement)
  17. 龙之谷服务器仓库在哪个位置,全区全服版本更新至Ver.190
  18. intellij idea字体大小设置一秒完成
  19. 《程序员健康指南》- 预防背部疼痛
  20. 引用腾讯视频 php代码,调用腾讯视频播放器APi代码

热门文章

  1. PDF格式分析(五)文档结构之文件头
  2. UWP 读写文件 StreamReader/StreamWriter
  3. java jta_分布式事务(二)Java事务API(JTA)规范
  4. js 工具库 Loadsh 常用方法:filter +slice + orderBy
  5. 万能五笔 linux,基于SCIM输入法自己配置一个“万能五笔”
  6. java线性表猴子选大王,猴子选大王 课程设计报告.doc
  7. android喷气背包游戏截图
  8. vue中transition动画(移动端页面切换左右滑动效果)
  9. Express解决跨域问题
  10. VMware下Android编译流程