上篇搞清楚了DNS,这里我们再来看看什么是cdn,它与DNS又有着什么关系。
什么是CDN
CDN(Content Delivery Network)是指内容分发网络,也称为内容传送网络。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,cdn系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。由于CDN是为加快网络访问速度而被优化的网络覆盖层,因此被形象地称为“网络加速器”,大大地改善了互联网的服务质量。
简单来讲,CDN就是用来网络访问加速的,它能让用户就近访问数据,这样就更更快的获取到需要的数据。举个栗子,现在服务器在北京,深圳的用户想要获取服务器上的数据就需要跨越一个很远的距离,这显然就比北京的用户访问北京的服务器速度要慢。但是现在我们在深圳建立一个CDN服务器,上面缓存一些数据,深圳用户访问时先访问这个CDN服务器,如果服务器上有用户请求的数据就可以直接返回,这样就不用了跑到北京取数据从而将请求速度大大的提升了。
CDN工作原理
要搞清楚CDN工作原理,首先要搞清楚DNS,需要复习DNS的同学点击一文搞懂DNS。
借用阿里云官网的例子,来简单介绍CDN的工作原理。
假设通过CDN加速的域名为www.a.com,接入CDN网络,开始使用加速服务后,当终端用户(北京)发起HTTP请求时,处理流程如下:
- 当终端用户(北京)向www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。LDNS检查缓存中是否有www.a.com的IP地址记录。
- 如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。当授权DNS解析www.a.com时,返回域名CNAME www.a.tbcdn.com对应IP地址。
- 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址。
- LDNS获取DNS返回的解析IP地址(CDN节点服务器IP地址),并响应返回用户。
- 用户向获取的IP地址发起对该资源的访问请求。如果该IP地址对应的节点已缓存该资源,则会将数据直接返回给用户,如图中步骤7和8,请求结束。如果该IP地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求,获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,并返回给用户,请求结束。
从这个例子可以看出:
(1)CDN的加速资源是跟域名绑定的,通过域名访问资源,首先是通过DNS分查找离用户最近的CDN节点(边缘服务器)的IP,然后给用户分配最佳cdn节点
(3)通过IP访问实际资源时,如果CDN上并没有缓存资源,则会到源站请求资源,并缓存到CDN节点上,这样,用户下一次访问时,该CDN节点就会有对应资源的缓存了。
CDN的作用有哪些
这就是你使用CDN的第一个也是最重要的原因:为了加速网站的访问
除此之外,CDN还有一些作用:
- 可以实现跨运营商、跨地域的全网覆盖
互联不互通、区域ISP地域局限、出口带宽受限制等种种因素都造成了网站的区域性无法访问。CDN加速可以覆盖全球的线路,通过和运营商合作,部署IDC资源,在全国骨干节点商,合理部署CDN边缘分发存储节点,充分利用带宽资源,平衡源站流量。阿里云在国内有500+节点,海外300+节点,覆盖主流国家和地区不是问题,可以确保CDN服务的稳定和快速。 - 可以保障你的网站安全
CDN的负载均衡和分布式存储技术,可以加强网站的可靠性,相当无无形中给你的网站添加了一把保护伞,应对绝大部分的互联网攻击事件。防攻击系统也能避免网站遭到恶意攻击。 - 可以异地备援
当某个服务器发生意外故障时,系统将会调用其他临近的健康服务器节点进行服务,进而提供接近100%的可靠性,这就让你的网站可以做到永不宕机。 - 为了节约成本投入
使用CDN加速可以实现网站的全国铺设,你根据不用考虑购买服务器与后续的托管运维,服务器之间镜像同步,也不用为了管理维护技术人员而烦恼,节省了人力、精力和财力。
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/31678