什么是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等主流的高压缩率的编码技术都支持变码率的编码技术。这样可以为不同带宽的用户提供最合理的服务质量,只是实现的复杂度稍高。
(5)NAT/FW穿越:同样,在实际网络中部署的大量NAT和防火墙设备是P2P技术应用时不得不考虑的,基于P2P的内容分发过程也必须要穿越NAT和防火墙设备才能保证IPTV业务的正常提供。常用的穿越NAT的方法有很多,可分类如下:需要修改NAT设备(ALG)、需要修改client(STUN、TURN、ICE)、需要修改Server(SBC)、需要修改NAT和client(RSIP、NSIS)、需要修改NAT和Server(Midcom)、需要修改client和增加设备(代理)。在IPTV的应用中,P2P方式的通信信令要穿越NAT/FW有下面几点考虑:NAT/FW后的用户共享的资源属于低优先级资源,只有在公网上相同资源紧缺时,才考虑将其提供给其他用户使用;私网用户向公网用户申请资源前,需主动用其接收服务端口向提供服务者发包,以在NAT/FW上建立映射关系;当用户向私网用户请求服务时,可采用ICE的方式确定最佳路径。
(6)网络安全性: P2P网络中大量的交互在用户之间完成,欺骗、伪装相对比较容易。从安全角度考虑,系统有必要记录下参与交互的双方用户的身份,当发生危及系统安全的事件时,追究相关用户的责任。为此,首先需引入认证机制,在客户登入P2P网络时,鉴定其身份的合法性,用户注册时,服务器向用户颁发一个以服务器私钥签名的证书,证书中包括用户名与公钥等信息。下次用户登录时不仅提供用户名与密码,还会提供服务器签名的证书,更加保证了用户身份的安全;其次用户双方交换信息前也需要互相认证对方的身份。
(7)网络可管理性:传统P2P网络是一种自治的网络,节点加入、退出P2P网络,注册、搜索、请求资源都不需要中心服务器的参与。这一方面降低了组网的成本,另一方面也带来了管理的难度,P2P网络的运营者很难管理整个网络和单个节点。在IPTV业务中应用时,则必须要解决P2P网络可管理性差的问题,为此,可以考虑在网络的关键部位布置一定的中心服务器,负责网络的管理工作,这样虽然在一定程度上增加了成本,但是必须要在成本和可管理性两者之间进行必要的权衡。尽管P2P技术在IPTV这样的要求可运营可管理的电信业务中应用时存在着很多需要去解决的问题,但是这些问题并不能掩盖P2P技术所固有的优势,在设计和构建基于P2P的IPTV业务系统时,综合考虑上述问题,不但可以在一定程度上克服这些问题,而且还可以在降低成本的同时为IPTV业务带来更多更灵活的业务形式。另一方面,P2P技术有着坚实的用户需求基础,需求决定存在。无论是互联网业务还是电信业务,个性化和多样化是其发展的必然趋势,也是大多数用户的共同需求,P2P技术的应用正好能够促成这两点。
在未来的宽带业务中,特别是音视频业务中,P2P技术可望有广泛的应用。目前,宽带音视频业务发展受限的一个很重要的原因是业务网系统的价格高,无论是视频点播业务系统、视频会议系统、远程教学系统等,建设系统的花费昂贵。由于系统的建设成本高,用户承受不起导致业务开拓受阻,因此大大降低业务系统的建设成本非常关键,P2P技术合理应用有可能是建设投资下降一个数量级,从而有可能极大的推进宽带业务的商业化进程。 P2P流媒体发展如此迅速,目前,诸如CoolStreaming、PPLive等P2P流媒体软件吸引了大量的用户,显示出了巨大的生命力。尽管P2P流媒体系统的设计方面仍存在一些需要解决的问题,但其优越性仍然引起了许多研究部门以及商业机构的重视,随着运营商的加入,P2P流媒体的研究势必取得更大的进展并将更加广泛地应用于商业领域。(作者单位:国家广电总局广播电视监测中心201台)