很多人可能都听说过DNS和CND , 但对于两者之间有哪些联系和区别可能不太了解 。 本文将对这个问题做下简单介绍 。
DNS解析流程我们平时输入的网址(或者域名)不能直接由计算机识别 , 必须通过DNS服务器将域名翻译成IP地址 , 才能完整访问过程 。 这个过程被称为DNS解析 , 这是完成访问必不可少的一个环节 。
如果网站没有设置CDN缓存 , 那么用户访问该网站的过程大概分为以下几个步骤:
1.用户在浏览器中输入要访问的域名;
2.浏览器像本地DNS查询域名的IP地址;
【cdn|一文读懂DNS和CDN的联系和区别】3.本地DNS向根服务器发起请求;
4.根服务器向本地服务器返回域名所属的顶级服务器;
5.顶级服务器将域名所属的权威服务器返回给本地DNS;
6.本地服务器向权威服务器发起请求 , 权威服务器将域名对应IP地址返回给本地服务器;
7.本地服务器将IP地址返回给用户 , 完成整个解析过程 。
什么是CDN?CDN的全称是Content Delivery Network , 即内容分发网络 , 它能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上 。 其目的是使用户可就近取得所需内容 , 解决 Internet网络拥挤的状况 , 提高用户访问网站的响应速度 。
使用CDN的方法很简单 , 只需要修改自己的DNS解析 , 设置一个CNAME指向CDN服务商即可 。
在使用CDN后 , 访问过程如下:
1.当用户想要访问某个网站 , 经过本地DNS系统解析 , DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器 。
2.CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户 。
3.用户向CDN的全局负载均衡设备发起访问请求 。
4.CDN全局负载均衡设备根据用户IP地址 , 以及用户请求的内容URL , 选择一台用户所属区域的区域负载均衡设备 , 告诉用户向这台设备发起请求 。
5.区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务 , 选择的依据包括:根据用户IP地址 , 判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称 , 判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况 , 判断哪一台服务器尚有服务能力 。 基于以上这些条件的综合分析之后 , 区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址 。
6.全局负载均衡设备把服务器的IP地址返回给用户
7.用户向缓存服务器发起请求 , 缓存服务器响应用户请求 , 将用户所需内容传送到用户终端 。 如果这台缓存服务器上并没有用户想要的内容 , 而区域均衡设备依然将它分配给了用户 , 那么这台服务器就要向它的上一级缓存服务器请求内容 , 直至追溯到网站的源服务器将内容拉到本地 。
CDN服务本身并不具备DNS解析功能 , 而是依托于DNS智能解析功能 , 由DNS根据用户所在地、所用线路进行智能分配最合适的CDN服务节点 , 然后把缓存在该服务节点的静态缓存内容返回给用户.所以在启用CDN后进行ping查询时IP发生了变化 , 是因为此时返回的是我司DNS根据用户所在网络和服务器情况等智能适配后得出的最佳CDN服务节点IP而并真实服务器 。
猜你喜欢