DNS的工作原理图解说明
有一定技术基础的互联网用户都知道DNS是做什么用的,但大多数人都不清楚DNS如何查找域名。 Ven发现了一幅图片,这幅图片非常形象地描述了DNS查找下的连锁反应,对不了解DNS运行的人们可能会有些帮助。
下面这张图片来自Verisign,为了简化过程,图片忽略缓存的影响(正常情况下,查找结果经常在不同查找时段被缓存):
图片来源: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的工作原理图解说明
有一定技术基础的互联网用户都知道DNS是做什么用的,但大多数人都不清楚DNS如何查找域名. Ven发现了一幅图片,这幅图片非常形象地描述了DNS查找下的连锁反应,对不了解DNS运行的人们可能会有些帮助. 下面这张图片来自Verisign,为了简化过程,图片忽略缓存的影响(正常情况下,查找结果经常在不同查找时段被缓存): 图片来源:Verisign Domain Name Industry Brief, June 2007 (PDF),最后一页 查找www.example.com的IP地址的连锁反
-
DDNS 的工作原理及其在 Linux 上的实现
DDNS 工作原理的分析 DDNS 的实现最根本的一点是当主机的 IP 地址发生变化的时候,实现 DNS 映射信息的及时更新,应用程序需要及时地获得这一信息,主要的方法可分为两大类: 一类是轮询机制,即:应用程序每隔一定的时间,去从查询主机当前的 IP 地址,并与之前的进行比较,从而判断网络地址是否发生了变化.显然,这种方法不仅效率低下,而且对每次查询 IP 地址的时间间隔很难得到一个折中的数值. 第二类方法是异步实现方式,即:每当主机的 IP 地址发生变化的时候,应用程序能够被及时地通知到.这
-
Docker 网络工作原理详解
Docker 网络工作原理 当Docker server也就是docker daemon启动时,会自动创建一个名字是docker0的bridge,每当docker创建一个Container时,会在主机上面创建一个名字是veth*的ethernet 端口,并把这个eth*加入到docker0的bridge,在container中会自动创建一个名字是eth0的ethernet端口,这个eth0和veth*会形成一个类似管道的对,一一对应. 配置DNS docker是如何分配每个container的h
-
详解nginx+php执行请求的工作原理
php工作原理 首先先了解下常听说的cgi,php-cgi,fastcgi,php-fpm到底是什么关系,帮助了解php的工作原理 cgi协议 cgi协议用来确定webserver(例如nginx),也就是内容分发服务器传递过来什么数据,什么样格式的数据 php-cgi进程解释器 php-cgi是php的cgi协议进程解释器,每次启动时,需要经历加载php.ini文件->初始化执行环境->处理请求->返回内容给webserver->php-cgi进程退出的流程 fastcgi协议
-
详解JSP 中Spring工作原理及其作用
详解JSP 中Spring工作原理及其作用 1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作. 2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller. 3.DispatcherServlet请请求提交到目标Controller 4.Controller进行业务逻辑处理后,会返回一个ModelAndView 5.Dispathcher查询一个或多个
-
javascript原型继承工作原理和实例详解
先为大家分享JS原型继承实例,供大家参考,具体内容如下 一.JS原型继承 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JS原型继承</title> </head> <body> <!--原型继承--> <script type="text/javascript"> //cl
-
javaScript中的this示例学习详解及工作原理
this的工作原理 如果一个函数被作为一个对象的方法调用,那么this将被指派为这个对象. 复制代码 代码如下: var parent = { method: function () { console.log(this); }}; parent.method();// <- parent 注意这种行为非常"脆弱",如果你获取一个方法的引用并且调用,那么this的值不会是parent了,而是window全局对象.这让大多数开发者迷惑. 复制代码 代码如下
-
AngularJS 工作原理详解
个人觉得,要很好的理解AngularJS的运行机制,才能尽可能避免掉到坑里面去.在这篇文章中,我将根据网上的资料和自己的理解对AngularJS的在启动后,每一步都做了些什么,做一个比较清楚详细的解析. 首先上一小段代码(index.html),结合代码我们来看看,angular一步一步都做了些什么. <!doctype html> <html ng-app> <head> <script src="angular.js">&l
-
深度剖析Java中的内存原型及工作原理
本文主要通过分析Java内存分配的栈.堆以以及常量池详细的讲解了其的工作原理. 一.java虚拟机内存原型 寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放常量非RAM存储:硬盘等永久存储空间. 二.常量池(constant pool) 常量池指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据.除了包含代码中所定义的各种基本类型(如int.
-
HashSet工作原理_动力节点Java学院整理
对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,查看 HashSet 的源代码,可以看到如下代码: public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable { // 使用 HashMap 的 key 保存 HashSet 中
随机推荐
- 动态向页面添加控件和使用正则表达式的代码
- Vue获取DOM元素样式和样式更改示例
- windows server 2008 登录过程中显示历史登录信息
- 基于java下载中getContentLength()一直为-1的一些思路
- Java通过apache poi生成excel实例代码
- Python中if __name__ == '__main__'作用解析
- 引入JavaScript时alert弹出框显示中文乱码问题
- Python中的filter()函数的用法
- php对gzip文件或者字符串解压实例参考
- 收藏的SQLServer技巧集
- 神奇的7个jQuery 3D插件整理
- Win 2003的“远程桌面”
- MFC程序设计常用技巧汇总
- Android热更新开源项目Tinker集成实践总结
- 固定表格的高度超过指定高度就隐藏的方法
- springMVC拦截器HandlerInterceptor用法代码示例
- JavaScript 九种跨域方式实现原理
- 详解Python列表赋值复制深拷贝及5种浅拷贝
- Python多进程入门、分布式进程数据共享实例详解
- 一步一步跟我学易语言之循环语句