DNS服务器解析域名的过程

最近在读许令波老师的《深入分析Java Web技术内幕》,算是对DNS服务器域名解析有个大体的理解,以下的内容来自个人对书中内容的整理

1.什么是域名解析?

当我们在浏览器的地址栏输入一个地址时,如www.xxxx.com,之后就可以跳转到对应的页面,但是为什么呢?要知道机器是只认识IP地址的,

他并不理解我们输入的www这种格式是什么意思,这个时候时候就要用到域名解析了

2.域名解析的步骤

首先粗略的说,域名解析就是通过DNS把www.xxxx.com这种格式的域名解析成一个IP地址,之后通过IP地址找到对应的服务器,当然后面就是浏览器请求数据了,

这不是咱们的关注点.接下来详细的讲解具体的解析过程

①用户输入一个域名,浏览器去自己的缓存中寻找是否有对应的解析过的IP地址(这个缓存有大小和时间限制,),没有转入下一步

②浏览器检查操作系统的缓存(有大小和时间限制)中是否有这个域名解析过的结果,在我们常说的host文件(c:/windows/system32/etc)中可以看到

localhost被解析成127.0.0.1,这也是为什么你用tomcat部署web项目后,用浏览器访问总是要输入localhost,当然我更习惯直接输入

127.0.0.1:端口/项目名/xxx这种,因为你的host文件有时会被恶意更改(拓展点说叫做域名劫持),这样你输入localhost就无法被解析了

如果这一步还没有找到域名对应的IP,转入下一步

③浏览器向LDNS发送请求,L代表local,所以LDNS也就是本地的域名解析器,同样的在自己的缓存里找,没找到向根域名服务器(Root Server)发送请求

④根域名服务器返回给LDNS一个主域名服务器地址(gTLD Server),比如我们输入的含有.com的域名,那么返回的这个就是com的主域名服务器地址

⑤接下来LDNS向gTLD Server发送请求,后者返回给前者此域名对应的Name Server域名服务器的地址

⑥然后LDNS向Name Server发送请求,Name Server对此域名进行解析(查询域名与IP地址的映射表.一个IP地址可能对应多个域名)

⑦NameServer返回解析结果给LDNS,LDNS将结果反馈给浏览器

⑧浏览器通过此IP地址与默认的80端口与服务器建立连接,进行数据交互

总结:可以看到在域名解析的过程中,LDNS处于一个中心节点的位置,对根服务器发送请求后获得数据再向主域名服务器发送数据.......

贴下书中的图吧

原文地址:https://www.cnblogs.com/tele-share/p/8411041.html

时间: 2024-11-05 22:32:47

DNS服务器解析域名的过程的相关文章

DNS服务器解析域名

工作任务描述 公司名称是abc公司,搭建DNS服务器. 总公司在北京,总公司的注册的域名为HT.com.你公司下属两个分支,第一个为亚洲公司(Asia),公司总部在北京,第二个为欧洲公司(Europe),请你在总公司上建立一台DNS服务器,设计你总司和分支机构的DNS名称解析工作. 总公司:一台WEB服务器,在Internet上发布公司站点 IP地址为21.21.21.21 一台FTP服务器,负责对内网的FTP服务 IP地址为192.168.1.2/24 亚洲分公司:独立的WEB服务器,IP地址

DNS解析域名的过程

一.DNS解析域名的过程 1.大的过程可分为三步: (1).在缓存中查找是否之前解析过 (2).在windows系统的host文件中查找 (3).请求DNS服务器 2.小的过程可分为十步: (1).浏览器先检查自己自身有没有解析过该域名,若是解析过直接拿到之前缓存的ip,解析结束.域名被缓存的时间也可通过TTL属性来设置. (2).如果浏览器中没有,会再去找操作系统中的hosts文件,里面有配置好的域名地址及ip,查看该域名是否有对应的ip,若是有,那浏览器会首先使用这个ip地址. 如图: 像这

VPN国内与国外网站转发至不同的DNS服务器解析,国内IP不经VPN

.title { text-align: center; margin-bottom: .2em } .subtitle { text-align: center; font-size: medium; font-weight: bold; margin-top: 0 } .todo { font-family: monospace; color: red } .done { font-family: monospace; color: green } .priority { font-fami

关于在阿里云ESC服务器解析域名并绑定服务器IP后上传文件通过域名访问步骤教程

第一步:登录阿里云官网,获取服务器ECS的指定公网IP地址. 1.输入阿里云官网账号进入首页,如下图: 2.点击进入"管理控制台",如下图: 3.点击"云服务器ECS",进入你购买的服务器概览界面,如下图: 4.点击左侧"实例"选项,进入你名下服务器信息界面,如下图:注意你购买服务器所在地. 获取服务器公网地址. 第二步:登录你所购买域名的供应商进行解析域名绑定服务器IP地址:如(万网)(现万网与阿里云整合在一起,所以你再阿里云也可以解析域名到你

dns服务器的配置

DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器.其中域名必须对应一个IP地址,而IP地址不一定有域名.域名系统采用类似目录树的等级结构.域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器.将域名映射为IP地址的过程就称为"域名解析".在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然

搭建主从DNS服务器

在DNS域名解析服务中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录与负载均衡的作用,所以通过搭建从服务器可以减轻主服务器的负载压力,还可以提升用户的查询的效率. 实验环境: 系统:Redhat6.5 IP: 主DNS 192.168.10.50 从DNS 192.168.10.10 以正向解析实验为案例 第1步:主从DNS服务器都安装bind软件,提供named服务 yum install bind -y #yum安装bind 第2步:配置主DNS服务器 编辑主DNS服

dig理解DNS的解析过程 - 阿权的书房

关于DNS的常识,可以阅读附录的一些参考资料.本文旨在尝试举例用dig命令理解这个过程,并非权威知识,仅供参考.测试域名为阿权的书房的域名 www.aslibra.com 和 www.163.com. [[email protected] ~]# dig www.aslibra.com ; < >< DiG 9.2.4 < >< www.aslibra.com;; global options:??printcmd;; Got answer:;; -<<HE

SpringBoot之解决云服务器VPS在所处云端集群的内网不能解析域名的问题:java.net.UnknownHostException:abc.cn: Temporary failure in name resolution

一.起因与原因分析过程 前端同学告诉我,说服务器崩了. 请求数据接口,接口有响应,但报的json提示指向:数据库异常错误. 遂登陆云主机查看日志,核心记录显示如下: 2018-11-09 22:15:53.824 ERROR 26088 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. com.mysql.jdbc.exceptions.jdbc

linux dns子域授权 split分离解析 缓存dns服务器

DNS子域授权作用:适用于同一个DNS组织父/子域名的解析工作由不同的dns服务器负责父dns服务器应该有为子域名迭代的能力 上下级区域属于不同的机构管理:.cn与.Anonymous.cn.cn需要知道子域名信息.cn没有义务为客户机去查询子域站点属于同一个机构管理:.Anonymous.cn与bj.Anonymous.cn.Anonymous.cn需要知道子域信息.Anonymous.cn有义务为客户机去查询子域站点 -------------------------------- 案列:子