`
gaojanpingu
  • 浏览: 1477 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

视频P2P的应用

阅读更多
1 P2P技术原理
      P2P应用软件主要有:文件分发软件,如BitTorrent、eMule;语音服务软件,如Skype[6];流媒体软件,如PPLive。目前P2P应用并没有统一的网络协议标准,种类多、形式多样,其体系结构和组织形式也在不断发展。

1.1 P2P的体系结构
      P2P应用按照它的体系结构,可以分成3代,如图1所示。

      第1代P2P应用的是集中控制;第2代P2P是一种完全的无中心的分布式网络;第3代P2P是一种混合式的体系结构,同时具备前两代体系结构高效性和容错性的优点。

1.2 P2P网络的组织结构
      P2P网络的组织结构是P2P体系结构的具体实现。P2P网络在本质上是无结构,无集中控制的分布式系统,节点通过自组织的Overlay网络(覆盖层网络)来实现文件分发、流媒体以及语音等服务。Overlay网络的组织方式可以分为有结构和无结构两种[7]。有结构的P2P Overly网络是指Overlay的网络拓扑相对固定,内容的存放也相对有序。有结构的P2P Overly网络通常使用分布式哈希表(DHT)来实现,文件存放的位置由文件的唯一标识符决定。无结构的Overlay网络通过一些松散的规则组织在一起,其文件的存放也表现出很大随机性。

1.2.1 有结构的Overlay网络
      有结构的Overlay网络也有很多种不同的实现方法,比较著名的有结构的Overlay网络包括Chord[8]、CAN[9]、Pastry[10]、eCAN[11],下面对Chord的工作原理进行简单介绍。
Chord的原理如下:

      节点在逻辑上按照标识的大小组成一个环,数据同样有标识并且存放在和自己标识最近的节点上。当在某一个节点上输入查询请求的时候,如果节点的标识小于数据的标识,则向该节点知道的下一个节点请求文件,下一个节点如果拥有该文件则返回结果,否则按前面的方式继续转发给下一个节点。其中每个Chord节点只需要知道关于部分节点和到达它们的路由信息。Chord路由查找过程有两个重要特性:每个节点都只需要知道一部分节点的信息,而且离它越近的节点,它就知道越多的关于它们上面的数据信息;每个节点的路由表只有部分节点的路由信息并且不能确定任意一个关键字的确切位置,只能知道下一跳的节点。图2所示为Chord节点维护的指针表,其中N 4代表第4个节点。

1.2.2 无结构的Overlay网络
      典型的无结构的Overlay网络如Freenet[12]、Gnutella[13]、FastTrack[14]、KaZaA[15],下面简单介绍一下Gnutella的工作原理。

      Gnutella是一种非集中控制的协议,Gnutella被广泛使用并且有很多新的改进。Gnutella的特别之处在于它的分布式的文件定位和响应方法,图3所示为Gnutella文件的定位方法。由于数据的查询不依赖于任何有结构的拓扑结构,其查询的方式只能把请求广播到所有邻近的节点(Peer),相应节点响应消息,之后下载所需的文件。这种网络的突出优势在于良好的健壮性和可扩展性,明显的缺点在于会带来很大的查询消耗。一个节点想要加入Gnutella的网络,首先连接一些全局的可以连接的节点,一旦建立连接,节点以广播的方式通告给其他的存在。开始每一个消息被赋予一个唯一的随机产生的标识,其他节点记录到该节点的路由信息,用来防止重新广播和后向传播。广播消息通过生存时间(TTL)和经过的跳数来控制消息泛洪的范围。节点之间通过周期性的类似Ping机制的消息维护彼此的连接,每个节点建立的连接都根据本地信息来选择。最新的Gnutella引入了超级节点的概念用来提高路由查找的效率。但是由于网络本身的自组织特性使得这种超级节点的部署优势不能充分的发挥。


2 P2P流量特性
      据统计,P2P应用已占运营商业务总量的60%~80%,已经成为网络带宽的最大消费者,对底层网络造成了巨大的影响。

2.1 P2P流量产生的影响
      P2P网络的发展首先对于个人用户接入网络的性能提出了更高的要求。由于P2P流量特征具有上下行流量对称的特性,这使得直接面向用户的接入网络需要相应提高所能承载上行流量的能力。对大型的企业用户,其关注目标是网络的可控性以及安全性。P2P相对随机的端口号,使得企业难以对内部的网络实行有效地监测和管理,加大了日常维护的难度。对于ISP,P2P应用的影响不仅增加了网络升级的难度,同时也将降低了网络的总体性能以及P2P本身的服务质量。用户可以选择高带宽接入以正常使用各种P2P应用,企业用户可以通过谨慎的企业内部安全规范的制订来保证网络的正常使用,而ISP成为P2P应用产生流量的最终承担者,设备升级速度加大,维护费用升高。有效识别和管理网络中的P2P流量成为ISP最为关心的问题。

2.2 P2P流量特性
      P2P的流量呈现出与传统流量不同的特性,P2P应用所产生的流量具有分布非均衡的特性、上下行流量的对称特性、流量的隐蔽性、数据集中性等。

      P2P流量的分布具有明显的非均衡特性,在网络中,大部分节点的数据流量都是从为数很少的一些节点获取。文献[16]对该流量分布的非均衡性做了比较详细的研究。文章认为,P2P中服务提供者的价值不应该只以高的链路带宽来刻画,还应考虑节点的可用时间。在实验结果中,系统只有20%的主机拥有93%以上的实际在线时间。不到20%的P2P节点拥有80%以上的P2P网络在线时间。而正是这些少数的长时间在线主机贡献了网络中的主要流量。文献[17]中的研究结果表明,研究者可通过仅仅监测网络中1%的节点来达到了解整个P2P网络中80%以上流量的目的。

      P2P流量还表现出上下行流量的对称性。在文献[16]中对上下行流量的对称特性进行了详细的研究,通过对P2P上下行流量比较得出结论,具有高带宽的用户通常会以更长的时间为其他的节点提供下载服务,上下行对称流量已经成为P2P网络流量区别于其他流量的主要特征。

      P2P流量还具备很强的隐蔽的特性,它们通常使用随机端口或用户自定义端口,无法通过简单的端口识别P2P流量,目前常用的方法是通过特征码检测的方式识别P2P流量。P2P应用的特征码处在不断变化之中,加深了P2P流量的这种隐蔽特性。此外,对P2P节点之间传输文件的研究中发现,80%以上的P2P流量都是在不断地重复传播几个用户乐于获取的热点文件,这种热点文件的存在影响了P2P网络中的传输效率,针对P2P网络传输数据的高集中性,研究者提出了一系列包括文件缓存在内的解决方案。P2P数据的集中性,已经成为网络服务提供商控制P2P域间流量以及提高P2P服务质量的基本理论依据。

3 典型P2P应用的机制分析
      分析典型的P2P应用机制可以深入了解P2P的原理。本节将对文件分发、流媒体应用、语音服务3个领域中具有代表性的软件机制进行详细的分析。对于这些软件的分析有助于理解P2P技术的原理和把握P2P技术未来发展的趋势。

3.1 BitTorrent
      BitTorrent软件用户首先从Web服务器上获得下载文件的种子文件,种子文件中包含下载文件名及数据部分的哈希值,还包含一个或者多个的索引(Tracker)服务器地址。它的工作过程如下:客户端向索引服务器发一个超文本传输协议(HTTP)的GET请求,并把它自己的私有信息和下载文件的哈希值放在GET的参数中;索引服务器根据请求的哈希值查找内部的数据字典,随机地返回正在下载该文件的一组节点,客户端连接这些节点,下载需要的文件片段。因此可以将索引服务器的文件下载过程简单地分成两个部分:与索引服务器通信的HTTP,与其他客户端通信并传输数据的协议,我们称为BitTorrent对等协议。BitTorrent软件的工作原理如图4所示。BitTorrent协议也处在不断变化中,可以通过数据报协议(UDP)和DHT的方法获得可用的传输节点信息,而不是仅仅通过原有的HTTP,这种方法使得BitTorrent应用更加灵活,提高BitTorrent用户的下载体验。

3.2 eMule
      eMule软件基于eDonkey协议改进后的协议,同时兼容eDonkey协议。每个eMule客户端都预先设置好了一个服务器列表和一个本地共享文件列表,客户端通过TCP连接到eMule服务器进行登录,得到想要的文件的信息以及可用的客户端的信息。一个客户端可以从多个其他的EMule客户端下载同一个文件,并从不同的客户端取得不同的数据片段。eMule同时扩展了eDonkey的能力,允许客户端之间互相交换关于服务器、其他客户端和文件的信息。eMule服务器不保存任何文件,它只是文件位置信息的中心索引。eMule客户端一启动就会自动使用传输控制协议(TCP)连接到eMule服务器上。服务器给客户端提供一个客户端标识(ID),它仅在客户端服务器连接的生命周期内有效。连接建立后,客户端把其共享的文件列表发送给服务器。服务器将这个列表保存在内部数据库内。eMule客户端也会发送请求下载列表。连接建立以后,eMule服务器给客户端返回一个列表,包括哪些客户端可以提供请求文件的下载。然后,客户端再和它们主动建立连接下载文件。图5所示为eMule的工作原理。


      eMule基本原理与BitTorrent类似,客户端通过索引服务器获得文件下载信息。eMule同时允许客户端之间传递服务器信息,BitTorrent只能通过索引服务器或者DHT获得。eMule共享的是整个文件目录,而BitTorrent只共享下载任务,这使得BitTorrent更适合分发热门文件,eMule倾向于一般热门文件的下载。

3.3 迅雷
      迅雷是一款新型的基于多资源多线程技术的下载软件,迅雷拥有比目前用户常用的下载软件快7~10倍的下载速度。迅雷的技术主要分成两个部分,一部分是对现有Internet下载资源的搜索和整合,将现有Internet上的下载资源进行校验,将相同校验值的统一资源定位(URL)信息进行聚合。当用户点击某个下载连接时,迅雷服务器按照一定的策略返回该URL信息所在聚合的子集,并将该用户的信息返回给迅雷服务器。另一部分是迅雷客户端通过多资源多线程下载所需要的文件,提高下载速率。迅雷高速稳定下载的根本原因在于同时整合多个稳定服务器的资源实现多资源多线程的数据传输。多资源多线程技术使得迅雷在不降低用户体验的前提下,对服务器资源进行均衡,有效降低了服务器负载。

      每个用户在网上下载的文件都会在迅雷的服务器中进行数据记录,如有其他用户再下载同样的文件,迅雷的服务器会在它的数据库中搜索曾经下载过这些文件的用户,服务器再连接这些用户,通过用户已下载文件中的记录进行判断,如用户下载文件中仍存在此文件(文件如改名或改变保存位置则无效),用户将在不知不觉中扮演下载中间服务角色,上传文件。

3.4 PPLive
      PPLive软件的工作机制和BitTorrent十分类似,PPLive将视频文件分成大小相等的片段,第三方提供播放的视频源,用户启矾PPLive以后,从PPLive服务器获得频道的列表,用户点击感兴趣的频道,然后从其他节点获得数据文件,使用流媒体实时传输协议(RTP)和实时传输控制协议(RTCP)进行数据的传输和控制。将数据下载到本地主机后,开放本地端口作为视频服务器,PPLive的客户端播放器连接此端口,任何同一个局域网内的用户都可以通过连接这个地址收看到点播的节目。图6所示为PPLive的工作原理示意图。

3.5 Skype
      Skype是网络语音沟通工具。它可以提供免费高清晰的语音对话,也可以用来拨打国内国际长途,还具备即时通讯所需的其他功能,比如文件传输、文字聊天等。Skype是在KaZaA的基础上开发的,就像KaZaA一样,Skype本身也是基于覆盖层的P2P网络,在它里面有两种类型的节点:普通节点和超级节点。普通节点是能传输语音和消息的一个功能实体;超级节点则类似于普通节点的网络网关,所有的普通节点必须与超级节点连接,并向Skype的登陆服务器注册它自己来加入Skype网络。Skype的登陆服务器上存有用户名和密码,并且授权特定的用户加入Skype网络,图7所示为Skype的体系结构[18]。


      Skype的另一个突出特点就是能够穿越地址转换设备和防火墙。Skype能够在最小传输带宽32 kb/s的网络上提供高质量的语音。Skype是使用P2P语音服务的代表。由于其具有超清晰语音质量、极强的穿透防火墙能力、免费多方通话以及高保密性等优点,成为互联网上使用最多的P2P应用之一。

4 P2P未来发展和展望
      P2P技术不断地改变着互联网,用户无疑是P2P技术的最大受益者。在P2P技术的发展道路上,仍然有许多尚待解决的问题。

      版权问题一直是P2P发展的一个不确定因素,如何在技术层面支持合法文件的分发是需要解决的重要问题。安全问题也是P2P领域的重要研究课题,如何在P2P网络中实现数据存取安全、路由安全、用户身份认证和身份管理都需要进一步研究。如果能够实现P2P应用之间的统一资源定位,统一路由,使得P2P技术有一个统一开发标准,将能够融合P2P技术,提升整体性能。

      如何有效管理P2P应用所带来的巨大流量是网络运营商面对的重大课题,如何通过缓存或者流量工程的方法,减少P2P流量对网络本身的影响,同时利用P2P技术优化网络性能,比如,将P2P覆盖网络路由的优点引入到传统的网络路由中,可以实现更好的负载均衡,并利用P2P技术提供流媒体等新的增值服务。实际上,P2P技术的发展为运营商提供了可以在低成本的条件下提供更好服务的可能途径。
分享到:
评论

相关推荐

    基于P2P的视频传输技术研究与应用

    本文首先阐述了P2P网络的概念和流媒体技术的发展趋势,分析了传统视频传输应用系统的不足,结合现代视频术、通信技术及P2P网络的技术特点,提出了基于P2P网络的视频传输系统方案。其次,针对影响视频传输实时性的...

    p2p的一些例子...

    p2p的一些例子

    P2P视频直播数据调度算法

    P2P 技术解决了传统流媒体应用中的不能支持大用户的问题。而数据调度算法一直是P2P 研究中的热点问题。在给出了P2P 视频直播系统中节点能力的定义和计算方法后,结合BT 中的Rarest First 策略,提出了一种基于节点...

    基于P2P流媒体的网络视频系统设计

    瓶颈等问题,提出基于P2P流媒体的网络视频系统设计方案。方法 将对等网络( P2P)理论应用 到流媒体系统中,采用混合网络模式,运用应用层组播技术和区域自治思想构建组播树,根据实际 情况对组播树进行动态调整,采用适合...

    适用于3G网络的P2P视频共享应用研究

    适用于3G网络的P2P视频共享应用研究 适用于3G网络的P2P视频共享应用研究 适用于3G网络的P2P视频共享应用研究

    P2P视频中间件组件

    P2P视频中间件组件,可以用作底层应用。

    P2P网页版视频聊天室

    Feelink依存于web网页,无需下载插件,可实现低延时高清的音视频直播体验,还可应用于移动终端,为互联网运营商低成本构建音视频直播平台提供了核心解决方案。 该技术市场巨大,可广泛应用于教育、娱乐、客服等各个...

    P2P网络技术原理与系统开发案例

    基础理论部分介绍P2P网络的基本概念、网络结构、主流P2P应用系统架构,使读者掌握P2P相关基础理论。P2P技术关键问题部分论述了网络穿越、安全通信等P2P网络设计的关键问题,为后续的开发过程扫除障碍。系统设计与...

    P2P与组播结合实现高质量IP视频直播承载

    由于P2P是一种应用层的技术,而组播主要是网络层的技术,我们设计了一个P2P环境下的组播传输系统,很好地解决了高带宽IP视频直播目前的问题。本技术方案解决了P2P与组播在承载高带宽IP视频直播方面不尽人意的地方中...

    《P2P技术揭秘P2P网络技术原理与典型系统开发》(管磊 编著)

    《P2P技术揭秘:P2P网络技术原理与典型系统开发》从理论到实践,从基础到项目,循序渐进地讲解了P2P技术的基本知识体系,同时配合开发案例引导读者进行P2P应用实战开发。书中对每一个知识点、原理思想、应用方法及...

    Java P2P技术内幕PDF+源代码

    本书从理论到实践,从基础到项目,循序渐进地讲解了p2p技术的基本知识体系,同时配合开发案例引导读者进行p2p应用实战开发。书中对每一个知识点、原理思想、应用方法及实例都进行了深入浅出的阐述和分析,力求让读者...

    《P2P网络技术原理与C++开发案例》(张文、赵子铭 主编)

    C++开发案例篇介绍了P2P应用开发的两个平台,然后针对5个具体的P2P系统进行了详细的系统介绍和源码分析,包括P2P文件共享系统、P2P即时通信系统、P2P流媒体系统和P2P视频点播系统。 ——《豆瓣读书》

    P2P穿透软件免费可用

    免费开放的P2P穿透软件,真正的点到点通信,在任何网络环境都可以使用。...应用示例有:外网访问内网OA网站、FTP、数据库、远程桌面、SSH访问LINUX、金碟、管家婆、视频监控、摄像头、C/S架构应用、UDP应用等所有应用。

    P2P流媒体技术在视频博客系统中的应用研究.pdf

    名称:P2P流媒体技术在视频博客系统中的应用研究 格式:.PDF 来源:互联网

    论文研究-P2P在线视频研究综述.pdf

    虽然P2P技术在文件共享和IP语音等方面的应用已经基本趋于成熟,但其在在线视频领域的应用尚处于起步 阶段,还面临着许多需要解决的问题。对P2P在线视频进行了全面而深入的分析,首先介绍了网络广播分类及 体系结构...

    VChat:P2P视频通话应用

    P2P视频通话应用 运行应用程序的步骤: 在 Android Studio 中安装 apk 或导入项目并运行 在登录屏幕上输入您的姓名 在第二台设备上执行步骤 1 和 2 连接的设备将出现在 UserListActivity 中 在任何一台设备上点击...

    基于端口特征的P2P应用识别方案 (2013年)

    为了使网络管理员能更好地监控和管理P2P流量数据,分析了运行不同P2P应用时的主机行为特征,...实验结果表明,该方案能有效地识别节点主机运行的不同的P2P应用,尤其对于视频类P2P应用的识别准确率可以达到99.91%。

    音视频-编解码-隧道技术在P2P通信中的研究与应用.pdf

    音视频-编解码-隧道技术在P2P通信中的研究与应用.pdf

Global site tag (gtag.js) - Google Analytics