【TCP/IP】详解DNS具体作用过程
本文参考 【图解TCP/IP】
在前文了解了IP是用于识别某个网络区域的主机,那么平时我们在访问网站的时候一般都不会输入IP进行访问。例如,你访问百度,一般都输入:
www.baidu.com,那么你总不会输入类似
124.23.1.12这样的IP进行访问吧
设身处地想一下,若你想让用户记住你的网站,你总不能让他记一大串数字吧,更何况,以后用到IPv6,需要记忆的数字更多,所以最好的做法就是给这些IP一个名称,我们称之为域名,而当我们访问这些域名的时候,具体访问哪个IP这件事就要交给DNS去做了,本文也将详细介绍一下DNS的具体作用过程
- 公众号:前端印象
- 不定时有送书活动,记得关注~
- 关注后回复对应文字领取:【面试题】、【前端必看电子书】、【数据结构与算法完整代码】、【前端技术交流群】
详解DNS具体作用过程
一、域名
文章开头简单介绍了什么是域名,那么我们来看看域名到底长什么样
例如我们常见的
www.baidu.com,
baidu.com就是百度官网的域名,其中
baidu是百度申请这个域名时自己起的名字,
.com表示的就是该域名所属的服务器,这里我们将这种域名称为顶级域名,也可以叫它一级域名
还有一些域名,例如
example.cn.com称之为二级域名 ,
example.mail.cn.com称之为三级域名 ……
总得来说可以理解为域名中有几个
.,就称之为几级域名
现在市面上所有的域名都会由某个服务器进行管理的,例如
.com由
com服务器管理 、
.cn由
cn服务器管理
那么这些管理域名的服务器又由一个根(root)服务器来进行管理,所以它们的层级关系就像一个树结构,如下图所示:
图中,
com服务器内有一个
cn服务器,而
cn服务器内又管理着一个
mail服务器,这样的层级关系就可以用于获取 三级域名
example.mail.cn.com对应的IP地址了
因此我们可以把该树结构层次为2的所有结点的域名称为第一层域名;将层次为3的所有结点的域名称为第二层域名;层次为4的所有结点的域名称为第三层域名,以此类推
二、DNS
DNS(Domain Name System)其实是一个管理着域名和IP地址之间的有效关系的系统,相当于一个大型的数据库
我们的主机通过域名请求某个网页时,会先向我们设置的DNS服务器发送请求,然后DNS服务器向最近的一个根服务器发送请求,根服务器会将第一层域名服务器的IP访问地址返回给DNS服务器,接着DNS服务器会根据这个IP地址去访问对应的域名服务器,若域名具有多个层级,则域名服务器会接着返回下一层次域名服务器的IP地址给DNS以便于其深度访问
我们来看一下访问
example.mail.cn.com的简化过程图
为了提高效率,DNS服务器还提供了一种技术叫做高速缓存,是用于短时存储已访问过的域名服务器IP的,因此DNS服务器真正的作用顺序不是先向根服务器发送请求,而是先查询缓存中是否有想要获得的IP地址,若有则直接返回给我们主机;若没有则按照上述流程进行请求
假设我们刚才已经请求访问过
example.mail.cn.com了,那么此时再次请求该域名对应的网址时,可以从缓存中直接读取真正的IP地址,过程如图所示:
其实DNS服务器的缓存时间不会特别长,因为如果你第一次访问完后缓存了IP,然后此时原IP地址改掉了,那么我们每次访问的都是旧的IP地址,就会一直报错,所以缓存时间较短就是为了避免这样的问题
三、结束语
欢迎关注公众号:前端印象 , 不定时更新前端面试题,与我一起学习前端,早日斩获大厂Offer
- ip 详解及子网掩码默认网关DNS的作用
- TCP/IP 详解 卷1 ch14 DNS: The Domain Name System
- TCP-IP详解卷1-14:DNS(Domain Name System):域名系统
- TCP/IP三次握手过程详解
- 【TCP/IP】TCP的三次握手,四次挥手过程详解
- 路由表和三层转发(ping过程)详解(TCP/IP)
- 电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP。
- 电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP。
- 电脑访问一个主页过程:DNS IP HTTP TCP OSPF ARP
- IP地址作用,以及MAC地址作用 OSI七层模型和TCP/IP四层模型,每层列举2个协议 TCP/IP数据链路层的交互过程
- TCP/IP(5.1)DNS查询过程
- TCP/IP链路层作用与实现过程
- TCP/IP详解--ICMP 控制报文和差错报文 && Tracerouter 命令的过程
- TCP/IP 协议之 DNS
- TCP/IP 详解 卷1 ch8 Traceroute
- TCP协议的3次握手与4次挥手过程详解
- 理论经典:TCP协议的3次握手与4次挥手过程详解
- 协议:DNS、TCP/IP、RPC、HTTP、HTTPS、FTP学习区分
- TCP/IP 详解 卷1 ch10 Dynamic Routing Protocols
- web服务器apache理论、实践详解 ,TCP/IP