DNS协议
时间:2023-02-22 13:42:01 | 来源:建站知识
时间:2023-02-22 13:42:01 来源:建站知识
DNS协议:DNS需要解决的问题是,互联网那么多网站,一般是不可能记得住那些网站的ip的,这个时候我们就需要一种服务,知道网址,然后去一个服务器上去可以查到这个网站的ip。充当一个地址簿的角色。
DNS的重要意义对于互联网不言而喻,这就需要DNS服务器设计成高可用,高并发,和分布式的。
根DNS服务器:返回顶级域DNS服务器的ip
顶级域DNS服务器:返回权威DNS服务器的ip
权威DNS服务器:返回相应主机的ip
DNS解析过程:
1.电脑客户端会发送一个DNS请求,并发给本地DNS服务器,那么本地DNS是怎么配置的呢,如果是DHCP配置,那么DNS是网络服务提供商自动分配。
2.本地DNS服务器收到客户端的请求,服务端缓存了一张域名和ip的关系对应表,如果找到了直接返回,如果没有找到本地DNS服务器会去问根DNS服务器,全球有13套
3.根DNS收到了本地DNS的请求,发现后缀是.com的,就会给本地DNS返回一个管理com域的顶级域DNS服务器的地址
4.本地DNS服务器转向去问com域顶级服务器,顶级域DNS服务器又回给请求域名的权威DNS服务器地址
5.本地DNS服务器转向权威DNS服务器查询某个网址的ip,就会得到这个网址对应的ip地址。
负载均衡
内部负载均衡
一个应用如果要访问另一个应用,是配置那个应用的域名还是配置另一个应用的ip呢,显然配置那个域名的域名更加合理,因为如果ip有变化的话,你就得重新配置ip,但是域名是不会变的,你可以通过域名去DNS服务器里里面查到新的ip地址。可以显著降低运维,另一个好处是配置成ip是一对一的,当这个服务撑不住了,我么可以部署多个,再有新的接入,返回新的服务的地址,就可以实现负载均衡。
全局负载均衡
为了保证高可用,往往会部署多个机房,每个地方都有自己的ip,当用户访问某个域名,这个ip可以轮询多个数据中心,如果某一个数据中心宕机了,可以先在DNS服务器里面,将这个数据中心的ip删除掉,可以实现一定的高可用。
DNS负载均衡本质是将对某个域请求,分配到不同机器的技术。
DNS负载均衡:
1.内部负载均衡 如果有太多应用访问一个ip地址,导致这个服务器过载,可以让新进客户端在DNS请求ip的时候,将dns域名映射到另外一个ip,实现分流
2.全局负载均衡 一般在dns服务器中配置CANME的方式,引导DNS本地服务区,去请求另外一个DNS域名服务器,方便做进一步的分流。
A记录
用来指定主机名对应IP地址的记录
MX记录
邮件路由记录
CANME记录
别名记录,允许将多个名字映射到同一台计算机
TTL(time to live)生存时间
表示一个DNS记录在本地缓存的时间
A记录是将域名解析到一个IP,而CANME是将域名解析到另一个别名,那个别名也需要做A记录
图中的两个GSLB,分运营商和地域,这样可以使不同运营商的用户访问不同运营商的资源,不跨运营商访问,可以提高数据吞吐量,减小时延
第一层GSLB,通过查看本地DNS服务器所在的运营商,就知道用户所在的运营商,并指引本地DNS服务器请求第二层的GSLB(global service load balance)
第二层GSLB 通过查看本地DNS服务器所在的位置,就知道用户的地理信息,然后将距离用户比较近的6个内部均衡器的地址返回给本地DNS服务器。
本地DNS服务器将返回的结果返回给DNS解释器
本地DNS解释器将结果缓存,返回给客户端。
客户端轮随机或者轮询一个可用区进行访问