DNS的解析流程
一、简单理解
DNS服务器里存着一张表,表中放着域名和IP地址,域名和IP地址以映射关系保存,即一对一
浏览器访问某个域名,实际上是访问它的ip地址
所以浏览器需要知道域名对应的ip地址,由此产生dns解析查询流程。
二、以实例来理解
1、以客户端浏览器访问 www.rootkit.org 域名为例,
首先,它会去检查当前浏览器缓存是否有对应IP,如果有,就直接响应,如果没有,就继续往下找。
2、接着,操作系统会去检查自己的hosts文件,如果从中没找到对应关系,会再到系统dns缓存中查,如果缓存中有,就直接返回该域名所对应的ip。
3、如果缓存中没有,则会向我们事先设置好的dns服务器 [ 一般有两个, DNS1 & DNS2 ] 去请求,即所谓的`递归查询`,dns服务器首先会到自身解析数据库中去查。
4、如果dns1(dns2)服务器在自己的解析库中也没找到,它就会自动帮我们向根服务器发送询问请求。
5、此时,根看到要请求的是org的后缀(.org),就会把org所在的dns服务器告诉我们的dns。
6、然后,我们的dns服务器就会去请求org所在的dns服务器
7、当请求到达org dns服务器时,org一看域名是在rootkit这个域下的,就会把rootkit所在的dns服务器告诉我们的dns服务器
8、再然后,我们的dns服务器就会去请求rootkit这个域名的dns服务器
9、rootkit这个域的dns服务器一看是要访问www就直接找到了www对应的A记录的ip,并把它丢给我们的dns,上面逐个询问的过程,即 `迭代查询`
10、最后,我们的dns再把最终解析到的这个ip丢给我们的客户端,然后客户端就直接拿着去访问了
11、返回来的权威结果本地就会就会进行缓存,以便下次查询
三、简洁版
1.先向本地dns缓存查看有没有该域名对应的ip地址,有直接跳出,没有接着往下
2.向根dns服务器询问域名对应的ip地址(根dns服务器会让他去查询顶级dns服务器)
3.向顶级dns服务器询问域名对应的ip地址(顶级dns服务器会让他去查询权威dns服务器)
4.向权威dns服务器询问域名对应的ip地址(权威dns服务器会让他去查询二级dns服务器)
5.向二级dns服务器询问域名对应的ip地址(二级dns服务器会返回对应的ip地址)
6.接收到ip地址后,会先把ip和域名对应关系保存到本地dns缓存,以便下次方便访问
参考:https://www.cnblogs.com/Rain99-/p/10658079.html
DNS的解析流程的更多相关文章
- 用户访问网页流程、DNS 解析流程
一.用户访问流程 二.DNS解析流程 DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于 TCP/IP 网络,它所提供的 ...
- 简单理解DNS解析流程(一)
0x0 简单理解dns DNS服务器里存着一张表 表中放着域名和IP地址,域名和IP地址以映射关系保存,即一对一 浏览器访问某个域名,实际上是访问它的ip地址 所以浏览器需要知道域名对应的ip地址 如 ...
- 前端优化:DNS预解析提升页面速度
在网页体验中我们常会遇到这种情况,即在调用百度联盟.谷歌联盟以及当前网页所在域名外的域名文件时会遇到请求延时非常严重的情况.那么有没有方法去解决这种请求严重延时的现象呢? 一般来说这种延时的原因不会是 ...
- HTML页面加载和解析流程详细介绍
浏览器加载和渲染html的顺序 1. IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的. 2. 在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元 ...
- html页面加载和解析流程
HTML页面加载和解析流程 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件: 浏览器开始载入html代码,发现<head>标签内有一 ...
- DNS预解析dns-prefetch提升页面载入速度优化前端性能
当浏览器请求一个URL的时候,通过firebug我们可以发现大概有以下几个过程:阻挡.域名解析.建立连接.发送请求.等待响应.接收数据.后面四个跟用户的网络情况和你的服务器处理速度有关,本文重点说说前 ...
- 前端优化DNS预解析
写在前面 今天再看一同事写的代码,发现了这样<link rel="dns-prefetch" href="//hm.baidu.com">这个代码, ...
- centos的DNS服务工作流程及搭建
1 什么是DNS? DNS(Domain Name Server,域名服务器)即域名解析服务,是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器.DNS ...
- DNS递归解析和迭代解析
DNS解析流程分为递归查询和迭代查询,递归查询是以本地名称服务器为中心查询, 递归查询是默认方式,迭代查询是以DNS客户端,也就是客户机器为中心查询.其实DNS客户端和本地名称服务器是递归,而本地名称 ...
随机推荐
- tomcat9.0 问题汇总
安装时提示 Failed installing tomcat9 service 是因为之前安装tomcat,然后直接删除文件夹,虽然把文件夹删除了,但是重新安装时,服务存在相同的服务名,解决办法:使用 ...
- sed基础语法
sed 太强大了 参考博客如下:https://www.cnblogs.com/ctaixw/p/5860221.html sed: Stream Editor文本流编辑,sed是一个“非交互式的”面 ...
- spring容器BeanFactory简单例子
在Spring中,那些组成你应用程序的主体及由Spring Ioc容器所管理的对象,都被称之为bean.简单来讲,bean就是Spring容器的初始化.配置及管理的对象.除此之外,bean就与应用程序 ...
- Python基础-day05
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- redis过期策略、内存淘汰策略、持久化方式、主从复制
原文链接:https://blog.csdn.net/a745233700/article/details/85413179 一.Redis的过期策略以及内存淘汰策略:1.过期策略:定期删除+惰性删除 ...
- Word:表格前添加新行 + 删除表格后的空行
本文适用于Word 2007 + Windows 7,造冰箱的大熊猫@cnblogs 2018/8/3 近日新学(百度到)两条新Word操作,记录下来以备查询 1.在表格前添加新行 场景:有没有遇到过 ...
- NS3安装
1.添加源sudo vim /etc/apt/sources.list deb http://archive.ubuntu.com/ubuntu/ trusty main universe restr ...
- Apicloud_(项目)网上书城02_后端数据获取
Apicloud_(项目)网上书城01_前端页面开发 传送门 Apicloud_(项目)网上书城02_后端数据获取 传送门 Apicloud_(项目)网上书城03_拓展模块实现 传送门 ApiClou ...
- 深入理解Vuex 模块化(module)
todo https://www.jb51.net/article/124618.htm
- C++入门经典-例6.5-连接字符串
1:运行代码如下: // 6.5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> usin ...