基于P2P的网络视频会议系统的设计方
来源:中国电子政务网 更新时间:2012-04-14

  摘要:该文先分析了P2P的工作原理,详细地对有NAT之时P2P如何穿越进了描述,再对现有的视频压缩技术进行阐述与对比,再应用P2P技术及服务器技术,详细地介绍了系统的设计方法与思路。

  关键词:P2P;视频会议系统;NAT

  中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)24-6645-03

  随着Internet技术的发展,家庭及企事业单位接入互联网已成为现实。互联网不仅使人类的视野得到了空前的扩大,同时也极大地缩短了人与人之间的距离。Internet正在向着更大的信息容量、更高的传输速率以及更快捷的资源检索等方向发展。利用Internet以后,人们不仅仅可以坐在家中或办公室里就知道天下之事,而且即使远离住所或办公地点,都可以通过Internet获知家中或者办公场所的有关情况。

  目前Internet是人类获得信息资源的一种廉价、快捷的方式,随着Internet相关技术、设施的不断完善,Internet正在向着更大的信息容量,更高的传输速率以及更快捷的资源检索等方向发展。网络流媒体和视频压缩技术的发展,使得Internet开始具有传输实时多媒体信息的能力。基于网络实时多媒体的各种应用开始成为研究的热门领域,相关的产品也逐渐进入人们生活。

  计算机技术的飞速发展,使得目前PC机性能越来越强大,可以完成复杂的任务。而传统Internet采用的是C/S模式,使得Client端的资源没有被充分利用,同时Server端又不堪重负,形成了网络边缘效应,影响Internet进一步发展。要解决网络边缘效应的问题,需要从根本上改变传统的C/S结构,建立一种Client之间身份平等、协同工作的网络模式。于是, Peer to Peer(P2P)进入了人们的研究视野。

  P2P是一种新的网络模式,系统内各个节点之间的身份平等,信息分布存储,节点之间协同工作。由于P2P系统节点之间可以直接交换信息,不仅可以大大减少网络延迟,而且可以提高整个系统的工作能力。目前,P2P主要用在分布存储、文件共享、即时通信等方面。

  1P2P的工作原理

  由于IPV4地址空间不足,现在大多数的企事业单位所获得的合法全局IP地址有限,而要上网的计算机数量又较多,目前使用得最多的技术就是NAT(Network Address Translation,网络地址转换),从理论上说,一个合法的全局IP地址可以使232台私有IP地址的主机通过NAT技术上互联网。NAT有两种典型的应用模式:一种是Basic NAT模式,只对IP地址进行转换,它的特点是一个全局IP地址对应一个私有IP地址的主机;另一种是NAPT模式(Network Address Port Translation),它是对整个会话的IP地址及端口号进行转换,它的特点是一个全局IP地址通过端口号不同,可以对应N台私有IP地址的主机。目前的网络中,由于合法全局IP地址有限,所以NAPT是应用得最多的工作模式。P2P是一个网络应用程序,那么P2P应用程序也就要涉及到如何穿透NAT网关的问题。目前常用的二种穿透NAT的方法为信息中继与反向连接法。注意:如果你的NAT设备只支持Symmetric NAT的话,你也就不用使用P2P流量限制了,因为P2P根本无法穿越Symmetric NAT。以下介绍的是常用的Cone NAT技术,这也是大多数网络设备使用的一种NAT技术。

  1.1 信息中继法

  信息中继是一种最可靠的方法,但同时又是效率最低的一种方法。它是采用信息中转 的方式来解决P2P应用程序节点之间建立连接的问题。设有两个节点A,B和一个有固定IP地址的服务器S,并且A和B都与S建立连接。S的全局合法IP地址设为61.1.1.1,端口号为1300,A,B在不同的NAT网关后面,A的私有转换关系为(192.168.1.100:4321,61.1.1.1:1300),公有转换关系为(218.1.1.1:62000,61.1.1.1:1300)。B的私有转换关系为(192.168.2.100:4321,61.1.1.1:1300),公有转换关系为(219.1.1.1:31000,61.1.1.1:1300)。转换关系如图1所示。现A想与B通信,首先利用A到S的session,把信息发送到S上面,经过A的NAT网关,把A的私有转换变换为公有转换,S收到信息后,把这个信息利用B到S的session向B发关,经过B的NAT网关把B的公有转换变换为B的私有转换,最后B在私有网络上收到该信息,实现了A与B之间的点到点通信。同理,B与A也是采用同样的方式进行通信。

  信息中继法实现点到点之间的P2P连接,要存在一个全局全法IP地址的服务器,如果这台服务器不存在,则无法建立P2P连接。这种方式主要用在要求集中控制节点通信的情况下,在实际的P2P应用中,用得比较少。原因是这台服务器S无法找到。

  1.2 反向连接

  在某些P2P应用程序中彩了一种更加直接有效的通信方式,如图2所示。这种方式称为反向连接技术,也有人称之为“穿洞”技术。常见的穿洞技术有“TCP穿洞”与“UDP穿洞”二种。由于TCP是面向连接的服务,实现穿洞技术难度大,目前使用最多的是“UDP穿洞”技术。

  在把向连接(Connection Reversal)里,为了建立起节点之间的连接,仍然需要一个具有合法全局IP地址的服务器S。如图2所示,A在NAT后面,A要与B之间建立连接,可以直接进行连接,因为对A的NAT网关来说是向外连接,是允许的。但是B不能直接向A发起连接,因为A的NAT网关会禁止这样的连接,B可以通过S通知A进行反向连接。A收到通知后,开始向B发起连接,于是在A的网关上打出了一个“洞”,此时B再与A进行通信,NAT网关就会以为这个通信是由内部发起的一个session的一部分,允许通信量通过。此时,A、B之间就可以通过NA关进行通信了。反向连接通信方式可以在主机之间建立连接,直接进行通信,大大减少了网络的时延。反向连接通信方式主要应用在对实时性要求较高、传输信息量较大的场合。

  2 视频压缩技术

  构建网络视频会议系统面临的另一个得要的问题就是网络带宽的限制。随着图像技术的发展,通过Internet已经可以传输各种实时多媒体信息,但是对视音频的压缩效率提出了很高的要求。目前对于视频压缩技术主要有MPEGX系列和H.26X系列,它们之间退有区别又有联系。

  2.1 MPEGX与H.26X的比较

  MPEGX系列编码标准是由ISP/IEC制定的,包括MPEG-1,MPEG-2,MPEG-4和MPEG-7标准,其中MPEG-4是具有高压缩比的视音频压缩标准。H.26X系列是由ITU-T视频强词夺理专家组制订的。包括H.262,H.262,H.263,H.263+以及H.264等,其中H.264是ITU-T制定的最新的视频压缩标准。单就视频压缩而言,二者具有一定的相似性。如MPEG-2标准与H.262标准相同,只不过是由不同的组织公布的而已。随着流媒体服务的兴起,ISO/IEC和ITU-T都注意到了网络视频压缩标准的重要性。于是在二者联合制定了H.264/AVC编码压缩标准(ISO/IEC组织内部称为AVC),同时ISO/IEC把h.264标准做为MPEG-4的第10部分写入标准。因此,讨论H.264与MPEG-4的差别,应是H.264与MPEG-4 Part2的差别。