一、分层次的域名结构
- 顶级域名、 二级域名、 三级域名、 四级域名
  
二、因特网的域名结构
- 因特网采用了层次树状结构的命名方法,称为域名,如:www.jxnu.edu.cn
 三级域名:如www表示万维网
 二级域名:如jxnu表示江西师大
 一级域名:如edu表示教育网
 顶级域名:如cn表示中国
一个域名可以对应多个IP吗?
 可以
 一个IP可以对应多个域名吗?
 可以
三、域名服务器的工作方式
1、域名服务器的分类
域名系统是分级别的,所以域名服务器也是有层次的,域名服务器本身也有域名
本地域名服务器
- 针对主机而言,主机首先将DNS请求发给本地的域名服务器
根域名服务器
- 用于解释.com、.net等顶级域名的服务器
权威域名服务器
- 能够权威的解释某个域名和IP对应的服务器
2、DNS的查询方式
DNS递归查询
 服务器与服务器
 
 DNS迭代查询
 主机与服务器
 
DNS的查询优化
- 问题:每次访问网页都需要首先进行DNS请求,效率不高,如何能够提高效率?
- 使用缓存机制可以提高效率
 —— 客户端短期内会将DNS映射缓存
 —— DNS服务器从上级DNS服务器获得的DNS映射会缓存
 —— 缓存的映射必须有生存时间
- 缓存的利与弊讨论
 —— 导致有时无法及时获得更新的DNS映射
 —— 导致DNS的负载均衡无效
DNS的负载均衡
- 将一个域名对应多个IP(多台相同的服务器),域名服务器收到域名查询请求时将IP轮流分配给不同的客户端,使得不同的客户端访问不同的服务器,实现服务器的负载均衡。
DNS的反向查询
- DNS查询模式包括正向查询和反向查询
- 正向查询根据域名找IP(包括- 递归查询和- 迭代查询)
- 反向查询是指通过IP地址获得相应的域名
DNS协议格式
DNS服务器使用TCP/UDP的53端口
- 客户端浏览器发出的DNS查询使用UDP
- DNS服务器之间同步DNS记录使用TCP
DNS协议报文包括两种
- DNS请求报文
- DNS响应报文
为合理定义DNS记录,DNS协议采用资源记录的结构表示
DNS资源记录(Resource Record)
RR格式:(name, value, type, ttl, class)
 name:域名 value:根据type的不同,意义不同
 ttl:该记录在缓存中能停留的时间,0表示不能缓存
 class:RR的类别代码,默认为0001,表示因特网
 type:RR类型
| type | value | 
|---|---|
| A | 域名对应的IP地址 | 
| AAAA | 域名对应的IPv6地址 | 
| NS | 域名对应的权威域名服务器名称 | 
| CNAME | 域名对应的别名 | 
| MX | 域名对应的邮件服务器的名称 | 
| PTR | name对应的 名字(反向查询) | 
DNS的报文格式
 
 
hosts文件
 hosts文件的域名和IP的对应优先DNS查询结果