论文部分内容阅读
随着计算机技术、多媒体技术和宽带接入技术的不断发展,传统的文字通信和简单的语音通信已经不能满足大家的需求,基于语音视频的多媒体通信成为网络研究的热点,是未来通讯的发展趋势。由于音频视频数据量大,传统的基于服务器和客户端的设计模式,需要消耗大量的网络带宽,给中心服务器带来很大的负载压力。新兴的P2P对等网络技术改变了传统的网络状态,允许终端用户间直接搜索和资源共享,充分利用网络中其它节点的计算能力,减轻了服务器的负担,充分利用网络带宽,改善了网络传输环境。在网络上实现音视频实时传输需要相关的技术支持,包括音视频快速捕捉技术、音视频编码技术、数据压缩技术和网络传输技术等。通过对相关技术的研究,对开发流媒体应用软件具有重要的意义。在P2P网络结构中,如何准确地定位节点,实现点对点的通信是非常重要的。目前有多种协议可以完成对等节点的发现。例如Gnutella、BitTorrent以及PNRP(对等名称解析协议)等。PNRP协议是由微软公司设计的基于IPv4和IPv6的点对点协议,主要适用于Windows应用程序。PNRP提供了安全灵活的动态名称注册和名称解析协议,PNRP协议与传统的名称解析系统大不相同,它为P2P应用程序提供了新的可能。
本文利用微软公司开发的PNRP协议,在P2P对等网络中真正实现端到端的通信,同时解决了NAT技术对P2P应用程序带来的障碍,给开发P2P应用软件提供了新的解决方法。采用DirectShow技术处理音视频通信模块,采用G.729、H.264压缩标准分别实现音频和视频数据的压缩,利用IP组播技术实现组播组中的信息共享。本文是在Visual Studio.NET2008开发环境下,采用C#语言实现了一个基于局域网对等网络中的语音视频通信、文本消息聊天,文件传输、群发消息等功能的一个系统原型。