编者按:随着网络视频应用的发展,大流量高并发访问问题越来越突出,为了解决这个问题,CDN技术与P2P技术开始了合作。
【IT168 专稿】目前,随着互联网的发展,流媒体视频内容日趋增多,已经成为互联网信息的主要承载方式。相对传统的文字,图片等传统WEB应用,流媒体具有高数据量,高带宽、高访问量和高服务质量要求的特点,而现阶段互联网“尽力而为”的特点决定了在现有网络架构下大规模流媒体应用是存在困难的。
在这种情况下,CDN和P2P应运而生,以不同的方式,不同的优势解决了内容分发的问题,但受其固有计算模型的制约,无论是CDN或者P2P均存在一些根本的缺点。本文将探讨利用CDN与P2P的互补性,发挥各自的优势,将P2P和CDN技术融合构建一种新型的流媒体内容分发模型。
传统CDN与P2P技术
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,通过通过智能化策略,将中心的内容发布到最接近用户、服务能力最好的的网络"边缘"节点,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问响应速度慢的问题。
然而,传统的CDN技术仍然是一种客户机-服务器(C/S)的计算模式。尽管传统CDN将服务能力和服务内容在网络上进行了分布,可以在一定程度上加速流媒体内容的分发,提高服务质量。但由于其核心仍然是基于C/S的架构,其服务的扩展能力取决于分布节点的不断部署,由此造成了CDN服务能力扩展的成本非常高,需要不断的投资。同时,用户访问是具有随意性,突发性等特点的,而传统CDN系统不具备弹性动态扩展的能力,难以从根本上提升CDN系统的效率。
P2P即Peer to Peer,也就是节点对节点的对等传输。P2P技术将各个用户互相结合成的一个网络,共享其间的带宽、共同处理其中的信息。与传统的客户机-服务器模式(C/S模式)不同,P2P工作方式中,每一个客户终端既是客户机又是服务器。采用P2P架构可以有效地利用大量普通计算设备的计算资源和带宽资源,将计算任务或存储数据分布到所有结点上,达到高性能计算、高I/O能力、高带宽和海量存储的目的。同时,由于P2P的特性,系统在大规模并发服务时凸显优势,整体系统具备动态扩展能力,整体系统的部署成本低,系统效率高,同时具有系统级的服务可靠性。
然而,单纯的客户端P2P应用也存在自身的缺点,首先P2P系统天生具有可控性、可管理性差的特点,同时面临可用性问题,从整个系统而言,P2P是可靠的,但是对于单个内容或者单个任务而言,P2P是不稳定的,每个Peer具有随意性,随时可以退出系统;交换的内容随时可能被删除或者被终止共享。另外,由于传统P2P技术中Peer之间交换数据的通道,更多的是由自动寻找最优逻辑链路,而忽视实际的物理链路的情况,对电信运营商IP承载网的实际构架考虑不多,造成骨干网拥塞、网络流量风暴等损害电信运营商利益的问题。这些问题都阻碍了单纯的客户端P2P技术难以进一步发展成为电信级的技术平台。