大家一定经常听到CDN这个词,很多不了解的人,可能会听的云里雾里。
那到底什么是CDN呢?
今天我们就来具体聊聊CDN这个技术。
简单理解:CDN=快递仓库?
CDN英文全称为 Content Delivery Network,直接翻译就是内容分发网络。
其实CDN没那么玄乎,它也很好理解。
我这举个通俗点的例子:CDN就像京东自营仓储中心(不是广告)。
很多朋友购物都会首选京东自营,为什么呢?
其实一个最重要的原因就是物流快,在北京甚至上午下单,下午就能收到东西。
为什么京东能做到这么快的物流送货呢?
这就要归功京东自建仓储中心了,这就跟CDN的原理差不多。
首先京东自营会从源头,也就是厂商拿到货物,然后放到各大仓库中心,当你购物的时候,京东会自动把这个订单分配给离用户最近的仓库处理派发,这样用户就很快能够拿到货物了。
早上下单,下午就能送到了,效率提升了好多倍,用户的购物体验提升了很多。
如上图,京东全国各地的自营仓储中心就相当于CDN服务器,货物就相当于要传输的数据。你的订单就相当于一个网络请求。
CDN在用户上网的时候就相当于起到自营仓储中心的作用,让用户能够从离自己最近的CDN服务器进行下载,减少路由次数,提升下载速度,缩短传输时间,提升用户使用体验。
下面我们就来具体聊聊CDN这个技术。
▉ 为什么需要CDN?
不知道很多老网友是否记得,90年代初的时候,拨号上网的年代网速可以说是龟速。即使打开一个静态新闻网页也要等好久时间。
随着网络技术的发展,这种情况有所缓解。
但随着网民的快速增加,人们发现一个奇怪的现象出现,明明我使用了更高带宽的网速,但是看视频、浏览网页、听音乐,还是会很慢,为什么呢?
这里有两个主要的原因,就像我们开车一样,是距离和带宽的问题影响了用户的访问效率。
首先距离问题
假如我们从北京访问美国的一个网站或者视频,中国到美国的直线14000公里,即使网络光缆的传输速度相当于30万公里/s,传输的时延就是467ms,一个来回就是934ms,而且这只是理想状况。
北京到美国中间并不是一根光缆,而且是由无数个小网组成,比如国内的三大运营商,比如你家里使用的是二级,三级网络的运营商。这些运营商之间的传输要做计算处理,就相当于高速公路的收费站,这就导致会有拥堵,会有抖动,让真实的传输速度远不及光速。
这样就导致,当用户从北京到美国直接访问一些视频资源,直播资源,网页资源,很容易感到卡顿。
其次,除了距离的问题,还有带宽的问题。
带宽问题很好理解,当一个人浏览一个视频的时候,视频服务器提供的4Mbps的带宽可以直接给这个人使用,但是当10000个人一起访问这个视频的时候,那么视频服务器就需要40000Mbps(40Gbps)。那么当有更多的人同时访问的时候,可是很少有视频供应商能够提供这么大的带宽。
这个场景就像每年十月一假期放假一样,大家同时出行,但是高速路并不能同时支持那么多辆车并行驶入,这就导致高速路的拥堵。
因为,距离和带宽,决定了用户的网络访问效率,CDN就是专门解决这个问题出现的。