从技术角度分析p2p cdn和普通http cdn的快慢

所谓CDN加速,其实说白了就是将网站内容分发到不同地区的节点上,通过此方式来缩短访问者主机与储存网站内容的主机之间的距离。也包括不同运营商线路所导致的访问速度降低的尴尬问题。 总的来说这是一种桥接的方式,因此CDN的好出也是显而易见的,至少有如下几个好处:
1、缩短主机之间访问时信息传递的距离(加速效果)
2、分发至不同线路的节点后可以让不同线路的访问者在访问时提升实际的响应速度(比如电信和联通网络的访问差异,也是加速效果)
3、分发后的不同节点IP地址不同,而且会自然的隐藏掉源寄存主机的真实IP,这样可以防止一些恶意攻击。(安全保护效果)
而对于CDN服务而言,基本大厂商才有能力提供相对稳定的免费CDN服务,当然他们也会带有付费的CDN服务,所享受的服务质量当然也是有区别的,但是大厂商们提供的免费CDN服务还是值得肯定的,有其实实在在的价值。

而P2P技术在cdn中的应用,是P2P技术和cdn布点的结合。明确了CDN,我们在来熟悉下什么是P2P技术。P2P技术分为电驴和BT两种,我们这里以BT技术为例说下。

BT首先在上传者端把一个文件分成了Z个部分,甲在服务器随机下载了第N个部分,乙在服务器随机下载了第M个部分,这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了服务器端得负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。比如说丙要连到服务器去下载的话可能才几K,但是要是到甲和乙的电脑上去拿就快得多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。而且,在你下载的同时,你也在上传(别人从你的电脑上拿那个文件的某个部分),所以说在享受别人提供的下载的同时,你也在贡献。

所以如果从下载速度的角度来看的 话,p2p下载最差也会跟cdn差不多。因为现在的很多p2p也支持同时从cdn下载,叫P2SP。所以一旦连接建立起来,p2p是同时可以从cdn、其他邻居、多个服务器、多个cdn地址去下载。当然很容易速度就比普通cdn快很多。而cdn往往是只能去连接一个服务器节点,这样再快也只能是到这个服务器的速度,而p2p是多源一起去下载,肯定速度更有优势。甚至如果你局域网有人在一起下载,他从局域网加速,速度就更恐怖了。

但是如果从建立连接的速度来说,应该是cdn快。因为cdn是直接去连一个最近的边缘服务器,而p2p一般要先去通过hash值去dht或者tracker去询问节点信息,拿到一些邻居IP,再去建立连接。不过问题在于这些邻居质量良莠不齐,有的可能是重复的部分有的可能已经关闭了。而当真正和这些邻居建立起来连接会花费多一些时间,所以比传统cdn要慢一些了。所以这也是为什么常见的p2p软件开始速度慢一些慢慢就能跑满。

所以很多时候选择http cdn还是P2P或者P2SP这个要根据具体的情况来分析的。如果是单纯的大文件视频等的分发传输的话,可能更时候用P2P分发传输,因为这样在加快速度的同时,节省一部分带宽,无论对于消费者还是运营者来说都很有利,是个双赢的过程。如果有更多关于P2P分发传输或者P2SP问题,欢迎联系点量软件。

相关推荐