分类: LINUX
2010-07-16 04:53:43
摘要:P2P打破了传统C/S模式服务器对网络资源的集中化管理和提供,解放了服务器响应的压力和降低了带宽负载,可以用来改善IPTV系统。在比较P2P和C/S模式性能的基础上,引入了超级节点的概念,结合集中式和分布式体系结构的特点,给出了一种基于P2P的IPTV体系结构,并对其进行分析。
作者:中国传媒大学广芯数字系统集成研究所 柏洁、杜恩宽、叶亚娟、赵春燕
1 引言
近年,中国宽带互联网络发展迅速,基于IP的各种互联网应用层出不穷。其中,以宽带交互的新媒体,也即IPTV(网络电视),最为引人注目。IPTV的业务形态可简单分为三种:一是实时的电视广播源节目;二是点播事先录制并存储在服务器上的节目;第三种就是所谓的Time-Shifted TV,用户在收看现场直播的节目的同时,还可以回溯过去的精彩瞬间或者暂停一会继续收看现场节目。
针对这三种业务形态,IPTV在满足用户的质量要求的同时,更要面对大规模的用户加入或退出所引起的波动和大业务量对系统高可靠性、高可扩展性方面所提出的挑战。通常,IPTV采用客户机和服务器架构,当大规模用户同时请求使用同一节目源,会造成服务器负荷重载,也造成网络的拥塞。因此,基于peer to peer (P2P)的IPTV系统得到大力发展。
2 P2P技术
P2P可定义为以非集中方式使用分布式资源来完成关键任务的一类系统或者技术。P2P如果仅仅看作是一种网络拓扑结构,则不是新鲜事物,最原始的P2P形态就是网络诞生时的点—点通信方式。后来,互联网资源丰富起来并趋于集中化,出现了服务器和客户端的概念。但Client/Server的网络体系结构使得服务缺乏个性化,资源无法得到充分利用。因此,人们渴望打破Server对网络资源的全面控制,在TCP/IP基础上演化出新的P2P技术。
2.1 P2P技术模型和应用
P2P强调Serverless的意识,按照业务提供方式可以分为三种,即P2P的三种模型:
(1)完全基于Server(Server-based)的(即C/S),服务器提供相连peer的名字索引以及网络上所有的资源,同时,peer之间的通信的建立也需要依靠服务器的初始化。服务器在系统中处于支配地位,和传统的C/S模型一样,如图1所示。
(2)部分基于Server(with-Server);通常,准备加入网络的peer通知一个索引服务器它已经登录,服务器的作用仅仅是为正在加入的peer提供已经连接的peer的名字的索引,资源仍然分布式存放在各个peer上,如何建立连接和后来的通信则仍然属于peer之间的事情。如图2所示。最早的Napster,Kazaa以及近期的Edoney, Emule,Skype等就属于部分基于Server的P2P技术架构,它们主要提供文件的高速传输和实时通信为主要目的。
(3)完全Serverless(non-Server)。此模型中,完全没有服务器的概念,所有成员都是对等端,peer动态地发现其连接的peer,peer之间的通信完全不需要来自服务器的任何帮助,打破了C/S模型的传统通信方式。它可以在某种规则下,将网络中的所有资源完全共享,并快速提供,同时支持每个peer的快速加入和退出。这种纯P2P模型容许用户自己设定通信规则,建立具有特色的网络环境,如图3。其可以使得网络资源使用率最大化,最优化系统性能。这类纯P2P系统包括Gnutella和Freenet,Myjxta及国内的SNS社会网络,Nexter等。纯P2P模型可以提供近似的即插即用特性,但其缺点在于网络上peer之间如何彼此发现,并与之建立通信的问题。
图1 P2P三种技术模型对比
2.2 P2P较C/S模式的优越性
P2P具有如下一些特性:
(1)peer知道彼此的存在和位置;
(2)peer既可以作为Client也可以作为Server而存在;
(3)多个peer可以形成一个peer组,并进而形成覆盖网;
(4)peer都是运行在那个虚拟的覆盖网上。
这些特性使得P2P系统具有非常良好的可扩展性,使得在较低成本情况下完成资源的聚合和共享,也容许peer在彼此数据的管理和资源共享上拥有较大的自治控制。由于出色的性能,基于部分Serverless和完全Serverless的P2P技术,出现了大量的互联网相关增值业务,比如分布计算,协同工作,文件共享,即时通信等。
目前大多互联网上的应用都是基于传统的C/S模式的,包括IPTV也是如此。C/S模式使得网络上的资源向服务器端集中,用户之间的通信高度依赖于服务器,无法直接交流信息。因此,在网络性能方面,P2P的优点在于它是基于互联网的对等架构,可以大大改善资源的流量分布,解决网络拥塞和带宽的瓶颈问题,减缓存储服务器的响应压力。在通信方式上,基于P2P的系统由于peer之间的协作,具有高度的容错性和非常好的可扩展性,可以快速对数据进行发布和资源的聚合,数据传输的即时性和成本都具有C/S所无法比拟的优越性。
3 基于P2P的IPTV体系结构
IPTV需要给不同网络接入的用户提供连续和失真较小的音视频多媒体流,这些交互的多媒体业务具有高度并发和带宽需求较大的特点。
3.1IPTV业务层次结构
从垂直控制功能上来讲,一个典型的IPTV系统的层次结构如图2所示,主要包含以下几个部分:运营支撑层,业务层,网络承载层和终端层。
支撑层主要完成IPTV用户的管理认证授权以及系统设备的管理。业务层主要是为IPTV提供多种多样的多媒体交互业务,比如视频点播业务,体育直播业务等。
网络承载层主要是IPTV的物理介质,要求带宽比较大,最好支持组播,并具有一定的安全保护措施。又可以具体分为接入网、汇聚网和核心网三个部分。
而最下层的终端层就表示IPTV的最终用户,他们通过网络承载层进行不同方式的网络接入服务,并在PC或者配合机顶盒的TVSet上观看电视节目。
图2 IPTV垂直层次结构
3.2混合的P2P-IPTV体系结构
系统结构具有综合服务能力,可通过同一个平台来完成直播电视、点播电视和时移电视的三种业务形态。还要求系统具有非常好的开放性架构,使得网络系统可以在大规模用户频繁加入退出时保持稳定,并支持本地和异地用户之间的连接和业务认证。同时,其体系结构还需要提供有QoS保证的多媒体服务,及必要的安全、保密措施。
目前,IPTV一般是运行在支持组播应用的IP网络中。其采用的体系结构为C/S模式,提供组播实时业务和点播存储媒体业务服务。显然,由于输入/输出带宽的限制,使得服务器只能支持有限的并发用户。当大规模的网络用户同时收看节目时,要保证系统的稳定和QoS,ICP必须用大量服务器来平衡网络访问负载,并增加网络出口带宽。但是,服务器数量和网络容量的增加永远会落后于用户规模的增长。
目前临时的解决办法是采用组播传输技术来提供广播服务或者采用内容传送网等覆盖网技术。这些过渡性质的技术需要对现有的网络进行升级改造,大大增加了网络建设的成本,浪费已有的资源投资。
为了彻底解决问题,必须打破C/S模式的体系结构,使得IPTV的体系结构向具有对等连接特性的P2P模式演化,从而将服务器的负荷负载平衡到每个参与的peer上去。基于P2P的IPTV体系结构可以使得IPTV业务的广播和转播等门槛得到降低,可以让更多用户参与并提供自制的多媒体内容得到基于全球覆盖的共享和分发,同时还可以节约电信运营商之间的对接流量,减少网络建设成本。
图3是一个采用混合网络体系结构的P2P-IPTV的网络拓扑图。属于第三代P2P体系结构,综合了第一代中央控制网络的体系结构和第二代分散分布体系结构的IPTV的优点。在网络的边缘节点采用集中式的网络结构,聚合用户,在超级节点之间采用分布式的网络结构,为IPTV的稳定度协同工作。图中,分布式放置的超级节点取代了中央索引检索服务器,同时,采用分层次的快速搜索算法改进IPTV的多媒体资源和内容的搜索性能,缩短了电视节目的反应速度和频道切换速度。具有高性能的超级节点彼此间相互协作,即使一个超级节点崩溃,相应的peers节点仍然和其他网络peer有连接,并在新的频道的搜索中,使用新的超级节点。这种超级节点的IPTV架构和Skype中的超级节点类似,P2P IPTV的体系结构中的超级节点其实也是一个peer,可作为一个动态的点对点的索引服务器。超级节点还可为处于局域网NAT或者防火墙的IPTV用户建立与外界用户peer间的连接并为其媒体流做转发服务。
3.3 P2P-IPTV工作流程描述
在基于P2P的IPTV架构的基础上,IPTV终端得到服务的流程可以分为三个部分
图3 包含超级节点的P2P-IPTV体系结构
(1)登录IPTV系统:IPTV终端启动后,首先将自行检查是否处于NAT或者防火墙之后。UDP数据包无法正常穿越这些设备,因此需要利用NAT穿越技术打通信道。当打通NAT信道后或直接处于公网位置,终端则发送UDP数据包给存储在其配置文件中的超级节点(列表)。这个列表以超级节点的IP:PORT形式存储,如果列表为空,则终端直接登录到IPTV登录服务器,获取超级节点的列表。
(2)对等用户搜索:IPTV终端登录到承载网络后,需要搜寻与其具有相同IPTV请求的对等用户,并从这些对等体中得到所需要的服务。这个过程需要超级节点的索引帮助。超级电视节点在接受终端登录的同时,将记录用户的请求并做服务归类和索引,将其存储在服务归类数据库中。超级节点在接受用户请求后将根据其需求返回与其具有共同服务的对等体终端的列表,如此,则终端可以直接与对等体建立连接,得到具有一定QoS保障的服务。
需要指出,超级电视节点也是一种终端,只是其处理能力或带宽能力较强,被系统选为超级节点。当其退出系统时,由于超级节点的分布式连接,并不影响终端用户的对等服务搜索过程。其他超级节点可代替提供相关服务。保证了IPTV系统的健壮性和稳定性,也为系统规模的扩展提供了良好的接口。
(3)服务建立和撤除:终端用户得到对等用户的列表后,将通过基于IP协议的IPTV承载网络直接与多个对等电视用户建立点-点的通信连接,并交换彼此媒体流的信息,从多个对等体接受数据流。当某个用户退出系统,则与其建立点-点连接的对等用户删除信道,并将更新的对等用户列表提交到超级电视节点,为下次用户搜索作准备。
4 小结
基于P2P的网络应用具有良好的可靠性和可扩展性,能为未来大规模用户同时参与交互媒体应用提供技术支持。本文提出的一种基于P2P的IPTV的体系结构,此体系结构结合了集中式和分布式的特点,在网络体系结构中引入超级节点的概念,使得这种IPTV具有非常好的可管理行和开放性,同时也具有良好的可靠性和可扩展性,符合下一代互联网应用的大规模用户的系统需求。
基于P2P的IPTV还在不断的演化中,技术和市场也在不断变化中。现在的IPTV系统仍然有许多问题需要讨论和解决。比如IPTV的媒体节目的知识产权和版权问题,P2P系统自身的安全性差也会给IPTV系统造成非常大的安全隐患等问题。