DNS简介
DNS( Domain Name System)指的是“域名系统”,使用的是UDP协议的53号端口,提供域名与IP地址的解析服务。就是把域名转换为ip
DNS又是一个分布式数据库,命名系统采用层次的逻辑结构,如同- -棵倒置的树,这个逻辑的树形结构称为域名空间,如下图。
DNS的分类—分为三种 :根DNS服务器,顶级域名服务器,权威域名服务器。
DNS流程
其实说白了就是我给你域名,你给我ip;主要中间经过可能比较多比较复杂。
- 输入域名,点击确定
- 在浏览器本地的DNS缓存中找,有就返回;没有,继续找
以下是本地360浏览器的DNS缓存地址
- 其次是在本地缓存hosts里找,里面有域名和IP的对应关系(windows是在是:C:\Windows\System32\drivers\etc;linux是在/etc/hosts)
- 本地域名服务器(以下简称阿本)
阿本会先在本地的DNS缓存里找,没有再去根域名服务器找。阿本的IP在客户端可能是自身设置,也可能是自动分配的。
如果是自动分配的,在连运营商(ISP)网络情况下,一般默认设置情况下DNS为ISP的服务器地址。比如我连接的中国电信:
- 根域名服务器(以下简称阿根)
如果阿本没有,就会从配置文件中读取13个阿根的地址,然后向其中一台发起请求。阿根收到请求后,会告诉阿本,我不知道这个域名对应的ip,但是我知道谁(顶级域名服务器)知道这个IP,我把他的地址告诉你。 - 顶级域名服务器(以下简称阿顶)
阿本收到阿根的ip回应后,就去找这个ip,也就是阿顶;
阿顶收到就回应,我也不知道,但是我知道谁(也就是权威域名服务器)知道,我把他ip给你,你去访问。 - 权威域名服务器(以下简称阿权)
阿本收到阿顶的ip回应后,就去找这个ip,也就是阿权;
阿权收到就回应,我知道(终于有人知道了555),我告诉你(阿本)这个域名对应的IP
最后阿本终于收到了这个地址的IP,为了防止再去找,被阿根和阿顶他们踢皮球,就记录到本地DNS缓存里。之后给到浏览器,就形成了整次DNS请求和回应。