01 CDN、PCDN介绍
首先,先简单介绍一下什么是CDN和PCDN。
a CDN
CDN英文全称Content Delivery Network,中文翻译即为内容分发网络。听起来高大上,实际上就是个多节点的在线缓存,接下来我尽量以通俗易懂的形式来介绍一下。
网站A的服务器上有个好看的视频,大家都想看。
假设有一万个人同时看这个视频,网站A的服务器就要同时接受这一万个人的请求,将视频发给这一万个人的电脑,这势必会增加服务器的负担。
而这一万个人里,并不是每个人到A网站的连接时长都是一样的,有些人可能很快就能连接上,但是有些人可能由于网络运营商或者地区原因,需要很长时间来获取A上的数据。
这时候,就轮到CDN出场了。CDN可以理解为一大堆分散在世界各地的服务器。
有了CDN,服务器A可以把频繁被请求的视频发送给CDN网络的每一台服务器。
用户看视频的时候,会先找到CDN的根节点服务器,根节点服务器会根据请求者的ip地址分配最近的CDN服务器,让用户从CDN服务器上获取视频。
这样,用户就能从最近的节点获取到自己想要的视频,既减少了用户访问的延时,也降低了服务器的压力。
打个比方,如果整个城市里只有一家肯x基,那整个城市的外卖都得从这家店做,这家店得累死,而且离店远的用户也得等好久才能拿到吃的。
开了一堆分店后,用户下单之前先打开app,app自动分配距离用户最近的分店,降低了用户的等待时间,也减少了主店的压力。
总而言之,CDN主要有两个作用:
- 降低主服务器的负载和网络请求(负载均衡、分流)
- 提高用户的访问速度
b PCDN
介绍完了CDN,就好介绍PCDN了。
PCDN多的这个P,是P2P(Peer to Peer,点对点)的意思。
常规的CDN,一般由根节点服务器和多个CDN节点服务器组成。这些服务器一般隶属于同一个机构,由该机构统一进行管理。
而PCDN则在CDN的基础上新增了P2P节点。
换句话说,每一个普通用户,都可以加入这个PCDN网络,在从别人那边获取数据的同时利用多余的带宽和磁盘空间进行缓存,给其他用户作为缓存节点,主打一个去中心化的“我为人人,人人为我”(就和以前的BT下载差不多)。
(如下图,除了从CDN节点获取数据外,还能从其他用户侧获取数据,也能作为节点给其他用户提供数据)
实际上,PCDN离我们并不遥远。
在以前炒的沸沸扬扬的XX网盘的“用户激励计划”(现在已经改名并且默认关闭了),XX音乐后台占用带宽等等(部分敏感名称已经打码),实际上都是在把用户的电脑当做pcdn节点来用。
当然,也有一些和用户明里暗里达成协议的PCDN服务,通过使用用户的闲置带宽和磁盘空间作为PCDN节点的同时,给予用户一定的返利,这个会在下一篇文章中详细讲解。
02 PCDN,平台和运营商的三方博弈
上文中我们简单介绍了CDN,PCDN的定义和区别。
实际上,还有一个很重要的区别,就是成本。
CDN的根节点和内容服务器一般都是由各大运营商来运营的,有专门的线路,在付出比较大的成本的同时,也会对各大需要使用CDN的平台收取比较高的使用费。
PCDN可以使用大量的普通用户的设备来作为服务器节点,对于PCDN的运营商来说,成本比较低。因此,也可以以更低的成本给其他平台使用。
然而,这又势必动了运营商的蛋糕。如果大家都去搞PCDN,那自己的CDN业务不就受到影响了吗?
于是运营商就会发挥自己的优势,小则修改网络NAT TYPE,断网,强制丢包,大则上门处理。
而PCDN平台则不会坐以待毙。和普通用户合作的PCDN也会发挥用户的主观能动性,让用户打电话投诉运营商要求更换公网IP,而自己偷偷在自己的App里搞了PCDN服务的应用平台,则会想办法搞得更隐蔽…
原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/87620.html