HTTP刨根问底系列(一)

299 阅读2分钟

什么是DNS?

DNS英文(Domain Name System),域名其实就是IP的别名,因为ip不方便记忆

域名和IP地址之间如何映射?

需要多层命名服务器构成的分布式数据库

为什么不使用集中式的DNS?

  • 1.单点失败问题(一个失败全球访问瘫痪)
  • 2.流量问题(全球访问这一个服务器)
  • 3.距离问题(太远了)
  • 4.维护性问题

我们知道查找域名的第一步是查找本地域名服务器,那么什么是本地域名服务器?

不严格属于层级体系

  • 每个ISP有一个本地域名服务器
  • 当主机进行DNS查询时,查询被发送到本地域名服务器
  • 作为代理(proxy),将查询转发给(层级式)域名解析服务器系统

dns查询有哪两种方式?

迭代式和递归式,现在大部分用的递归式

dns查询过程为?(递归式)

那么为什么dns的请求过程是上图那样的

首先我们来一道面试题 设某网页的url为www.abc.com/index.html, 且该url对应的ip地址在你的计算机上没有缓存;文件index.html引用了8个小图像。在域名解析的过程中,无等待的一次dns解析请求与响应时间计为rttd,http请求传输web对象过程的一次往返时间计为rtth,试给出

1.该网址的域名为? www.abc.com

2.浏览器解析到该url对应的ip地址的最短时间和最长时间 最短时间:1rttd 最长时间:4rttd

上面这想问的也就是dns解析时间,那么最短时间,也就是本地域名服务器有ip与域名对应关系,这样子最短时间为1rttd; 最长时间,也就是本地域名服务器查不到该域名服务器,然后去根域名服务器,顶级域名服务器abc.com,直到查询到肯定有对应关系的权威域名服务器,所以此时最长时间为4rttd;

为什么权威域名服务器肯定有IP地址和url的对应关系

权威域名服务器负责一个区的域名服务器,保存该区中的所有主机的域名到IP地址的映射