1-趣味解读DNS工作原理——转载疯猫网络科技
因为只要我们输入百度、腾讯、淘宝的名字,无论它们的服务器在哪里,历经多少轮查询,我们都能找到并访问之。这就是计算机网络中著名的域名系统DNS(Domain Name System),它能实现把一个网站的域名解析为对应的IP地址。有了IP就能和目标建立连接。这一看似简单的过程,却隐含多个步骤和小概念。
下面大家一起来动一动脑、扫一扫盲,当浏览器里输入http://www.baidu.com回车后,怎样能解析到它的IP呢?
a) 我们会先检查浏览器的缓存中有没有http://www.baidu.com对应的IP地址
b) 如果没有,再检查电脑操作系统的缓存中有没有http://www.baidu.com的IP地址
[小贴士] 一般来说,当电脑第一次成功访问一个网站后,在一定时间内,浏览器或操作系统会缓存有它的IP地址(DNS解析记录) 。
查看操作系统上已缓存的所有DNS解析记录 (本例有2条):
Time To Live (TTL) 表示这条记录还能缓存在操作系统内的剩余时间。比如第一条,2119s后,它将不再有效。
这时如果网站的IP发生变化,但我们系统的DNS缓存未到期,这就会导致仍使用旧的IP去访问而出错。
所以这种情况下,需要清除一把操作系统的DNS缓存:
c) 如果浏览器和操作系统的缓存都没有http://www.baidu.com的IP记录,我们会接着检查C:WindowsSystem32driversetc的hosts文件,因为这个文件能直接指定域名对应某个IP地址。
如果以上3步都没找到对应的IP。恭喜~接下来我们将正式进入请求域名服务器DNS(Domain Name Server)帮忙解析域名的阶段了。。。
1. 电脑客户端会发出一个DNS请求 (http://www.baidu.com的IP是啥啊) 给它的本地域名服务器 (本地DNS)。
本地域名服务器 (本地DNS) 是什么鬼?我们通过网络属性看一看↓↓↓
如果设置在左图自动获取模式下,本地DNS由你的网络服务商(ISP) 如电信,移动等自动分配,它通常在你网络商的某个机房。
如果设置在右图,我们将不服从ISP分配。明确指定用Google (8.8.8.8) 或者我们国内网络商(114.114.114.114) 提供的免费DNS服务器作为这台电脑连接的本地DNS。
[小贴士] 一般如果ISP提供的DNS出现问题而导致域名解析失败不能访问网页时,我们可以按右图手工定义本地DNS的地址。
2. 本地DNS收到来自客户端的请求。大家可以想象这台服务器上缓存了一张各域名与之对应IP地址的大表格。如果能找到www.baidu.com,它直接就返回IP地址。如果没有,本地DNS会去问他的老大哥Root:嗨,能告诉我http://www.baidu.com的IP地址吗?
老大哥Root就是根域名服务器,它是最高层次的,全球共有13套。它不直接用于域名解析,但能指明一条道路。
3. Root DNS收到来自本地DNS的请求说:哦,http://www.baidu.com啊,这个域名是由.com区域管理,我给你我小弟Top的地址,你去问问他吧。
4. 本地DNS:Hi Top哥,你能告诉我http://www.baidu.com的IP地址吗?
小弟Top其实就是顶级域名服务器 (比如.com, .net, .org…一级区域),它负责管理二级域名(比如baidu.com, qq.com...),所以它能提供一条更清晰的方向。
5. Top说:我给你负责http://www.baidu.com区域的权威人士小A的地址,你去问她应该能问到了。
6. 本地DNS:喂,小A,http://www.baidu.com对应的IP是啥呀?
小A就是baidu的权威域名服务器,它是域名解析结果的原出处。就通俗上“这个域名我说了算”的服务器。
7. 小A查询后将对应的IP地址X.X.X.X告诉本地DNS
8-9. 本地DNS再将IP地址返回客户端,客户端和目标建立连接。
至此,我们我们完成了DNS的解析过程。总结一下,整个过程就是:
站在客户电脑角度,这是一次DNS递归查询过程,因为由本地DNS全权为它效劳,它坐等结果即可;另一种是DNS迭代查询,它需要客户端亲历亲为,各域名服务器只指明下一步方向。
PS~~最后一起来享受一把一条命令获取DNS解析的快感吧。比如我们解析http://www.qq.com的IP地址
在命令结尾处加上IP地址,表示指定它作为这次查询的本地DNS
以上。
如果说网络的本质是连接一切,那域名为“一切”提供了身份标识,IP则为“一切”提供了联系的可能。
现实生活不会因为我记住了你的名字,而再次相遇。但在网络的世界,知道你的名字,已是足矣。
1-趣味解读DNS工作原理——转载疯猫网络科技的更多相关文章
- 深入解读RabbitMQ工作原理及简单使用
		
RabbitMQ系列目录 RabbitMQ在Ubuntu上的环境搭建 深入解读RabbitMQ工作原理及简单使用 Rabbit的几种工作模式介绍与实践 Rabbit事务与消息确认 Rabbit集群搭建 ...
 - DNS 工作原理是什么,域名劫持、域名欺骗、域名污染又是什么
		
DNS 工作原理是什么,域名劫持.域名欺骗.域名污染又是什么 2014年11月27日 10:05:40 阅读数:6726 标签: dns网络互联网顶级域名递归 更多 个人分类: 网络学习 一.DN ...
 - 深入浅出HTTPS工作原理(转载)
		
转载自: https://blog.csdn.net/wangtaomtk/article/details/80917081 深入浅出HTTPS工作原理 HTTP协议由于是明文传送,所以存在三大风险: ...
 - Windows客户端DNS工作原理
		
通常大家对Windows客户端DNS的配置存在多个误区. 误区一,配置1个内网DNS,1个外网DNS.解析内网的时候用内网DNS,解析外网的时候用外网. 电脑怎么知道哪个是内网?哪个是外网?我们内部的 ...
 - HTML5 Geolocation API工作原理[转载]
		
大家都知道,HTML5 Geolocation 可以使用 IP 地址.基于 Web 的数据库.无线网络连接和三角测量或 GPS 技术来确定经度和纬度. 问题: 在一个基于地理位置服务的个人业余项目(小 ...
 - DNS工作原理
		
一.简述dns DNS(domain name system)域名系统或者(domain named system)区域名称服务,分为正向与反向域名解析,适用C/S,端口路53/udp,53/tcp, ...
 - jQuery UI Widget(1.8.1)工作原理--转载
		
先看下代码的相关注释: /*! * jQuery UI Widget 1.8.1 * * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/abo ...
 - 简单谈谈DNS的工作原理及实践
		
DNS协议简介 dns(Domain Name System)是一个全球化的分布式数据库系统,用于存储域名和互联网IP地址的映射关系.dns协议是计算机协议栈应用层中,应用最广泛的协议之一.用户每一次 ...
 - DNS工作流程及原理 域名、IP与DNS的关系
		
转自:http://blog.csdn.net/maminyao/article/details/7390208 一.DNS服务概述 DNS是Domain Name System的缩写,即域名系统.其 ...
 
随机推荐
- 字符串匹配的 Boyer-Moore 算法
			
上一篇文章,我介绍了 字符串匹配的KMP算法 但是,它并不是效率最高的算法,实际采用并不多.各种文本编辑器的” 查找” 功能(Ctrl+F),大多采用 Boyer-Moore 算法. 下面,我根据 M ...
 - NodeJs使用nodejs-websocket + protobuf
			
参考: HTML5+NodeJs实现WebSocket即时通讯 (某人的blog) nodejs-websocket使用示例 (www.npmjs.com网站,有示例) Buffer API (nod ...
 - 下载Crypto,CyCrypto,PyCryptodome 报错问题
			
python下载Crypto,CyCrypto,PyCryptodome,如有site-packages中存在crypto.pycrypto,在pip之前,需要pip3 uninstall crypt ...
 - D2
			
Cosmic Cleaner: 为什么大家都知道球缺怎么求,我没听说过啊??? 我真的是印象里今天第一次听说球缺这个东西啊... 我一看,哇,神仙几何题,毫无头绪,投了投了,然后就被过穿了??? tl ...
 - hibernate02环境的搭建
			
hibernate: 持久层的框架!是一个开放源代码的对象关系映射框架(ORM)!之前我们访问数据库使用JDBC!对JDBC进行了轻量级的对象封装!是一个全自动ORM框架!(底层可以自动生成sql语句 ...
 - APP安全在线检测
			
腾讯金刚审计系统 http://service.security.tencent.com/kingkong 免费 无限制 腾讯御安全 http://yaq.qq.com/ 免费 查看漏洞详情需认证 阿 ...
 - 9 ArcGIS Server 性能优化
			
1.系统性能影响因子 地图.服务类型.数据源.客户端技术.CPU.数据结构.网络.内存.存储.部署.架构.服务接口.SDE等. 2.ArcGIS Server性能优化 数据结构与数据源:数据结构(矢量 ...
 - vue前后分离---数据模拟
			
最近为在做CRM的前期工作,忙里偷闲写了个关于数据模拟方面的东西 主要是现在博客中满天都再说前后分离,但是还没有几个实际操作的---让许多新手{-_-} 方法一: 启动一个express静态服务器-- ...
 - 1.7Oob方法的作用
			
public class Exse2 { public static void main(String[] args) { sumIntLong(10,15); sumIntLong(20,30); ...
 - 电力电子MATLAB
			
1.电力电子仿真时,要加一个powergui 2.变压器Multi-Winding Transformer 其中额定电压比就是匝数比,并且变压器上的电压不能超过额定电压 上图这一项表示变压器的容量和频 ...