传统意义上的CDN,即目前大多数人口头上的CDN,指的是内容分发网络。实际上随着能由CDN提供加速的内容的类型不断丰富,其提供的服务也早已从单纯的内容分发拓展到应用分发及服务分发。
另一方面,在网络形式上,CDN是一种覆盖网,是网络虚拟化的一种形式。经过多年的应用实践与理论研究,P2P、CDN等覆盖网络在解决内容/应用/服务分发时仍存在一些不足,目前Internet所面临的主要挑战仍然是满足不了高效率、大规模、安全的内容获取和内容分发,Internet迫切需要高扩展性和高性价比的内容分发解决方案。此背景下,近两年,信息中心网络这一解决方案又被提出。
Internet迫切需要高扩展性和高性价比的内容分发解决方案
20世纪70年代以来,以TCP/IP协议为核心技术的互联网面临着日益严重的技术挑战。之前的网络主要通过数据包交换方式满足主机之间的端到端的数据传输,通信机制上主要基于拓扑位置模式,在网络的安全性、可靠性、灵活性、移动性、拥塞控制和路由效率等方面暴露出许多不适应性。
尽管有P2P及CDN等覆盖网络,但目前Internet所面临的主要挑战仍然是满足不了高效率、大规模、安全的内容获取和内容分发。近年来,国际上就大力研发下一代互联网,并形成了两种技术路线:一种是渐进路线,即不断改良和完善现有的IPv4,最终平滑过渡到IPv6;另一种是革命路线,即重新设计以信息为中心的网络作为互联网体系结构(信息中心网可实现内容与位置分离、网络内置缓存等功能,内容的高效分发是其主要设计目标之一),满足未来互联网的发展需要——这方面的代表是美国NDN(Named Data Networking,命名数据网络)项目,还有欧盟第七框架计划的SAIL项目和PURSUIT项目。
端到端的通信模式以主机为中心,基于端点寻址和数据包交换,本质上面临着网络瘫痪和传输拥塞的难题。尽管可以通过增量改变以IP协议为“细腰”的沙漏模型或P2P及CDN等覆盖网络来予以应对,但也有弊端和局限性,因此无法创造或部署更多的创新型应用和服务。
在以NDN为代表的信息中心网络体系构架中,用户只关心在任意网络节点迅速地获取数据或其副本,而不关心内容的具体位置,因此重点研究内容是信息对象本身、数据自身属性和以请求方的数据请求为驱动方式(与HTTP方式类似)的数据传输构架。利用通信在空间和时间上的解耦和网络内存储,通过数据复制,在传输数据对象上附加安全元数据以及交互的多方通信机制,来解决当前互联网在内容分发上的一系列关键问题。
Internet迫切需要高扩展性和高性价比的内容分发解决方案。信息中心网络就是其中最受关注、研究进展最快的解决方案。如何在信息中心网络里高效地分发、传播TV及视频内容是研究方向之一。
传统的P2P技术
P2P较早提出了内容分布、去中心化、基于数据的索引和检索的思想,是为了进行内容分发和共享专门孕育而生的过渡性典型技术,是信息中心网络构架的前身。P2P技术颠覆了互联网上原有的“客户端/服务器”计算模式,使得资源不是集中在少数昂贵的服务器中,而是广泛分布在众多的终端节点中,获取资源不再依赖中央服务器的性能。
P2P的可扩展性是通过降低和均衡中央负载来实现的,充分利用了P2P的网络自组织能力、自适应性以及在节点间的容错分布机制。在各种P2P系统中,客户端主动代理为其他候选节点解析资源命名,从选定的节点检索并下载数据段。从拓扑结构上看,P2P从最初的中心拓扑结构到完全分布式结构,各种各样的拓扑结构层出不穷。
大多数P2P网络为了提高构架的可伸缩性,均采用分布式的哈希表DHT为底层基础协议。代表性的DHT协议有Chord、CAN和Kademlia等。从运用领域上看,P2P技术已经涵盖了分布式科学计算、文件共享、语音通信、流媒体点播和直播、在线游戏支撑平台、邮件系统等方面。
但是P2P只适用于为特定的应用提供专有的数据传输处理模型,对应用本身具有很强的依赖性和归属性,并不是一种普适的内容分发解决方案。
传统的CDN技术
当前大型的互联网内容提供商都在使用CDN服务来加速静态数据和动态数据的内容分发。
CDN的核心思想是搭建覆盖网络,将内容主动调度到最接近用户的网络边缘,使用户可以就近取得所需的内容,解决互联网拥塞状况,提高用户获取的响应速度,通过增加存储来换取处理性能。
对于OTT视频直播流,覆盖结构组成一个多播树来减少带宽消耗并提高性能。CDN的分布式内容部署尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和针对不同运营商网络内复制数据内容,减少互联的流量,进而降低带宽成本。CDN提供给服务提供者更多的控制权。服务提供者可以针对地区、用户密集度、内容的流行度或是其他因子进行宏观调控,以使内容更快、更稳定地传输。
同时,CDN系统能够根据网络流量、各节点的连接、负载状况、数据的热度、与用户的网络距离和响应时间等系统参数,实时智能地将用户的请求进行调度并指定到离用户最近的服务节点上,从而提高效率和性能。
当前的CDN基础设施可提供一系列复杂的管理工具和调度策略,一些关键的数据中心之间甚至使用专有高速链路,用于配置数据对象的位置、路径、管理性能和评估使用状况等,导致资金成本高昂。这种解决方案是专有的,取决于具体的CDN网络,这意味着并不存在通用的方法,因此在不同的CDN系统之间没有互操作性,也使得不同的CDN网络之间不可能共享数据,也不能把他们互联起来。在这种情况下,跨网络存储和通信资源都不能被有效地利用起来。同时,由于CDN数据中心之间同步的代价非常高,对于一些诸如微博、社交网络、视频会议等实时性强、数据粒度小、交互频繁的应用就显得有些力不从心。
责任编辑:饶军