简介
域名系统协议(DNS) 是一种域名和IP地址相互映射的分布式数据库的服务。
域名解析
① 浏览器会首先搜索浏览器自身的DNS缓存;
② 浏览器会搜索操作系统自身的DNS缓存;
③ 尝试读取hosts文件搜索;
④ 浏览器会发起一个DNS的系统调用,向本地配置的首选DNS服务器(一般是运营商提供的)发起域名解析请求;
- 运营商的DNS服务器首先查找自身的缓存;
- 没有找到则由运营商发起迭代DNS解析请求,它首先是会找根域名服务器的IP地址(每个DNS服务器都内置13台根域名服务器及IP)向其发起请求,根域名服务器返回相应顶级域的权威域名服务器的地址;
- 首选域名服务器继续向该顶级权威域名服务器查询。顶级权威域名服务器返回次级域的权威域名服务器地址,首选域名服务器如此迭代查询,直到得到对查询域名的权威回答,保存在本地缓存中并返回给客户端,完成此次查询。
于是域名对应的IP地址就返回给Windows系统内核,内核又把结果返回给浏览器,终于浏览器拿到了域名对应的IP地址。
注:采用UDP作为DNS的运输层协议,13台服务器源于多于13个ip+主机名的UDP报文长度将超过512字节。
根域名服务器如图: