DNS原理

1、域名

域名是一种为了识别主机名称和机构名的具有分层的名称,比如在域名neu.edu.cn中,neu是主机名,edu和cn是不同层次下的域名。
域名和IP地址都可以唯一对应一台主机,DNS协议的作用就是将自身具有意义的域名转换成不容易记住的IP地址。

域名的层次
域名系统的最高层次是根域名,然后是顶级域名,二级域名依次类推。顶级域名一般不会变动,主要都是那么几个:表示国家的.cn,.us等,.edu,.com等等。顶级域名下就是二级域名,二级域名要去指定的机构完成注册。mail www等都是主机名不能再分。

域名只是一个抽象的概念,域名系统由域名服务器来维护。上一级域名服务器中都保存着下一级域名地址。比如:根域名服务器中都保存着所有顶级域名的服务器地址。而com域名服务器中又保存这下面所有二级域名的地址。

 2、DNS查询

DNS查询分为两种方式:递归查询和迭代查询。
递归查询就是下一个服务器作为DNS客户帮助查询。
迭代查询就是域名服务器返回下一级域名服务器的IP地址,由本地域名服务器自己去查询。

从主机到本地域名服务器往往采用递归查询,从本地域名服务器到其他域名服务器一般采用迭代查询。

本地域名服务器与域名服务器不是一类东西。本地域名服务器只是提供给一个或几个网络的主机来查询域名用的,它并没有维护域名与IP地址的对应关系。本地域名服务器分布在各个地方,离主机一般不超过几个路由。本地域名服务器中保存了根域名服务器的地址,如果需要查询的域名不在高速缓存中,就向根域名发送DNS查询数据报。

3、DNS解析全过程

(1)查询浏览器自身DNS缓存,若查询不到,则

(2)查询操作系统DNS缓存,若查询不到,则

(3)读取hosts文件,查询hosts文件中是否配置了本域名所对应的IP地址,若查询不到,则

(4)本地主机向本地域名服务器发起DNS递归查询请求,若本地域名服务器在其高速缓存仍查询不到,则

(5)本地域名服务器向根域名服务器发起DNS迭代查询请求,根域名服务器告知该域名的顶级域名服务器的IP地址,

(6)然后本地域名服务器向该顶级域名服务器发送查询请求,依次类推直到查询到该域名的IP地址。

DNS服务器是基于UDP的,因此会用到UDP协议。

posted on 2018-03-05 17:17  lina2014  阅读(234)  评论(0编辑  收藏  举报

导航