DNS协议:是一个应用层协议,在传输层使用UDP协议
一、域名
(一)什么是域名
避免IP地址不好记忆提出的一种服务器查找技术,本质上就是使用便于记忆的字符串替代IP地址。
在通信前,需要进行域名解析,将域名字符串转换为服务器IP地址,再通信。
(二)背景
早期为了方便记忆服务器地址,设计出域名。 通过hosts文件保存“域名—IP 地址”的映射关系。 程序访问域名时,先读取hosts文件,从中解析出对应的IP地址,拿到IP地址后再建立连接、发送请求。
但随着互联网规模扩大,hosts这种本地集中维护的方式难以支撑。后来,就有公益机构搭建了专门的DNS服务器,统一做域名解析。
为分担访问压力、提升容灾能力,全球一共部署13 组根域名服务器,构成分级分布式DNS系统。
二、域名分级结构(分布式管理)
示例:www.zhidao.baidu.com,从右往左看层级
域名分为多级,是为了便于进行域名管理,让不同层级的域名服务器管理不同的域名。
(一)域名的层级
- 顶级域名
- 按国家地域划分:
.cn、.us、... - 按机构性质划分:
.com(商业)、.edu(教育)、.gov(政府)、.org(组织)、.net(网络)
- 按国家地域划分:
- 二级域名:例如.
baidu.com、.qq.com - 三级域名:例如.
zhidao.baidu.com
(二)域名服务器的层级
根域名服务器:全球一共13组;保存所有顶级域名服务器的地址,并授权机构建立顶级域名服务器
顶级域名服务器:管理所有的顶级域名
二级域名服务器:管理所有的二级域名
三级域名服务器:管理所有的三级域名
三、域名解析流程
1.浏览器查看浏览器缓存,看有没有域名信息;如果有,则直接取出对应的IP地址使用
2.查看本机hosts文件
3.请求本地域名服务器(网络服务运行商部署在终端位置)
- 递归方式:本地域名服务器->根域名服务器->顶级域名服务器->二级域名服务器
- 迭代方式:本地域名服务器->根域名服务器;本地域名服务器->顶级域名服务器;本地域名服务器->二级域名服务器