您的位置:首页 > 理论基础

计算机网络学习随笔记(DNS协议)

2020-07-08 15:08 106 查看

DNS协议

在网络世界,也是这样的。你肯定记得住网站的名称,但是很难记住网站的 IP 地址,因而也需要一个地 址簿,就是DNS 服务器。

下面是DNS的结构图:

  • 根域名DNS服务器:返回顶级域DNS服务器的DNS和IP。
  • 顶级域DNS服务器:返回权威DNS服务器的DNS。
  • 权威DNS服务器:返回相应主机的IP地址。

DNS解析的过程:

为了提高DNS的解析功能,很多网络都会就近部署DNS缓存服务器。

  1. 电脑客户端会发出一个 DNS 请求,问 www.163.com 的 IP 是啥啊,并发给本地域名服务器 (本地DNS由你的网络服务商(ISP),如电信、移动等自动分配)。
  2. 本地 DNS 收到来自客户端的请求,会去缓存的大表(标识域名与IP对于关系)中查询,如果能查询到就直接返回。如果没有的查询到,本地的DNS就会去访问它的根域名服务器(根域名服务器是最高层次的,全球一共有13套,它是不会用于解析域名的,它的作用是给你标明对应的顶级域DNS服务器)
  3. 根域名DNS服务器收到本地DNS服务器的请求,发现后缀是 .com 的,就会返回 .com 对应的顶级域名服务器的地址。
  4. 本地DNS转向顶级域名服务器(类似 .com .net .org .cn)它负责管理二级域名,比如163.com,然后它会返回对应的权威DNS服务器地址。
  5. 本地DNS转向权威DNS服务器,然后权威服务器解析后返回对应的IP地址。
  6. 本地DNS再将IP地址返回给客户端,客户端和目标建立连接。

具体的流程图如下:

负载均衡

站在客户端角度,这是一次DNS 递归查询过程。因为本地 DNS 全权为它效劳,它只要坐等结果即可。 在这个过程中,DNS 除了可以通过名称映射为 IP 地址,它还可以做另外一件事,就是负载均衡。

内部负载均衡:某个应用要访问另外一个应用,如果配置另外一个应用的 IP地址,那么这个访问就是一对一的。但是当被访问的应用撑不住的时候,我们其实可以部署多个。但 是,访问它的应用,如何在多个之间进行负载均衡?只要配置成为域名就可以了。在域名解析的时候,我们只要配置策略,这次返回第一个 IP,下次返回第二个 IP,就可以实现负载均衡了。

全局负载均衡:为了保证我们的应用高可用,往往会部署在多个机房,每个地方都会有自己的 IP 地址。当用户访问某个域名的时候,这个 IP 地址可以轮询访问多个数据中心。如果一个数据中心因为某种原因挂了,只要在DNS 服务器里面,将这个数据中心对应的 IP 地址删除,就可以实现一定的高可用。另外,我们肯定希望北京的用户访问北京的数据中心,上海的用户访问上海的数据中心,这样,客户体验就会非常好,访问速度就会超快。这就是全局负载均衡的概念。

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: