【计算机网络】应用层 : DNS 域名解析系统 ( 域名 | 域名服务器 | 域名解析过程 | 递归查询 | 迭代查询 | 高速缓存 )





一、域名



域名 :

① 域名表示方法 : 字母 , 数字 , “-” 符号 , “.” 符号 组成 ;

② 标号 : 使用 “.” 分割开的字符串 称为 标号 , 每个标号不能超过 63 个字符 ;

③ 标号级别 : 域名中的标号级别 , 自左向右 , 优先级别由低到高 ;

④ 域名示例 : www.baidu.com , 其中 com 是顶级域名 , baidu 是二级域名 , www 是三级域名 ;



域名 各部分详细解析 :

在这里插入图片描述

① 根 : “www.baidu.com.” 是 域名的完全形式 , 根就是最后一个点 “.” , 该点可以省略 ;

② 顶级域名 :

  • 国家顶级域名 : cn
  • 通用顶级域名 : com , org
  • 基础结构域名 : 反向域名 arpa

③ 二级域名 :

  • 类别域名 : com , org , gov
  • 行政区域域名 : 省 , 自治区 , 直辖市 , bj , js
  • 自己注册的域名

④ 三级域名 : 获取 二级域名 , 就可以解析 三级域名 ;

⑤ 四级域名 : www , mail





二、域名服务器



域名服务器 :

① 根域名服务器 : 根域名服务器 知道所有 顶级域名服务器 的地址 ;

② 顶级域名服务器 : 顶级域名服务器 管理 该顶级域名服务器注册的所有的 二级域名 ; 如 com 顶级域名服务器 , org 顶级域名服务器 ;

③ 权限域名服务器 : 负责一个区 的域名服务器 ; 如 a.org 域名服务器 , a.a.org 域名服务器 , 这是两台域名服务器是对等的 ;

④ 本地域名服务器 : 主机向 本地域名服务器 发出 DNS 查询请求 ;





三、域名解析过程



域名解析过程 :

  • 递归查询
  • 迭代查询




四、递归查询



递归查询 : 委托给别人查找 ;

在这里插入图片描述

  • 委托查找 : 先在 本地域名服务器 中查找 , 如果没有 , 委托 根域名服务器 查找 , 如果没有 , 根域名服务器 委托 顶级域名服务器 中查找 , 如果没有 , 顶级域名服务器 委托 权限域名服务器 查找 ;
  • 逆向回送结果 : 找到域名对应的 IP 地址后 , 按照委托顺序 , 权限域名服务器 -> 顶级域名服务器 -> 根域名服务器 -> 本地域名服务器 -> 主机 , 返回查找的域名对应的 IP 地址 ;




五、迭代查询



迭代查询 : 靠自己查找 ; 核心是 本地域名服务器 ;

在这里插入图片描述

  • 主机 向 本地域名服务器 查询 域名 ;
  • 本地域名服务器 没有查找到 , 向 根域名服务器 查找 , 跟域名服务器没有找到 , 将 顶级域名服务器 地址 传给 本地域名服务器 ;
  • 本地域名服务器 继续向 顶级域名服务器 查询域名 , 如果没有找到 , 会给 本地域名服务器 回送 权限域名服务器地址 ;
  • 本地域名服务器 继续向 权限域名服务器查找 , 如果找到域名对应地址 , 将结果传回 ;
  • 本地域名服务器 将最终查询结果 传给 主机 ;




六、高速缓存



高速缓存 : 在 主机 , 本地域名服务器 , 根域名服务器 , 顶级域名服务器 , 权限域名服务器 中 都设置高速缓存 , 缓存域名信息 ; 在 递归 或 迭代 查找域名时 , 优先从高速缓存中查找域名 , 如果没有 , 再执行相关操作 ;

如果 本地域名服务器的 高速缓存中 存储 着 顶级域名服务器 地址 , 就不用再访问根域名服务器了 , 直接访问顶级域名服务器 ;