CDN(ContentDeliveryNetwork)是指内容分发网络,也称为内容传送网络,这个概念始于1996年,是美国麻省理工学院的一个研究小组为改善互联网的服务质量而提出的。为了能在传统IP网上发布丰富的宽带媒体内容,他们提出在现有互联网基础上建立一个内容分发平台专门为网站提供服务,并于1999年成立了专门的CDN服务公司,为Yahoo提供专业服务。由于CDN是为加快网络访问速度而被优化的网络覆盖层,因此被形象地称为“网络加速器”。
CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
CDN的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决网络拥挤的状况,提高用户访问网站的响应速度。--摘自百度百科
看了上面的话不知道CDN用来干啥的?不要紧,这不是有小二在吗。小二这就给小伙伴们娓娓道来。
细心的小伙伴都可以看到发货地址都离自己很近,京东将商品存储在全国的八个大仓库里面,当我们从就京东自营店购买一个商品,那么京东会从离你最近的仓库发货,就近发货减少了道路的拥堵和长距离运输,基本隔天就能收到商品,速度非常的快,再也不用漫长的等待。
那么我们访问一个网站时,如果站点服务器是在广州,而访问的用户在北京,那么不同时间段的运营商网络状态和经过长距离的网络传输,访问速度会变慢,那么访问网站时有没有办法类似京东买商品可以快速到货呢,当然有,解决办法之一就是CDN。
所以说人话,CDN就是一个你的网站缓存,而CDN节点就类似京东在全国的八大仓库,提前把网站内容存到了CDN节点,然后每个请求网站的用户从就近节点获取网站数据,大大减短了网络的长距离传输和网络拥堵的状况下的访问速度,类似下图的效果。
同时不同CDN服务商还会针对电信、移动、联通等网络专门设置CDN节点,减少网络服务商之间的切换。
因为小二是程序猿嘛,所以肯定要扯一扯CDN原理的。以我的域名为例看看一个请求走的解析路线,目前我的解析服务商是DNSPod,CDN使用的是百度云加速。
使用dig命令可以看到请求