DNS查找域名的过程
当我们在浏览器输入一个url地址时,需要获取到这个url的域名,本篇文章主要介绍了关于DNS查找解析域名的过程的一些东西。
关于DNS
不清楚DNS的小伙伴可以点这里:关于域名系统DNS解析IP地址的一些总结
查找域名 && 域名解析
DNS查找:
浏览器查找域名的IP地址。
浏览器DNS查找顺序一般是这样的:浏览器缓存→系统缓存→路由器缓存→ISP DNS 缓存→递归搜索。
详细过程如下:
a. 浏览器缓存,浏览器会缓存DNS记录一段时间。
操作系统没有设定浏览器存储DNS记录的时间长短,不同的浏览器会存储各自的一个固定时间,时长为2~30分钟不等。
b. 系统缓存
如果浏览器缓存里没有找到需要的记录,浏览器会做一个操作系统调用(windows里是gethostname),这样子,就可以获得系统缓存里的记录啦。
c. 路由器缓存
接下来,如果还是没有找到需要的缓存,将前面的查询请求发给路由器,它一般会有自己的DNS缓存。
d. 如果还是没有,那么就去检查ISP有没有吧~
每一个ISP(网络服务提供商),或一个大学,甚至是一个大学里的系都会有一个自己的本地域名服务器,他会在url第一次访问时缓存该域名的指向。下次再访问时,他会从缓存里把这个url曾经指向的IP调出来。
e. 递归搜索
还是没有需要的缓存~ 就只能放大招啦~
你的ISP的DNS服务器会从根域名开始进行递归查询。
递归查询:
主机向本地域名服务器的查询一般都是采用递归查询。
如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是返回一个失败的响应,表示无法查询到所需的IP地址。
迭代查询:
本地域名服务器向根域名服务器的查询通常是采用迭代查询。
当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么返回给本地域名服务器所要查询的IP地址,要么返回给本地域名服务器下一步应当查询的域名服务器的IP地址。
举个栗子:假设的主机想知道另一个主机(域名为 my.xxsilence.net)的IP地址。具体步骤如下:
① 主机先向其本地域名服务器进行递归查询,如果缓存中没有,继续下一步。
② 本地域名服务器采用迭代查询,先向一个根域名服务器查询。
③ 根域名服务器告诉本地域名服务器,下一次查询的顶级域名服务器 dns.net。
④ 本地域名服务器向顶级域名服务器 dns.net。
⑤ 顶级域名服务器 dns.net,下一次应查询的权限域名服务器dns.xxsilence.net的IP地址。
⑥ 本地域名服务器向权限域名服务器dns.xxsilence.net进行查询。
⑦ 权限域名服务器dns.xxsilence.net告诉本地域名服务器,所查询的主机的IP地址。
⑧ 本地域名服务器最后把查询结果告诉主机。
本文链接:http://www.cnblogs.com/xsilence/p/6035559.html
DNS查找域名的过程的更多相关文章
- DNS解析域名的过程
一.DNS解析域名的过程 1.大的过程可分为三步: (1).在缓存中查找是否之前解析过 (2).在windows系统的host文件中查找 (3).请求DNS服务器 2.小的过程可分为十步: (1).浏 ...
- DNS解析域名过程
DNS解析域名过程 使用域名转换成IP地址,先读取本地HOST文件,本地文件没有从当前电信网管获取对应IP. 本地host文件 C:\Windows\System32\drivers\etc 画图演示 ...
- DNS原理及其解析过程 精彩剖析
本文章转自下面:http://369369.blog.51cto.com/319630/812889 DNS原理及其解析过程 精彩剖析 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址 ...
- DNS原理及其解析过程【精彩剖析】(转)
2012-03-21 17:23:10 标签:dig wireshark bind nslookup dns 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否 ...
- DNS原理及其解析过程(转)
转自(http://369369.blog.51cto.com/319630/812889) 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如 ...
- DNS原理及其解析过程
网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133” 之类的IP地址,而不能认识域名.我们无法记住10个以上IP地 ...
- DNS原理及解析过程
本文主要参考自:http://369369.blog.51cto.com/319630/812889 并做了小幅修改 什么是DNS? 因特网上的主机和人类一样,也可以使用多种方式进行识别.主机的一种识 ...
- DNS 解析域名以便通过服务器来访问的
域名解析系统 就是把你要访问的网址转换成ip,然后你才能访问的东西 解析www.xxxx.com这类网址为IP来访问服务器 举例: 打个比方 ===>>> 你想去海底捞,但是只知道“ ...
- (转)DNS原理及其解析过程
DNS原理及其解析过程原文:http://blog.51cto.com/369369/812889 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能 ...
随机推荐
- spi 10方式编写
//第一个CS变低的时候要sclk为高电平,第一个跳变沿进行赋值 module spi(input clk,input rst_n,output reg sclk,output reg cs,outp ...
- Idea创建Maven项目
- 从零开始学 Java - Spring 一主多从、多主多从 数据库配置
待会苹果要开发布会 我写完这篇文章就准备去看发布会了,因为我买了好几包瓜子和啤酒.由于苹果的保密做的越来越差劲,该曝光的信息差不多全部曝光了,我们这种熬夜看发布会的只不过是让这些信息更加真实,或者说是 ...
- MongoDB基础入门002--基本操作,增删改查
一.这里只是演示最基本的操作,更多的信息可以去官网.https://docs.mongodb.com/manual 打开一个cmd,输入mongo命令打开shell,其实这个shell就是mongod ...
- CSS3关于background-size属性
bachground-size属性就是定义背景图片的大小,其值有:auto , 像素值 , 百分比 , cover , contain . background-size: auto,默认值,以图 ...
- PresentViewController切换界面
视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画, 其中切换方法如下: – presentViewCon ...
- 移动端web开发总结
前一个星期实战完一个PC端的基于HTML+CSS的项目,这几天则接触了移动端的开发,同样也是在HTML+CSS的基础上完成.虽然第一次接触移动端的开发,但在开发过程中,我也是按照PC端的开发步骤来进行 ...
- iOS之2016面试题二
前言 招聘高峰期来了,大家都非常积极地准备着跳槽,那么去一家公司面试就会有一堆新鲜的问题,可能不会,也可能会,但是了解不够深.本篇文章为群里的小伙伴们去要出发公司的笔试题,由笔者整理并提供笔者个人参考 ...
- iOS多线程之5.GCD的基本使用
上一篇文章我对GCD的几个基本概念做了介绍,但是大家看完了可能觉得对理解GCD并没有什么卵用.其实会用GCD其实很简单,只要记住两条就可以了. 1. 主队列里的任务必须在异步函数中执行. 主队 ...
- Linux0.11内核--加载可执行二进制文件之3.exec
最后剩下最核心的函数do_execve了,由于这里为了简单起见我不分析shell命令的情况, /* * 'do_execve()'函数执行一个新程序. */ //// execve()系统中断调用函数 ...