跳转至

DNS协议简介

DNS 协议概述

在网络上看到的 url 格式可能是这样的:

www.google.com

google 十分适合我们人类记忆,因为其是一个简单易记的单词形式

因特网上的主机可以用多种方式进行标识,常见的有两种:

  • 利用主机名进行标识,例如
  • 利用 IP 地址进行标识,例如 36.158.123.192

可以很自然的发现,人类相较于用 IP 地址进行标识,更喜欢用便于记忆的主机名进行标识;但是路由器喜欢定长的、有层次结构的 IP 地址;为了折中这两种方式,就需要一种协议完成这两种不同的标识之间的转换,即主机名到 IP 地址转换的目录系统,这就是域名系统(DNS)的主要功能

DNS:

  • 一个由分层的 DNS 服务器实现的分布式数据库
  • 一个使得主机能够查询分布式数据库的应用层协议

DNS 的域名解析过程

以 www.google.com 示例:

  • 同一台用户主机上运行着 DNS 应用的客户端
  • 从 URL 中抽出主机名 www.google.com,并传给 DNS 应用的客户端
  • DNS 客户向 DNS 服务器发送一个包含主机名的请求
  • DNS 客户端收到 DNS 服务器解析的 IP 地址
  • 向该 IP 地址的 80 端口的 HTTP 服务器发起一个 TCP 进程

DNS 工作原理

DNS 是一个分布式、层次数据库,DNS 使用了大量的 DNS 服务器,以层次方式组织。没有一台 DNS 服务器拥有因特网上所有主机的映射

DNS 服务器大致可以分为以下三种:

  • 根(Root Server) DNS 服务器(全世界只有 13 个)
  • 顶级域(TLD)DNS 服务器(com,cn 等)
  • 权威(SLD) DNS 服务器

例如解析一个为 www.google.com 的 url 的域名,遵循以下步骤:

  • 客户与根服务器联系,解析,返回顶级域名 com 的 TLD 服务器的 IP 地址
  • 客户与该 TLD 服务器联系,其返回 google.com 权威服务器的 IP 地址
  • 客户与该权威服务器联系,返回 www.google.com 主机名的 IP 地址

其中还有一种重要的 DNS 服务器,称为本地 DNS 服务器,起着代理的作用,相当于管理一篇区域内的主机