什么是P2P技术呢?P2P是peer-to-peer的缩写,peer在英语里有"(地位、能力等)同等者"、"同事"和"伙伴"等意义。因此,P2P也就可以理解为"伙伴对伙伴"的意思,或称为对等联网。P2P技术自面市以来一直受到广泛的关注。最近几年,P2P技术更是发展迅速。目前,业界对P2P的定义还没有一个标准的说法,Intel将P2P技术定义为"通过系统间的直接交换达成计算机资源与信息的共享",这些资源与服务包括信息交换、处理器时钟、缓存和磁盘空间等。IBM则对P2P赋予了更广阔的定义,把它看成是由若干互联协作的计算机构成的系统并具备如下若干特性之一:系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益;系统中成员同时扮演服务器与客户端的角色;系统应用的用户能够意识到彼此的存在而构成一个虚拟或实际的群体。
简单地说,P2P技术是一种用于不同PC用户之间、不经过中继设备直接交换数据或服务的技术,其网络通信方式如图一所示。它打破了传统的Client/Server模式,在对等网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。由于P2P技术的飞速发展,互联网的存储模式将由目前的"内容位于中心"模式转变为"内容位于边缘"模式,改变Internet现在的以大网站为中心的状态,重返"非中心化",将权力交还给用户。
目前,在网络电视、文件共享、分布式计算、网络安全、在线交流甚至是企业计算与电子商务等应用领域P2P都显露出很强的技术优势。简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互。P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。P2P看起来似乎很新,但是正如B2C、B2B是将现实世界中很平常的东西移植到互联网上一样,在现实生活中我们每天都按照P2P模式面对面地或者通过电话交流和沟通。
P2P的本质思想是,整个网络中不存在中心节点(或中心服务器)。在P2P结构中,每一个节点(Peer)大都同时具有信息消费者、信息提供者和信息通讯者等三方面的功能,在P2P网络中每一个节点所拥有的权利和义务都是对等的。在P2P工作方式中,每一个客户终端既是客户机,又是服务器。它弱化了服务器的作用,将信息数量、成本资源都向互联网各点均匀分布,也就是所谓的"边缘化"的趋势,消除了单个资源带来的瓶颈,可以控制和实现网络上各节点的负荷平衡。P2P技术不仅能利用服务器的资源,同时能合理地使用用户计算机的空闲资源。用户在享受媒体节目的同时,也在利用自身计算机所空闲的资源为其他用户提供着服务。所以,使用P2P技术提供高质量和大容量的流媒体服务系统成为可能。
P2P技术在网络电视中的应用
IPTV即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。它能够很好地适应当今网络飞速发展的趋势,充分有效地利用网络资源。 IPTV既不同于传统的模拟式有线电视,也不同于经典的数字电视。传统的和经典的数字电视都具有频分制、定时、单向广播等特点;尽管经典的数字电视相对于模拟电视有许多技术革新,但只是信号形式的改变,而没有触及媒体内容的传播方式。
IPTV关键技术
IPTV是利用计算机或机顶盒+电视完成接收视频点播节目、视频广播及网上冲浪等功能。它采用高效的视频压缩技术,使视频流传输带宽在800Kb/s时可以有接近DVD的收视效果(通常DVD的视频流传输带宽需要3Mb/s),对今后开展视频类业务如因特网上视频直播、远距离真视频点播、节目源制作等来讲,有很强的优势,是一个全新的技术概念。IPTV的特点及应用 IPTV是利用宽带有线电视网的基础设施,以家用电视机作为主要终端电器,通过互联网络协议来提供包括电视节目在内的多种数字媒体服务。
随着P2P研究的进一步深入, P2P技术可以设计一个运营商级的音视频业务系统,采用P2P技术的播放软件成就了网络电视的发展。P2P既代表一种新技术,也映射着一种新文化,从技术角度来说,它用Peer与Peer的对等沟通,打破了目前网络流行的C/S主从模式,是对互联网应用技术的创新,也是互联网本质的回归。P2P受到了广大网民的喜爱,目前主要的应用的网络电视下载有PPStream、沸点网络电视、TVKoo、猫眼网络电视、QQ直播;影视歌曲下载类的bt、百宝、酷狗(KuGoo)、电骡(eMule)等;通信类的Skype等。网络电视的发展吸引了众多的网民,它可以为用户提供极为丰富的业务,如VoD点播、互联网浏览、电子邮件、多种在线信息咨询、游戏、个人视频录制、电子商务、VOIP、即时通信IM等。P2P技术在网络电视领域中更是如鱼得水,主要体现在以下几方面:
(1)文件交换,资源共享:在传统的WEB方式中,实现文件交换必须要通过服务器,通过把文件上传到某个特定网站,用户再到该网站搜索需要的文件,然后下载,这种方式需要WEB服务器能够对大量用户的访问提供有效服务。而P2P模式下,用户可以从任何一个在线用户的计算机中直接下载,从而真正实现了个人计算机与服务器的对等。
(2)在线交流,即时通讯:通过使用P2P客户端软件,用户之间可以进行即时交谈,可以就网络节目进行讨论,从而实现实时互动。这样既增加了用户收看网络电视的积极性,又促进了媒体提供者和媒体消费者之间的互动。
(3)快捷搜索,对等连接:P2P网络模式中节点之间的动态而又对等的互联关系使得搜索可以在对等点之间直接地、实时地进行,既可以保证搜索的实时性,又超越传统目录式搜索引擎的深度、速度、幅度。
传统的流媒体服务大都是客户/服务器(C/S)模式如图二所示,即用户从流媒体服务器点击观看节目,然后流媒体服务器以单播方式把媒体流推送给用户。当流媒体业务发展到一定阶段后,用户总数大幅度增加,这种C/S模式加单播方式来推送媒体流的缺陷便明显地显现出来(如流媒体服务器带宽占用大、流媒体服务器处理能力要求高等),带宽、服务器等常常成为系统瓶颈,系统的可扩展性差。而通过P2P技术引入到流媒体传输中而形成的P2P流媒体技术,具有如下优点:首先,这种技术并不需要互联网路由器和网络基础设施的支持,因此性价比高且易于部署;第二,在这种技术中,流媒体用户不只是下载媒体流,而且还把媒体流上载给其他用户,因此,这种方法可以扩大用户组的规模,且更多的需求也带来了更多的资源。同时相对于互联网上众多计算机,P2P应用比其他应用要更多考虑那些低端PC的互联,它们不具备服务器那样强的联网能力,同时对于以往的P2P应用技术,现在的硬件环境已经更为复杂,这样在通信基础方面,P2P必须提供在现有硬件逻辑和底层通信协议上的端到端定位(寻址)和握手技术,建立稳定的连接。涉及的技术有IP地址解析、NAT路由及防火墙。目前互联网主要技术模式是S/C方式,此方式要在互联网上设置拥有强大处理能力和大带宽的高性能计算机,配合高档的服务器软件,再将大量的数据集中存放在上面,并且要安装多样化的服务软件,在集中处理数据的同时可以对互联网上其他PC进行服务,提供或接收数据,提供处理能力及其他应用。对于一台与服务器联机并接受服务的PC机来说,这台PC机就是客户机,其性能可以相对弱小。而P2P技术的特征之一就是弱化了服务器的作用,甚至取消服务器,任意两台PC互为服务器,同时又是客户机,即对等。
S/C方式造成互联网络上的集中,无论信息资源还是成本资源均向同一方向集中,这样的模式符合一对多、强对弱的社会关系形式,如政府对个人、对企业,大企业对小企业,学校对学生,企业对职工等等关系。虽然"客户/服务器"模型是目前互联网上占统治地位的计算模型,但从某种意义来说,P2P计算可以说是一种向传统互联网技术的回归,体现了互联网的本质,因为互联网最初的设计目标就是让网络上的计算机互相之间可以直接通信而不需要中介。
P2P直播的技术难点
目前结合P2P技术的IPTV业务应用已经有多种实现,然而P2P技术为IPTV业务实现带来灵活和高效率等优点的同时也带来一些问题,比如时延、网络不可控、可管理性差等问题,在IPTV业务中应用P2P技术必须要考虑和解决上述问题。P2P技术的基本理念就是对等,体现在应用中就是参与者不但接受服务而且提供服务(如:共享资源等)。另外该技术主要应用于互联网,同样具有互联网尽力而为的印迹,其本身并不考虑控制、管理等问题,而这些问题在电信业务应用中则是不可或缺的重要部分,因此在IPTV的内容分发系统中应用P2P技术就必须考虑和解决一些问题,包括:业务时延问题、网络不可控问题、ADSL节点上下行带宽不对称的问题、NAT/FW穿越的问题、安全性问题、可管理性问题。
(1)穿透防火墙配置:防火墙电脑超过了90%,如果让2台在防火墙后面的电脑能够实现P2P互联,这是一个技术的难点。有两种方式:一是要求用户配置TCP端口:BT和电驴采用的方式,配置需要网络专业知识。一般做法是通过在防火墙上开启TCP端口来实现,如果开启了端口或者本身有Internet IP地址的,为高联通性电脑;在防火墙内并且没有开启TCP端口的电脑,为低联通性电脑。高联通性电脑可以和其它的高联通性电脑已及低联通性电脑进行P2P;而低联通电脑只能和高联通性电脑进行P2P。因此在BT、电驴中,有Internet IP或者已及在防火墙上开启端口的电脑速度很快,而在防火墙后面的电脑(一般为局域网上网方式)就比较慢了。而通过局域网方式上网的电脑超过70%,如果没有网络基础,或者没有网管特殊配置,只能处于低联通性,速度慢。二是防火墙自动穿透。无需用户配置,自动让两台在防火墙后面的电脑能P2P互联。P2P连接可以使用TCP和UDP两种方式。而Tvkoo是使用UDP进行数据传送的,因此不会有TCP限制。
(2)用户时延:用P2P技术实现IPTV业务的内容分发实际上也是一种应用层组播方式,也就是在各个Peer上实现的组播,由于P2P方式的内容分发每个内容切片往往要经过多跳才能到达请求端,因此这种方式必然会带来时延的叠加效应,即离根节点越远的用户时延越大。
(3)网络拓扑不可控:用户加入、退出P2P网络有一定的随意性、偶然性。P2P网络的拓扑不可控,具有随机的动态变化的特点,如果不采取其他补偿措施,必然会导致IPTV业务的服务质量无法得到有效保障。针对此问题补偿的办法有:路由备份,即为用户请求的每个时间段的流文件切片都提供至少两条路由,当其中一条路由中断时,能迅速切换到其他可选路由继续下载所需的文件切片,以保证流文件在观看过程中的流畅性。内容本地缓存技术,也就是在用户正式播放流文件前,在其终端预先缓存一定时间长度的流文件片段,从而为观看过程中的业务抖动留出处理时间,并使用户能够顺序观看。
(4)上、下行带宽不对称:P2P网络具有异构的特点,也就是实际的用户终端能力和网络能力都不尽相同,特别是随着宽带用户逐渐的增加,而ADSL网络用户占宽带用户很大的比例。ADSL网络上下行带宽不对称的特点对于P2P技术应用的影响比较大。即使在网络条件比较好的情况下,一个ADSL用户的上行带宽可能也无法满足其它用户的媒体接收速度,这样造成接收者带宽的浪费,同时接收媒体的质量低,会严重影响用户体验。既然无法改变大多数宽带用户采用ADSL网络的现状,就只能通过其他办法来解决这一问题,可行的方法有:接收者同时选择几个ADSL用户的发送者,根据不同的发送者的上传速度,在各个发送者之间进行平衡。根据不同的用户带宽来提供变码率的媒体编码技术,目前MPEG-2、MPEG-4、MPEG-7以及H.264等主流的高压缩率的编码技术都支持变码率的编码技术。这样可以为不同带宽的用户提供最合理的服务质量,只是实现的复杂度稍高。