Wireshark实战分析之DNS协议分析(一)

2022-05-08 16:28:09 浏览数 (1)

(1)什么是DNS服务器?

    DNS(Domain Name System, 域名系统)是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便地访问互联网,而不是用去记住能够被机器直接读取的IP数串。在互联网上域名与IP地址之间是一对一或者多对一的,如果要记住所以的IP地址,显然是不太容易的。虽然域名便于人们记住,但是主机之间只能互相认识IP地址,所以它们之间的转化就需要DNS来完成。

     上图表示DNS将www.baidu.com解析后的IP地址为: 119.75.217.109

(2)DNS的系统结构

    在整个互联网中,如果将数亿的主机的域名和IP地址的对应关系交给一台DNS服务器管理,并处理整个互联网中客户机的域名解析请求,恐怕很难找到能承受如此巨大负载的计算机。因此,整个域名系统采用了分布式数据库的方式,讲不同范围内的域名IP地址对应的关系交给不同的DNS服务器管理,这个分布式数据库采用树形结构。如下图

(3)DNS系统解析过程

    接下来以www.abc.com.cn域名为例子讲解DNS系统解析的过程

    a:DNS客户端向本地域名服务器发送一个查询递归查询,请求查找www.abc.com.cn的IP地址。

    b: 本地域名服务器采用迭代的方式查询。它先向一个根域名服务器查询。

    c:根域名服务器告诉本地域名服务器,下一次查询的顶级域名服务器cn的IP地址

    d:本地域名服务向顶级域名服务器cn查询,顶级域名服务器告诉本地域名服务器,下一次应查询com.cn二级域名服务器

    e:本地域名服务器再向com.cn二级域名服务器发出查询请求,二级域名服务器告诉本地域名服务器,下一次查询三级域名服务器abc.com.cn

    f:本地域名服务器再向abc.com.cn发送查询请求, 三级域名服务器abc.com.cn找到了www.abc.com.cn,就将这个地址发给本地域名服务器‘

    g:本地域名服务器会将这个地址发给DNS客户机,客户机发起与www.abc.com.cn的连接

     以上就是DNS的域名解析过程,在该解析过程中通常会用到两种查询方式,分别是递归查询和迭代查询。

    所谓递归查询: 主机向本地域名服务器的查询一般都是采用递归查询。 如果主机所询问的本地域名服务器不知道被查寻的域名的IP地址时,那么本地服务器就以DNS客户机的身份,向其他根域名服务器继续发送查询请求

   所谓迭代查询: 本地域名服务器向根域名服务器的查询通常采用迭代查询方式。当根域名服务器收到本地域名服务器的迭代请求时,要么给出所要查询的IP地址,要么告诉下一个应该去那个域名服务器查询。

       上图是本地域名服务器采用的迭代的方式查询。

  上图是本地域名服务器采用的递归查询

0 人点赞