1 背景
本文记录笔者关于DNS的学习笔记。
1.1 DNS简介
DNS 全称 Domain Name System 域名解析服务,用于解析域名与 IP 地址对应关系。
DNS 基于 UDP,UDP 端口号 53,也会使用 TCP 的 53 端口,先会用 UDP 查找,若 UDP 查不到或请求大于 512 字节时才用 TCP 查找。同时,UDP 进行名称解析,TCP 进行区域解析。
1.2 DNS组成
- 域名服务器:域名解析服务的提供者。
- 解析器:访问域名服务器的客户端,负责解析从域名服务器获取的响应。如:nslookup。
1.3 DNS的功能
1.4 DNS的性质
- 从协议的层面看,它是一种应用层协议
- 从实体的层面看,它是一个由分层的DNS服务器实现的分布式数据库
1.5 DNS服务器的类别
所有 DNS 服务器都属于以下四个类别之一:递归解析器、根域名服务器、TLD 域名服务器和权威性域名服务器。在典型 DNS 查找中(当没有正在进行的高速缓存时),这四个 DNS 服务器协同工作来完成将指定域的 IP 地址提供给客户端的任务(客户端通常是一个存根解析器 - 内置于操作系统的简单解析器)。
1.6 域名的结构
DNS 是一个分层级的分散式名称对应系统,有点像电脑的目录树结构:在最顶端的是一个”root”,然后其下分为好几个基本类别名称,如com、org、edu 等;再下面是组织名称,如ibm﹑microsoft﹑intel 等;继而是主机名称,如www﹑mail﹑ftp 等。
2 域名解析的过程
2.1 解析过程
当我们在浏览器输入http://www.test.com/ 敲回车时,电脑会进行以下动作:
- 首先根据网址提取出域名,即 www.test.com
- 如果在系统中配置了Host文件,那么电脑会先查询hosts文件,看”www.test.com “ 是否在Hosts文件中已经有了对应的记录,如果有就直接去该记录中的ip地址,域名解析的过程就结束了。如果Hosts文件中没有这个域名的记录,此时电脑会根据你设置的域名服务器去解析域名。
- 如果你的电脑没有配置域名服务器,那么这时就会出现网站的域名无法解析错误。过程也结束了。如果你设置了域名服务器,那么电脑会向这个域名服务器发送一个域名查询的请求,如果这台域名服务器始终没有回应,则也会出现浏览器报错。
- 如果域名服务器回应了,那么电脑可以根据域名服务器返回的应答信息得到域名的ip地址。然后,浏览器就会想这个ip地址对应的web服务器发送http请求。
2.2 解析方式
|