百科 > IT百科 > 综合 > 电子电路 > 正文

P2P IPTV技术瓶颈解决方法分析介绍【详解】

发布时间:2018-02-24 18:36

  宽带网络的蓬勃发展,造就Internet上许多热门的应用,其中透过实时视频传输(live streaming)之交互式网络电视(IPTV)应用,更是多方抢食的一块大饼。传统上在Internet提供电视广播服务是采用Client-Server架构,但随着使用人数的增加Server负载日益增大,服务供应者必须负担的成本会越来越高。而IPTV集宽带有线电视网,集因特网、多媒体、通讯等多种技术于一体,提供包括数字电视在内的多种交互式服务之崭新技术。

  随着Internet的使用人口增加,Client-Server架构所面临的问题日益严重,使得P2P(Peer-to-Peer)之技术逐渐被重视,P2P早期是应用在Skype语音对话以及BT档案传输上,而近一、二年利用P2P 提供网络电视之P2P IPTV系统亦从学术研究阶段进展到实际的服务平台。因此本文将针对P2P IPTV技术作一简单介绍。首先我们将先介绍P2P IPTV之系统架构以及现况,再针对现有技术之瓶颈,提供解决方法。

  P2P网络电视架构

  ● P2P live streaming

  P2P技术的主要概念是每个P2P的用户在应用层组成一个重迭网(Overlay Network),每个用户既是信息接收者亦是传送者。以BT共享下载文件为例,下载同一个文件的众多用户,每一个用户终端只需要下载文件的一个片段,然后互相交换,最终每个用户都可以得到所有片段以组合成一个完整的文件。此一P2P 架构的优点在于用户数增加时并不会同时增加伺服端的负载。

  我们以图一来说明P2P数据传递概念:第一步、每个用户跟Media Server 要求影音片段,有些片段在传输过程因某些原因而遗失了。第二步、左边的Peer 跟中间的Peer 要求它尚未收到的影音片段。第三步、中间的Peer 跟右边的Peer 要求它尚未收到的影音片段。第四步、右边的Peer 跟中间的Peer 要求它尚未收到的影音片段。最后,每个peer 都拥有完整的影音片段。

  然而要利用P2P 技术实现实时广播live streaming,例如看奥运实况转播则必须考虑影音数据传递的实时性。要达到此一功能,必须考虑三个问题:

  1.P2P重迭网(Overlay Network)

  连结算法

  Peer在Internet进行搜寻以找到拥有所需内容和计算能力的Peer IP;之后利用应用层群播协议(application layer multicast protocol) 建立用户连接网络架构。应用于P2P live streaming之网络最早为树状结构,每个Peer 从上层peer 接收数据然后传送给下层peer。

  2004年5月欧洲杯足球期间,香港科技大学张欣研博士在Planetlab网开发的CoolStreaming原型系统。这套系统使用Goosip协议在用户之间传播控制信令,实现多点对多点网状架构之live streaming 功能。

  2.视频片段传递排程算法

  为了提供实时广播,视频片段到达用户的时间便必须早于它的拨放时间。树状架构网络上Peer 只从上层peer 接收数据,其接收视频片段顺序即是拨出的顺序。但在多点对多点网状架构上,peer 可从多个sender peer 接收数据,因为peer 跟peer 间网络联机状况不同,因此先要求的视频片段不一定会早到。因此需要特别设计视讯片段传递排程算法以符合实时播放的要求。

  3.多重视频编码技术

  在多点对多点网状架构上视频片段可以从多个sender peer 来接收,举例若将影片作多重编码,2所示,一个视频片段被重新编码为12数据片段(data stream),若能保证peer收到其中任四个数据片段,即可重组回原来的视频片段,那此技术便可以应用于容易遗失封包的无线网络。另外像H264 的multiple description coding and layered encoding则可以应用在不同网络频宽下之用户终端装置,频宽大的用户终端(ex. xDSL)可以接收全部数据以取得较佳视频质量之影片,频宽小用户终端(3G) 只可以接收部份数据以取得基本视频质量之影片。

  P2P IPTV 现况

  P2P IPTV目前在中国发展最为蓬勃发展,目前有十多个网站使用各自发展的软件提供P2P IPTV业务。 主要 PPLive系统有:

  ● PPLive网络

  ● ppStream网络

  ● QQ直播网络

  ● 猫眼网络电视(猫扑网)

  ● TVKoo网络(沸点网络电视)

  ● Rox磊客网(原CoolStreaming、光芒传媒Roxbeam)

  ● Tvants网络(电视蚂蚁)

  ● Gridmedia网络(清华大学开发)

  ● Uusee网络(悠视网)

  ● Mysee网络(美视网)

  同时电信运营商也开始加入这一潮流,贵州网通采用上海网用公司的技术开展实验运营,另外上海电信也在实验。2005年湖南卫视超女总决赛,PPLive进行了网上直播,有50万人同时在线收看。

  在欧美,英国BBC在2004年开始即尝试在英国国内提供P2P IPTV服务给国内居民[1],您可上EBU technical review官网[4]以取得更详细的资料。另外去年Kazaa(2001年创立的P2P音乐分享网站)与Skype(2003年创立的P2P网络电话服务)的共同创办人Janus Friis与Niklas Zennstrom亦着手进行的P2P IPTV新计划(The Venice Project),现已改名为Joost,亦是许多使用者所期待新服务。

  P2P IPTV 瓶颈

  ● NAT

  随着因特网的普及,IPv4的32位寻址法已不敷使用,而NAT(网络地址转换Network Assess Traversal)技术的出现在某种意义上解决了IPv4地址不足的问题。NAT透过Private IP Address,让多个结点只用少数的Public IP Address就能连上Internet。当NAT内部结点往外连接时,会将该Private IP替换成Public IP,并将对应关系记录在NAT mapping table中。

  透过NAT连接时,对外隐藏了其内部结点结构,它只允许从内部发起的连接请求,也拒绝了所有不是由内部发起的外部连接,因为它根本不知道要把这个连接转发给内部的哪台主机,所以分处于NAT内外两端的Peers就无法做到P2P的服务。而如何做到NAT Traversal(NAT穿透)就成为提供完整P2P服务的当务之急。

  ● NAT-T

  P2P数据可透过UDP(非联机型Connectionless的非可靠传输协议)或TCP(联机导向Connection-Oriented的可靠传输协议),UDP已有STUN [RFC 3489]公定的解决方法。但规范严格的TCP目前尚未有好的解决方案,故本段将会针对TCP部分多所著墨。而穿透NAT分为两种情况,一、只有一端节点在NAT后,二、两端的节点分别在不同的NAT后。

  第一种情况我们可以采NAT后端节点主动式的方法解决,也就是由NAT后端的节点主动对外部节点发出需求,外部节点透过这一通道来建立联机的一种方式。但第二种就是比较棘手的情况了,最常见的方法是将数据经由第三者转传,但为了节省转传产生的负载及COST,我们期望找出一个可以让NAT后面的两个节点直接建立TCP连接的解决方案。

  目前康乃尔大学提出一个穿透不同NAT直接连接TCP的方法,被称为NUTSS [4]。NUTSS的目的是达到global connectively的境界,让所有在不同架构下的节点彼此之间都能够建立联机,不会因为在NAT后而受到影响。NUTSS使用STUNT(Simple Traversal of UDP through Nats and TCP)协议去开启NAT后节点的TCP连接。架构3,两个不同NAT后的节点在建立联机的初期,先透过第三者(在NTUSS里称之为tracker)协助建立联机,联机建立完成后,两个节点便可直接做数据的传输,不需再经过第三者转传。

  STUNT经过数次封包传输沟通得知另一端主机的IP、Port-binding机制、封包过滤规则(Packet filtering rule),进而调节达到Peer间直接联机。NUTSS有一个缺点,STUNT协议依靠于为了能够TCP连接的欺骗包,这包在真实的网络作了限制。协议为了TCP连接传送假的封包,这封包在真实的网络中是可能发生问题的。许多ISP作了进入过滤以防止欺骗包进入他们的网络,这将导致作者的协议失败。许多ISP作了过滤假封包进入他们的网络的限制,这限制将导致协议的失败。欺骗不能是真实连接主机的组成部分。

  结论

  P2P IPTV 提供一个在Internet上布署live streaming 之可行技术,营运商可以利用此技术降低Scale 及Cost的影响,目前已成为布署IPTV 的技术新趋势。但另一方面从ISP业者的角度来看,P2P IPTV却会增加其网络传输量甚至可能影响其它的数据传输,目前已有ISP业者着手设法阻挡P2P 的数据封包或是降低其传输优先权。另外对于现今有越来越多的网络使用者都隐藏在NAT或防火墙后,因此找出一个任何环境下都能直接建立TCP联机的方法,对于P2P的发展将有很大的帮助。