节点文献

P2P实时流媒体服务器的设计与实现

【作者】 彭麒菱

【导师】 卢光辉;

【作者基本信息】 电子科技大学 , 计算机软件与理论, 2008, 硕士

【摘要】 P2P流媒体技术是近年流行的网络多媒体传播技术。流媒体以其边播放边下载的特点,大大减小了等待时延,同时也降低了对系统缓存的需求量。随着Internet的普及和web访问的日益频繁,出现了视频点播VOD(Video On Demand)和实时流媒体传输服务。但这两种服务很多仍然以传统的客户端/服务器(C/S)体系结构为基础,这种体系结构下,所有用户的流媒体服务完全只由服务器提供,但随着用户的逐步增加,服务器的负载和压力也将急剧增加。在解决实时流媒体传输的问题上,许多研究者提出了IP组播技术,这个技术利用“一路发送,多路共享”的思想来减少数据包在网络中(IP层)的传输,从而减少网络带宽的耗用。但因为是基于IP层的组播,所以该技术必须要得到底层路由器的支持。可是基于简单原则和分层体系结构的要求,现实中很多路由器仍然不支持IP组播,因为这会增加路由器用于保存分组信息导致的额外性能开销,从而影响报文转发这个主流业务。为了解决该问题,出现了基于P2P技术的实时流媒体。它利用P2P系统的高容量、易扩展、廉价以及自组织等特点再与流媒体技术有机结合,从而得到了广泛应用,比如当前主流的QQLive,PPLive,UUSEE等。通过这种技术,可以大大缓解中心服务器的压力,并具有良好的服务和扩展能力。但是和普通的P2P应用不同,在流媒体技术中,实时性占据着很重要的地位,所以P2P流媒体技术需要更好地分割、快速重传丢失的资源来满足实时性的要求。本文描述的P2P实时流媒体系统由P2P实时流媒体服务器、TCP代理和P2P客户端构成。本文主要对P2P实时流媒体服务器的设计、实现和系统测试做较为全面的阐述。该服务器既是数据源又是资源索引服务器,它着重从资源管理的角度实现了流媒体数据的保存、分配和发送,并借鉴流媒体技术中的应用层组播模型以及NAT穿透模型来提供P2P的传输支持。同时,作为原始数据源,该服务器在多通道服务以及C/S和P2P混合传输的问题上也进行了有益的探索。该系统能够应用于许多场合,例如IPTV,视频会议,以及现场直播等实时性要求高的地方。

【Abstract】 P2P streaming technology developed quickly in recent years. Streaming technology can significantly reduce time delay and memory requirement for the whole media file need not completely download on the local disk when streaming media is played. As the Internet and web service become a commonplace, video on demand (VOD) and real time streaming services appear. Unfortunately, many streaming systems providing the above services still follow the traditional Client-Server(C/S) principle in which all the media service is provided by the server only. Under C/S architecture, the server’s overload would be worsened by more clients joint in system. Under this circumstance, taking the weak points of C/S into account, a number of researchers presented several solutions for real time streaming system, for instance, IP multicast. In IP multicast, the network keeps only one copy of data packet on IP layer of TCP/IP, each client requires the data that can get the copy without affecting the original one. However, this method does not get enough support from rooter for violating the principle of simplicity on IP layer.Considering the aspects above, the P2P-based streaming system comes into being. This kind of system absorbs the advantages of both P2P and streaming system. The high capacity of service, ease of scalability, lower price and self-organization, those features plus NAT enable the P2P-based streaming system widely used on Internet, such as QQLive, PPLive and UUSEE. Every client in the system can either be data supplier or data consumer, and it can even be the both which is decided by the node’s service capability and requirement on streaming media. In the same time, system’s real time feature is quite emphasized. The P2P real time streaming server described in this dissertation together with TCP agent and P2P client compose the P2P real time streaming system. This system introduces the mechanism of quick retransfer of lost data and proper partition of data piece in order to help meeting real time requirement.The main task in this dissertation includes the design, implementation and test of the P2P real-time streaming server. As the data source and allocator of P2P media, the system emphasizes the save, allocation and transmission of streaming media and it also makes a good attempt in combining transmission of C/S and P2P and it could be widely used in the high real time requiring place, such as video conference and live TV. In addition, the system also put NAT which is very common in P2P application into consideration.

【关键词】 P2P流媒体NAT
【Key words】 P2PStreamingNAT
节点文献中: 

本文链接的文献网络图示:

本文的引文网络