DNS域名解析

DNS的核心系统是一个三层树状、分布式服务,基本对应域名的结构:

  1. 根域名服务器(Root DNS Server):管理顶级域名服务器,返回com、net、cn等顶级域名服务器的ip地址。
  2. 顶级域名服务器(Top-level DNS Server):管理各自域名下的权威域名服务器,例如:com顶级服务器可以返回apple.com域名服务器的ip地址。
  3. 权威域名服务器(Authoritative DNS Server):管理自己域名主机的ip地址apple.com权威域名服务器可以返回www.apple.com的IP地址。

例如:你要访问“www.apple.com”,就要进行下面的三次查询:

  1. 访问根域名服务器,它会告诉你“com”顶级域名服务器的地址;
  2. 访问“com”顶级域名服务器,它再告诉你“apple.com”域名服务器的地址;
  3. 最后访问“apple.com”域名服务器,就得到了“www.apple.com”的地址。

为了缓解DNS系统的压力,使其能够快速获取结果,应用“缓存”解决此问题。

  1. 运营商可以搭建自己的DNS服务器,作为用的DNS查询的代理,代替用户的核心DNS服务器。这些服务器,可以缓存之前的查询结果,如果已经有了记录,就无需先根服务器发送服务查询,直接返回对应的IP地址。
  2. 操作系统里做DNS解析结果的缓存。当用户在此输入的时候,直接返回对应IP。
  3. 操作系统里面还有一个特殊的主机映射host文件(可以在这个文件下将域名的对应ip填到此文件)。linux下在:/etc/hosts。window下在C:\WINDOWS\system32\drivers\etc\hosts。

一个域名解析的流程:先到系统缓存中去寻找对应ip => 如果没找到在到host文件中寻找 => 在到运营商DNS寻找 =>最后到DNS根域下寻找。

域名解析对应ip的实际应用:

  1. 重定向:因为域名代替了 IP 地址,所以可以让对外服务的域名不变,而主机的 IP 地址任意变动。当主机有情况需要下线、迁移时,可以在host更改 DNS 记录,让域名指向其他的机器。
  2. 可以用二级域名管理服务端。
  3. 负载均衡搭建:可以叫一个域名对应多个返回ip。来达到去不同的服务器去发起请求,实现负载均衡。(可以通过随机返回不同ip,也可以通过权重返回不同服务器)

问题:在浏览器地址栏里随便输入一个不存在的域名,比如就叫“www. 不存在.com”,试着解释一下它的 DNS 解析过程。

解答:  

  1. ·检查本地dns缓存是否存在解析"www.不存在.com"域名的ip
  2.   如果没有找到继续查找本地hosts文件内是否有对应的固定记录
  3.   如果hosts中还是没有那就根据本地网卡被分配的 dns server ip 来进行解析,dns server ip 一般是“非官方”的ip,比如谷歌的“8.8.8.8”,本身它也会对查找的域名解析结果进行缓存,如果它没有缓存或者缓存失效,则先去顶级域名服务器“com”去查找“不存在.com”的域名服务器ip,结果发现不存在,于是直接返回告诉浏览器域名解析错误,当然这两次查找过程是基于udp协议

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值