DNS就是将域名转换成IP的服务。
DNS服务器是一个树状结构,分为根DNS,顶级域DNS和权威DNS服务器,再下边就是分层的本地DNS服务器节点。
DNS解析流程
- 浏览器在访问一个域名之前,比如www.163.com,就会问本地的DNS服务器这个域名的IP是啥?本地的DNS服务器有网络服务商提供,通过DHCP服务获取(以前还常常自己配置电脑上的DNS服务器地址,最近一些年没有手动操作过)
- 本地的DNS服务器如果缓存了这个域名的IP就直接给返回,如果没有,就会问根域名服务器。根域名服务器做域名解析,但能指明一条道路。
- 根DNS收到来自本地的DNS请求,发现后缀是.com,就告诉本地DNS服务器去.com的顶级域名服务器查询。
- 本地DNS服务器再去问顶级域名服务器www.163.com 的IP。
- 顶级域名服务器会告诉本地服务器负责163.com的权威DNS服务器的地址。
- 本地DNS服务器再去问权威域名服务器www.163.com 的IP。
- 权威DNS会将163.com的IP告诉本地DNS服务器。
- 本地DNS服务器再将IP告诉客户端。
(图片来自极客时间刘超专栏《趣谈网络协议学习笔记》)
负载均衡
一个服务部署在多台机器上,在本地搭建的DNS服务器,外部通过域名来访问服务,DNS服务器可以根据调度策略来做本地负载均衡。
如果服务部署在多个机房,可以用GSLB做全局的负载均衡,就近访问