DNS解析的流程

薄洪涛6年前Linux1196

最近在做DNS解析方面的事情,今天正好整理一下DNS解析的过程

先说下什么叫DNS解析;

简单来说,就是每台服务器都有自己的IP地址,比如我想上百度网,我会在浏览器中输入http://119.75.217.109/,这样就可以打开百度,但是对人来说,记住很多无意义的ip是非常困难的,所以就有了域名,我之后上百度就只要输入https://www.baidu.com/就可以了,当我输入https://www.baidu.com/后,DNS服务器或者本地把https://www.baidu.com/解析成http://119.75.217.109/的过程叫DNS解析;DNS服务器的作用就是记录域名和ip的对应关系,当你给DNS服务器域名的时候,他返回给你你要访问的网站的服务器的IP地址;


从网上找了一张图来说明下

20171211190812796.png



1. 以用户在浏览器中输入一个网址www.baidu.com时,浏览器自身先查看浏览器的缓存中是不是存在www.baidu.com所对应的ip地址,如果有就直接访问

2. 如果浏览器缓存中不存在,那我们就检查系统的hosts文件中是不是存在对应关系,如下图这是我电脑的hosts文件,可以看到里面是有域名和ip的对应关系的,你可以把www.baidu.com  127.0.0.1对应关系写入hosts文件,然后保存,你就会发现你上不去百度了,这是因为浏览器信任hosts文件中的对应关系,127.0.0.1表示本地;

图片1.png


3. 如果本地的hosts文件中找不到对应关系,那就需要去dns服务器中查找了,首先我们先去当地的域名服务器(LDNS)中查找,一般LDNS离你比较近,链接速度快;一般大部分的域名都会在这里解析出来;

4. 如果LDNS未命中,就需要继续请求上游服务器(Root Server)进行报告,上游服务器(Root Server)会向LDNS传递一个能解析这个域名的主域名服务器地址(主域名服务器:G-TLD,国际域名服务器);

5. LDNS请求G-TLD,G-TLD查找并返回该网站注册的域名服务器,LDNS请求这个域名服务器,一定会查找到对应的IP,然后缓存这个域名和ip的对应关系;

6. LDNS把这个对应关系返回给用户,用户缓存到本地系统中


标签: DNS解析

相关文章

haproxy如何开启日志

默认haproxy是不记录日志的,但是调试的时候需要我们去记录日志,所以说一下日志的记录方法1.编辑 /etc/rsyslog.conf,放开如下代码,记住是udp# Provides&nb...

服务器:swap告警,系统异常报错

服务器:swap告警,系统异常报错

登陆自己的小服务器,用composer下载个东西,一直报killed[root@host voyager]# composer require tcg/voya...

mac下安装homebrew及开发工具

安装homebrew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw...

前后端分离如何实现用户身份认证及鉴权?

前后端分离如何实现用户身份认证及鉴权?

假设我们不适用前后端分离,那么登录成功之后,我们会把用户的信息存储到session中,之后的每一次请求,都会带着cookies中的session_id,服务端会自行验证此用户是否登录及登录是否失效,那...

PHP调用不起来Python脚本

前几天做了个自动处理文件的python脚本,目前python脚本需要手动把文件放到特定文件夹下,自动去读取处理;但是老大觉得不方便,让我写了个文件上传页面,然后调用python的脚本,导出处理后的文件...

php脚本以守护进程的方式运行

写了一个聊天室,需要手动执行php start.php start命令去启动workerman的握手程序,但是退出xshell后,进程会被杀掉,因为之前用过node的forever,感觉php应该也有...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。