DNS解析过程详解

DNS解析过程详解

 

前言

 

最近这几天学习一下DNS相关的知识,为啥要学习DNS的知识呢?这个问题问得好,在回答这个问题之前,你得先明白1+1为啥2,如果你明白了,就不需要学DNS,因为你可以去学数学了,不用走程序员这条路了,如果你不知道1+1为啥等于2,那就来吧,一起学.

 

 

 

根域

 

就是所谓的’.’(点号),其实我们的网址www.baidu.com在配置当中总应该是www.baidu.com.(还有最后一个点),一般我们在浏览器里输入时会省略后面的点,而这也已经成为了习惯.

 

根据服务器我们知道由13,但是这是错误的观念.

 

根据服务器只是具有13IP地址,但机器数量去不是13,因为这些IP地址解除了任播的技术,所以我们可以在全球设立这些IP的镜像站点,你访问的这个IP并不是唯一的那台主机.

 

具体的镜像分布可以参考基维百科.这些主机的内容都是一样的.

 

 

 

域的划分

 

根域下来就是顶级域或者叫做一级域.

 

有两种划分方式,一种互联网刚兴起时的按照行业性质划分的com,net,一种是按国家划分的如cn,jp,具体是多少你可以自己去查.

 

每个域都会有域名服务器,也叫全为权威域名服务器.

 

baidu.com就是一个顶级域名,www.baidu.com却不是一个顶级域名,它是在baidu.com这个域里的一个叫做www的主机.

 

一级域之后还有二级域,三级域,只要是我买了一个顶级域,并且我搭建了自己的BIND服务器(或者其他软件搭建的)注册到互联网中,那么我就可以随意在前面多加几个域了(当然长度是有限制的).

 

例如,a.www.baidu.com,在这个网址中,www.baidu.com变成了一个二级域而不是一台主机,主机名是a

 

 

 

域名服务器

 

能提供域名解析的服务器,上面的记录类型可以是A记录,NS记录,MX记录,CNAME记录等.

 

A记录是什么意思呢?就是记录一个IP地址和一个主机名字,比如我这个域名服务器所在的域test.baidu.com,我们知道这是个二级的域名,然后我在这里面有一条A记录,记录了主机为aIP,查到了就返回给你了.

 

如果我现在要想baidu.com这个域名服务器查询a.test.baidu.com,那么这个顶级域名服务器就会发现你请求的这个网址在test.baidu.com这个域中,我这里记录了这个二级域的域名服务器test.baidu.comNSIP.我返回给你这个地址你再去查主机为a的主机.

 

这些域内的域名服务器都成为权威服务器,直接提供DNS查询服务.(这些服务器可不会做递归).

 

 

 

解析过程

 

那么我们的DNS是怎么解析一个域名的呢?

 

1.现在我有一台计算机,通过ISP接入了互联网,那么ISP就会给我分配一个DNS服务器,这个DNS服务器不是权威服务器,而是相当于一个代理的DNS解析服务器,他会帮你迭代权威服务器返回的应答,然后把最终查到的IP返回给你.

2.现在我的计算机要想这台ISPDNS发起请求查询www.baidu.com这个域名了(这里其实准确来说不是ISPDNS,而应该是用户自己电脑网络设置里的DNS,不一定是ISPDNS.比如也有可能你手工设置了8.8.8.8).

3.ISPDNS拿到请求后,先检查一下自己的缓存中有没有这个地址,有的话就直接返回.这个时候拿到的IP地址,会被标记为非权威服务器的应答.

4.如果缓存中没有的话,ISPDNS会从配置文件里面读取13个根域名服务器的地址(这些地址是不变的,直接在BIND的配置文件中)

5.然后像其中一台发起请求

6.根据服务器拿到这个请求后,知道它是com.这个顶级域名下的,所以就会返回com域中的NS记录,一般来说是13台主机名和IP

7.然后ISPDNS向其中一台再次发起请求,com域的服务器发现你这请求是baidu.com这个域的,我一查发现了这个域的NS,那我就返回给你,你再去查.(目前百度由4baidu.com的顶级域名服务器)

8.ISPDNS不厌其烦的再次向baidu.com这个域的权威服务器发起请求,baidu.com收到之后,查了下由www这台主机,就把这个IP返回给你了.

9.然后ISPDNS拿到了之后,将其返回给了客户端,并且把这个保存在高速缓存中.

 

 

 

小小的结一下

 

其中文章中涉及到了A记录,NS记录等一些记录的名字,这些没啥,百度上都有啊,就是一些名称的缩写.

 

 

 

 

 

 

 

 


 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值