DNS介绍及工作原理
一、简介

它作为将域名IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网
DNS使用TCPUDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
DNS协议是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。

作用:

DNS是一种可以将域名和IP地址相互映射的以层次结构分布的数据库系统。

二、体系

2.1 报文:

DNS 定义了两种报文 ,一种为查询报文;另一种是对查询报文的响应,称为响应报文。无论是查询报文还是响应报文,都有12个字节的头和查询问题。

2.2 服务器体系

1.根域名服务器:

  • 最高层次的域名服务器,也是最重要的域名服务器,本地域名服务器如果解析不了域名就会向根域名服务器求助。
  • 全球共有13个不同IP地址的根域名服务器,它们的名称用一个英文字母命名,从a一直到m。
  • 每个根服务器都有镜像服务器,每个根服务器与它的镜像服务器共享同一个 IP 地址
  • 所有的根域名服务器都知道所有的顶级域名服务器的域名和地址

2.顶级域名服务器

  • 负责管理在该顶级域名服务器下注册的二级域名。

3.权限域名服务器

  • 负责一个区的域名解析工作

4.本地域名服务器

  • 当一个主机发出DNS查询请求的时候,这个查询请求首先就是发给本地域名服务器的。
三、工作原理

3.1解析步骤

DNS工作原理_ip地址

有一台计算机:通过ISP(互联网服务提供商)接入了互联网,那么ISP就会给我分配一个DNS服务器,后续使用此DNS作为作为迭代查询的首选域名服务器(也可以手动配置首选域名服务器

在浏览器输入url后(www.baidu.com):

  1. 先在检查本地的Hosts表文件,看其中是否已经有相应的域名与IP地址的对应关系,如果有就会直接采用会被标记为非权威服务器的应答
  2. 然后向首选域名服务器的缓存中查找,如果有对应关系则返回
  3. 如果没有会从配置文件里面读取13个根域名服务器的地址
  4. 然后首选服务器向其中一台根域名服务器发起请求
  5. 根服务器拿到这个请求后,知道他是com这个顶级域名下的,所以就会返回com域中的域名服务器记录给首选服务器
  6. 然后首选服务器再次向该域名服务器(com)发起请求, 然后发现是baidu.com这个域(权威域名服务器),于是返回该域的服务器记录给首选服务器
  7. 首选服务器又向baidu.com这个权威域名服务器发起请求,然后该域查到有www的这台主机,就把这个IP返回给首选服务器了。
  8. 然后首选服务器拿到IP之后,就返回给客户端浏览器,并且把这映射关系保存在告诉缓存中

3.2注意:

  1. 域名对大小写不敏感

  2. 域名解析总体可分为两大步骤
    第一个步骤是本机向本地域名服务器发出一个DNS请求报文,报文里携带需要查询的域名;
    第二个步骤是本地域名服务器向本机回应一个DNS响应报文,里面包含域名对应的IP地址。

  3. DNS的查询顺序

    1、本地hosts文件
       2、本地DNS缓存
       3、本地DNS服务器
       4、发起迭代查询

  4. 使用递归查询+迭代查询(从主机视角看是递归,从首选服务器来看是递归)