DNS的工作原理图解说明

   2015-06-28 0
核心提示:前段时间暴风影音的DNS攻击事件导致大量用户无法上网,闹得沸沸扬扬,至今网上仍然有人讨论。DNS到底是什么呢?为什么DNS挂了就不能上网?

有一定技术基础的互联网用户都知道DNS是做什么用的,但大多数人都不清楚DNS如何查找域名。 Ven发现了一幅图片,这幅图片非常形象地描述了DNS查找下的连锁反应,对不了解DNS运行的人们可能会有些帮助。

下面这张图片来自Verisign,为了简化过程,图片忽略缓存的影响(正常情况下,查找结果经常在不同查找时段被缓存):

DNS的工作原理图解说明

图片来源:Verisign Domain Name Industry Brief, June 2007 (PDF),最后一页

查找www.example.com的IP地址的连锁反应:

用户计算机首先会查询该网站所使用的域名服务器(DNS服务器)。 这个过程就是图片中的“递归式域名服务器”。

DNS服务器不知道www.example.com的IP地址,因此DNS服务器会开始进行连锁查询,直到查找到IP地址并向计算机报告(IP地址与图片中一致)。

1.在互联网根服务器中进行查找,获取顶级域名.com的DNS服务器。

2.在.com的顶级域名DNS服务器进行查找,获取example.com的授权DNS服务器。

3.在exapmle.com的授权DNS服务器中查找主机www.example.com的IP地址,最后将IP地址返回计算机

4.大功告成! 现在计算机获得了www.example.com的IP地址,用户可以访问该网站了。

对有些人来说,这已经不是什么新鲜事了,但不得不承认,这幅图片确实很形象, 值得分享。

 
标签: DNS 工作原理
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • ubuntu dig timeout解决方法,dnscat执行失败也
     sudo vi /etc/resolvconf/resolv.conf.d/head写入: nameserver 223.5.5.5nameserver 223.6.6.6nameserver 114.114.114.114nameserver 8.8.8.8  
    02-10
  • Fedora 服务器之 DNS 配置
    网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“IP地址”。但这些数字难以记忆,所以就采用“域名”的方式来取代这些数字了。 当某台主机要与其他主机通信时,就可以利用主机名称向DNS服务器查询该主机的IP地址。整个DNS域名系
    02-10
  • Ubuntu 能ping通DNS 地址 无法解析域名
     ping通qq百度都行,唯独谷歌不行,主机能够ping通google的dns服务器地址 8.8.8.8,却无法解析域名 $ ping www.google.co.ukping: unknown host www.google.co.uk 查看/etc/network/interfaces文件写的有 dns-nameservers 8.8.8.8 8.8.4.4 这句,再查看/et
    02-10
  • 【linux基础err】ubuntu16.04 dns_probe_finish
    err:ubuntu16.04 dns_probe_finished_no_internet有线和无线的图标正常,不能连接上网,与DNS的配置有关。
    02-10
  • CentOS下yum安装dnsmasq,并强制替换为最新版
    由于yum安装的dnsmasq版本比较低,从网上找到了参考方法,将yum安装好的dnsmasq强制替换为最新版!安装dnsmasq的下载地址:http://www.thekelleys.org.uk/dnsmasq/我选择的是最新的版本:dnsmasq-2.76wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.76
    02-09
  • nginx 代理 coredns dns 服务
    nginx 代理 coredns dns 服务
    今天有写过一个简单的基于nginx 的stream 代理dns server的服务,以下是集成coredns 的一个demo 同时也包含了consul 以及使用coredns 的rewrite 以及loadbalance 插件环境准备docker-compose 文件 version: "3"services: lb:   image: openresty/openrest
    02-09
  • Debian系统配置nginx解析php debiandns配置
    Debian系统配置nginx解析php debiandns配置
    通过apt-get install安装的nginx、php、php-fpm   /etc/nginx/sites-available/default删除后:  打开index.php:   保留default后,web目录为:/var/www/html 建议修改/etc/nginx/sites-available/default文件,不要直接修改/etc/nginx/nginx.conf文
    02-09
  • Linux 域名和DNS
    Linux 域名和DNS
    名字解析的作用:TCP/IP网络中,设备之间的通信依赖IP地址来实现,但是IP地址不好记忆,所以就将每一台设备用一个名字来进行标识,但是这个名字计算机不能解析。所以就需要借助名字解析服务来实现将名字解析为IP地址。主机名和域名的联系主机名:主机名:计算
    02-09
  • 教你使用Ubuntu搭建DNS服务器
    教你使用Ubuntu搭建DNS服务器
    本例是在ubuntu18.04上进行的,其他版本的ubuntu同样类似!一、重点说明/etc/bind/named.conf.options配置文件在进行bind9服务器配置时,/etc/bind/named.conf.options是十分关键的配置文件,它决定着DNS服务器是否可以正常工作。重点解释第30行:listen-on p
  • mac 清理dns cache
    之所以提起这个功能,是因为在windows下面太方便了,进入cmd窗口:ipconfig /flushdns ,轻轻松松处理在mac上面就没有这么方便了,很久前,用“dscacheutil -flushcache”就可以解决了。但自从升级后这些命令就没有了,你必须得用这个组合才能清理干净:XML/H
点击排行