一、分层次的域名结构
- 顶级域名、 二级域名、 三级域名、 四级域名
二、因特网的域名结构
- 因特网采用了层次树状结构的命名方法,称为域名,如: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查询结果