完美作业版P2P技术原理及其应用

完美作业版P2P技术原理及其应用
完美作业版P2P技术原理及其应用

P2P技术原理及其应用

姓名:

班级:

学号:

联系电话:

P2P技术原理及其应用

【摘要】P2P主要指计算机之间以对等方式形成的网络连接,弱化或完全取消了服务器的作用。本文从P2P的基本概念入手,分析了P2P技术目前的发展现状,并列举了现今P2P的主要应用。

【关键字】P2P 原理技术特点应用

1 P2P技术的基本概念

1.1什么是P2P

P2P是peer to peer的缩写,中文译名为点对点技术,又称之为对等互联网络技术。在P2P网络中各个节点被称为peer(对等体)。P2P是一种网络模型,在这种网络中所有的节点是对等的(称为对等点),各节点无主从之分,具有相同的责任与能力并协同完成任务。对等点之间通过直接互连共享信息资源、处理器资源、存储资源甚至高速缓存资源等,无需依赖集中式服务器或资源就可完成。

1.2 P2P的发展历史

最初的P2P 应用大约产生于20年前,并且其中的许多至今仍然被使用。尽管这些早期应用的核心就是P2P,但由于大多数的使用者并未感觉或接触到,因此通常并不认为它们是P2P 技术。

P2P并非一种全新的技术。虽然P2P 这个术语是现在才发明的,但P2P 本身的基本技术的存在时间却至少和USENET、FidoNet 这两种非常成功的分布式对等网络技术一样长,甚至更长些。关键在于,在最初的P2P 应用出现时,许多使用该技术的人们甚至不会使用计算机。

USENET 产生于1979 年,是一种分布式系统,能够为各个地方提供新闻组。USENET 最早的雏形由是两名研究生Tom Truscott 和Jim Ellis 实现的。当时并没有任何类似于互联网上“随选”信息的概念,文件只能通过电话线批量传送,且常常选在长途费用比较低的夜间进行。因此,当时的USENET 若采用集中式的控制管理方法将效率低下,自然而然地就提出了一种分散、分布式的管理方法。

早期P2P 应用另一个杰出的代表则是FidoNet。它和USENET 类似,也是一个分散、分布的信息交换系统。Tom Jennings 于1984 年创建了FidoNet 系统,来让不同BBS 系统

中的用户们互相交换信息。这种符合人们需要的技术,迅速成长起来,并一直沿用到今天。

P2P技术再次引起学术界及商界的重视,主要有以下两大因素的影响:一是用户的需求。随着因特网的逐渐普及并深入到人们的日常生活,人们需要更直接、更广泛的信息交流以实现更多的资源和服务共享;二是技术发展。首先是网络技术的发展,网络技术一方面促进Internet在全世界的普及,使越来越多的用户可以实现与Internet的连接,一方面又使Internet 接入速度和骨干网的带宽得以大幅度提高,为各种网络应用的发展创造了条件。其次是软硬件技术(特别是芯片技术)的发展,它们使得个人PC在计算能力和存储能力上有了极大提高,计算机性能的提高使各种网络终端具备了一定的网络服务能力,为P2P的应用创造了条件。最后是集中式网络模式所造成的带宽瓶颈以及网络稳定性等方面的问题,这些都迫使人们开始寻求一些新的网络应用模式。其次的是,Napster,我们一定要记住这个名字,就是它让P2P回到了人们的视野之中,让P2P回到了舞台的中央。Napster是一个美国大学生编写的音乐共享软件,开创性地在互联网上推出了音乐交换服务。利用它,用户可以搜索、下载彼此计算机里存储的MP3文件。由于这种方式免费而且方便,所以在短短的时间内Napster 就产生了巨大的影响力。但免费下载歌曲触犯了版权法,所以也是在短短的时间内Napster 就被告上了法庭。如今,P2P文件共享产生的流量是今天因特网最大的单项流量,P2P技术也早已融入到我们的网络生活中。

1.3 P2P的基本原理

早期的计算机使用的是众多用户共享大型计算机,后来个人计算机得以发展,使得应用模式从集中走向了分布模式。在互联网上也存在着类似的情况,起先采用客户机(浏览器)-服务器方式,用户使用网站上集中的服务器,进一步将逐步发展为走向分布式,集中的服务器变成分布的,即每一个用户终端一个结点。结点既是客户机又是服务器,这就是P2P对等连接模式。

在P2P模式中,每一个结点可以存储内容,也拥有计算力。通过在互联网上对等连接这些结点,用户可以共享内容和计算力。以共享下载文件为例,在下载同一个文件的众多用户中,每一个用户终端只需要下载文件的一个片段,然后互相交换,最终每个用户都得到完整的文件,即实现了共享内容。网格就是一个共享计算力的例子。

实现P2P的第一步是在互联网上进行检索,找到拥有所需内容和计算力的结点的地址,第二步是通过互联网实现对等连接。为了充分发挥互联网无所不在的优势,P2P不能对互联网协议进行任何修改,因而解决的方法是在基础的互联网上架设一个P2P重叠网。

2 P2P的技术特点

2.1 P2P的结构体系

2.1.1 混合式P2P体系

“混合式”在这里指的是C/S与P2P的混合,它反映了网络工作模式从C/S到P2P的过渡。分布式的思想在混合式P2P网络中有着深层次的渗透。混合式P2P体系的典型代表是:P2P的网络的先驱Napster及采用了分片优化的BitTorrent。工作机制为:用户从服务器获得服务提供者的地址等相关信息,然后直接和服务提供者建立连接进行交互。

混合式P2P网络都采用混合式体系结构,即星形拓扑结构,服务器仍然是整个网络的核心。如下图1 Napster工作原理图:

以服务器为核心的混合式P2P网络,其容错性只在于服务器的故障概率,如果使用多台服务器组成机群,并且提供冗余、替代机制使得一台服务器发生故障时它的任务可以被其它服务器所分担,那么这样的系统容错性将会非常高。然而,增加、升级服务器的支出通常非常昂贵,因此这种增加混合式P2P网络容错的方法不实用。混合式P2P网络的自组织、自适应基本上依靠服务器的监控,用户之间的协作建立在服务器监控之上,因此只要服务器正常工作,网络和结点信息就能得到有效地维护。混合式P2P网络可以提供匿名性,学术界也提出了不少实际可行的以服务器为核心的匿名方案,但出于简单、高效的考虑,目前的混合式P2P网络基本不提供匿名性。Napster是第一代P2P网络的代表,但它留下了许多缺陷。在其基础上,后来的混合式P2P网络都采用了一些增强机制来提高网络的效率,如BitTorrent 提供文件分片机制,限定用户在下载的同时必须上传以杜绝自私结点的存在,这些都提高了网络工作效率,当然也增加了网络复杂性。另一方面,在安全上BitTorrent开始逐步采用一

些简单、有效的机制以防止常见的网络攻击。

2.1.2 无结构P2P体系

无结构的P2P完全实现了“去中心化”而走向了“边缘化”。“无结构P2P网络”的“无结构”是指覆盖网没有固定、严格的拓扑结构,而是一个随机生成、松散组织的普通图,理论上这张图可以是任何形状的。类似于今天的Internet,虽然无结构P2P网络的拓扑结构不严格遵守某种形状,但总是符合一定的规律——小世界模型(结点集群现象明显)或者幂律模型(是指网络中拥有连接数L的结点占网络结点总数的份额正比于L的负a次幂,a是一个取决于网络本身的常数因子)。后来的无结构P2P网络都发展成了基于超结点的双层拓扑结构,而超结点之间的连接方式往往也是符合上面两个规律。如下图2为Gnutella工作原理图:

幂律模型的一大特点就是对于随机结点失效的高容错性,因此无结构P2P网络也是高容错的。无结构P2P网络的自适应所要做的工作主要是检测自己的邻居是否还在线,因此只需要简单的PING消息探测就可以维持结点状态的更新,因此它具有较强自适应能力。如果采用单纯的洪泛法,网络难扩展;如果采用更好的方法去改造洪泛法,网络的可扩展性会变高。比如采用超结点路由的KaZaA,其网络结点数经常在300万左右,一样工作得很好。但是这种结构的P2P技术路由效率不高,可扩展性不高,数据无法准确定位。它在这三方面都无法和结构化P2P网络相比。

2.1.3 结构化P2P体系

结构化P2P网络是P2P领域的热点,其中比较经典的有Chord、CFS 、CAN 、Tapestry、OceanStore、Pastry、PAST、Kademlia、SkipNet等,它们分属于环形P2P网络、多维空间P2P 网络、超立方体P2P网络和混合式结构P2P网络。结构化P2P网络的最大特点在于它们都

有一个严格的覆盖网拓扑结构,其主要拓扑结构有:1)带弦环;2)多维空间;3)超立方体;4)蝴蝶形;5)de Bruijin图;6)CCC;7)其他形状(如跳表)。所有结构化P2P网络都使用散列表(DHT)来将结点、数据对象映射到覆盖网中。为了使这种映射唯一、均匀、随机,分布式散列表都是用安全的一致散列函数。由非结构化P2P的容错性与安全性可知,结构化P2P网络的容错及安全性都较差。

2.2 P2P技术的特点

P2P以其独特的技术特点,成为当今文件共享的理想平台。P2P的技术特点主要体现在以下几个方面:

(1)分散化:网络中的资源和服务分散在所有节点上,通过各个节点间的合作,直接在节点之间完成内容的传输和服务的实现,避免了中心存储和内容交换可能存在的瓶颈。

(2)可扩展性:在P2P网络中,节点在获取资源的同时也为其它节点提供服务。

(3)健壮性:P2P有很强的自适应性,天生具有耐攻击、高容错的优点。

(4)高性能/价格比:随着硬件技术的发展,个人计算机的计算和存储能力以及网络带宽等性能依照摩尔定理高速增长。采用P2P架构可以有效地利用互联网中散布的大量普通结点,将内容交换、计算任务或存储资料分布到所有结点上。

2.3 P2P技术的流量特性

前文中我们提到,P2P文件共享产生的流量是今天因特网最大的单项流量,下面我们就来分析P2P技术的流量特性。

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

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

(1)非均衡特性:在网络中,大部分节点的数据流量都是从为数很少的一些节点获取。文献[16]对该流量分布的非均衡性做了比较详细的研究。文章认为,P2P中服务提供者的价

值不应该只以高的链路带宽来刻画,还应考虑节点的可用时间。在实验结果中,系统只有20%的主机拥有93%以上的实际在线时间。不到20%的P2P节点拥有80%以上的P2P网络在线时间。而正是这些少数的长时间在线主机贡献了网络中的主要流量。文献[17]中的研究结果表明,研究者可通过仅仅监测网络中1%的节点来达到了解整个P2P网络中80%以上流量的目的。

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

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

(4)集中性:这个特性已经成为网络服务提供商控制P2P域间流量以及提高P2P服务质量的基本理论依据。

2.4 实现P2P标准化应用JXTA平台

JXTA是为了构建P2P网络而制订的一组协议,是处理构建P2P网络所碰到的问题的解决方法。JXTA致力于为P2P应用提供一个P2P平台基础。其中包括一系列独立于语言,平台和网络技术之外的协议(假设并不知道网络的下层实现)。这些协议解决了P2P应用的基本需求。协议的设计目标是简单并且低成本,引用JXTA目标声明的话就是“每一个设备都有一个数字心跳”(every device with a digital heartbeat)。

JXTA将会成为P2P应用的地层开发平台。现在的JXTA还处在初级阶段,未来它会逐渐成熟提供一个强壮的,可靠的框架给P2P计算。由于Java是构建异构环境下应用的首选所以它也是建立P2P应用的自然选择。目前JXTA的核心协议有:Peer Discovery Protocol(PDP)对等点发现协议;Peer Resolver Protocol(PRP) 对等点解析协议;Peer Information Protocol(PIP)对等点信息协议;Peer Membership Protocol(PMP)对等点成员协议;Pipe Binding Protocol(PBP)管道绑定协议;Endpoint Routing Protocol (ERP) 终点路由协议等。

3 P2P技术的应用现状

由于能够极大缓解传统架构中服务器端的压力过大、单一失效点等问题,又能充分利用终端的丰富资源,所以P2P技术被广泛应用于计算机网络的各个应用领域,如分布式科学计算、文件共享、流媒体直播与点播、语音通信及在线游戏支撑平台等方面。

(1)分布式科学计算

许多计算机的CPU资源并不是时刻保持峰值运转的,甚至很多时候计算机处于“空闲”状态,比如使用者暂时离开等情况。而P2P技术可以使得众多终端的CPU资源联合起来,服务于一个共同的计算。这种计算一般是计算量巨大、数据极多、耗时很长的科学计算。在每次计算过程中,任务(包括逻辑与数据等)被划分成多个片,被分配到参与科学计算的P2P 节点机器上。在不影响原有计算机使用的前提下,人们利用分散的CPU资源完成计算任务,并将结果返回给一个或多个服务器,将众多结果进行整合,以得到最终结果。

(2)文件分享

当下中国最流行的文件下载方式恐怕要算是“BT”了。“BT”是BitTorrent的简称,是一种依赖P2P方式将文件在大量互联网用户之间进行共享与传输的协议,对应的客户端软件有BitTorrent、BitComet和BitSpirit等。由于其实现简单、使用方便,在中国用户之间被广泛使用。BitTorrent中的节点在共享一个文件时,首先将文件分片并将文件和分片信息保存在一个流(Torrent)类型文件中,这种节点被形象地称作“种子”节点。其他用户在下载该文件时根据Torrent文件的信息,将文件的部分分片下载下来,然后在其他下载该文件的节点之间共享自己已经下载的分片,互通有无,从而实现文件的快速分发。由于每个节点在下载文件的同时也在为其他用户上传该文件的分片,所以整体来看,不会随着用户数的增加而降低下载速度,反而下载的人越多,速度越快。

(3)流媒体直播

我们以华中科技大学集群与网格计算湖北省重点实验室研发的AnySee软件为例来介绍基于P2P技术的流媒体直播。他们是是中国最早研究P2P流媒体直播的小组之一,期望能够使得用户在网上任何时候任何地点都能观看多媒体直播节目。AnySee的第一个版本基于树状结构:节目源是一个多播树的根节点,之后的节点被调度为其“儿子”或子树。每个节点向其父节点索要数据,并将数据提供给多个子节点。这样的结构可以使得节点快速加入到网络中,并且可以根据IP邻近原则构建起一棵IP多播树,使得节点加入位置都是和自己IP 邻近的节点,从而优化服务质量。之后AnySee推出第二个版本,结合了原有的树状结构和流行的网状结构,使得“控制数据走树,媒体数据走网”,既能帮助节点快速定位到加入点,又能实现一定程度的负载均衡,并缓解了原有纯树状结构中底层节点和顶层节点之间播放时

差较大的问题。最近的AnySee版本已经取消了树的结构,演化成了优化的网状结构(如图2所示),即每个节点维护一定数量的邻居成员,并从中选出最合适的“伙伴”节点与之交换数据。伙伴的数量既有上限又有下限,在不满足下限时,节点会不断寻找新的合适节点加入伙伴列表;在达到下限时,节点停止主动寻找伙伴的过程,但可以接受其他节点将其加入伙伴列表的请求;在达到上限时,节点不再和新的节点建立伙伴关系。

(4)流媒体点播

由于观看直播节目时用户不能选择观看指定片段,所以在人们热烈研究P2P流媒体直播时,已有人开始将目光转向P2P流媒体点播服务。目前成功推出P2P流媒体点播的机构还不多,典型的有GridCast系统、PPStream点播系统。GridCast也是一款由华中科技大学集群与网格计算湖北省重点实验室于2005年12月份成功研发并投入使用的对等视频点播系统,具有支持多人共享点播片段、跟踪(Tracker)服务器用户引导、环状结构内容组织等特点。由于一个点播频道的人数往往不会太多,所以在用户进行视频录放(VCR)操作时(即前后拖动播放点、暂停/继续播放等操作),能否快速将用户定位到观看该点节目的其他用户处就成了P2P 点播技术的关键。为了实现快速定位,GridCast中采取了一种同心圆环的媒体内容组织结构。在每一个节目频道里,媒体内容按指数递增的区间进行划分,例如一个一个半小时的电影节目,可划分成[0, 5]、(5, 15]、(15, 35]、(35, 75]和(75, END=90]几段,其单位为分钟。每个节点记录几个正在观看各个段之间内容的节点。这样,在和AnySee类似的网状结构中,可以定期交换这种分段记录,从而,在某个用户拖动观看点时,可以快速定位到相应段的记录节点处,并从这些节点当时所观看的区间内得到大量备用记录以请求该区间媒体数据。此外,GridCast还根据用户习惯对数据调度策略进行优化。

(5)IP层语音通信

IP层语音通信(VoIP)是一种全新的网络电话通信业务,它和传统的PSTN电话业务相比有着扩展性好、部署方便、价格低廉等明显的优点。在全球范围内的VoIP应用中,由于通信各方可能处于不同的网络状况下,所以采取少数几个服务器来进行话音包中转不仅存在压力过大的问题,还可能无法为指定通信双方提供满意的通话质量保证。所以采取P2P技术动态自适应地根据通信双方网络进行链路控制与消息转发是可行的解决方案。目前风靡全球的Skype即是一款典型的P2P VoIP软件。Skype由于能够提供清晰的语音质量和免费的服务,使用起来又方便快捷,所以吸引了全球数千万的用户,每天在线用户达500万人,并且注册用户数每天增加15万。基本上,Skype采取类似KaZaA的拓扑结构,在网络中选取一些超级节点。在通信双方直连效果不好时,一些合适的超级节点则担当起其中转节点的角色,为

通信双方创建中转连接,并转发相应的语音通信包。

(6)网络游戏平台

大型网络在线游戏和网络对战游戏是不少“网虫”的至爱。但由于服务器能力有限,大型网络在线游戏往往需要限制场景人数或者不断增加服务器,而网络对战游戏也必须局限在局域网内进行或者依赖独立的服务器端程序及机器实现Internet上的电子竞技。目前,已有研究人员将P2P技术引入网络游戏和网络游戏支撑平台中。

P2P技术还不成熟,限制其发展的因素主要有:版权问题、管理问题、安全性差、垃圾信息、带宽占用和盈利模式。但是其发展还是吸引了众多领域的高度关注。从商业应用来看,目前P2P业界存在两种趋势:扩张与合并。在学术领域,2001年提出的四大结构化模型:Chord、CAN、Tapestry和Pastry的经典地位并没有动摇,仍然被P2P的研究者广泛引用和分析。后几年设计的新型P2P模型如Kademlia、SkipNet,常数度模型如Viceroy、Koorde、Cycloid等,影响力不断扩大。从计算机领域的各大会议、刊物特别是P2P专业会议发表的论文来看,P2P的研究重点已经从核心机制逐渐转向增强机制,目前的研究热点集中在以下几个方面:P2P网络中的语义模糊查询、容错性、拓扑意识与一致性问题、声誉和安全性问题。除此之外,对于P2P模拟、仿真的重视程度也在日益增加。

4 结束语

自P2P技术出现之后,现在已经发展繁荣起来。前文中提到的很多技术都已经趋近成熟,如拓扑构建和内容分发等相关技术。由于P2P架构灵活,适用面广阔,所以将P2P应用到新领域的现象层出不穷,P2P的软件产品也如雨后春笋一般爆炸性增长。

通过本文的描述可以看出,P2P的基本原理是容易实现的,人们的研究方向也由基础架构的构建和维护及优化算法等桎梏中摆脱出来,开始深入到P2P技术的根本性问题中去。最新的研究成果表明,不少研究人员已经开始将重心转入到覆盖层网络的节点延时聚集研究、覆盖网之间(Inter-Overlay)优化研究、P2P支撑平台研究以及P2P安全方面的研究等方面。相信随着对P2P技术研究的不断深入,人们能够对P2P计算有一个更深入的认识并解决目前P2P领域中大部分科学问题。可以预见,P2P所带来的技术创新和应用创新还将继续。

流媒体技术的工作原理及应用和发展

流媒体技术的原理、应用及发展 一.流媒体 流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传 送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。这个过程的一系列相关的包称为“流”。流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体。所谓流媒体是指采用流式传输的方式在Internet播放的媒体格式。流式传 输方式则是将整个A/V及3D等多媒体文件经过特殊的压缩方式分成一个个压缩包,由视 频服务器向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备(硬件或软件)对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒 体文件的剩余部分将在后台的服务器内继续下载。 与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式不仅使启动 延时大幅度地缩短,而且对系统缓存容量的需求也大大降低。在网络上传输音/视频等多媒体信息目前主要有下载和流式传输两种方案。实现流式传输有两种方法: ?实时流式传输(Real-time streaming transport) ?顺序流式传输(progressive streaming transport)。 一般来说,如为实时广播,或使用流式传输媒体服务器,或应用实时流协议(RTSP)等,即为实时流式传输。如使用超文本传输协议(HTTP)服务器,文件即通过顺序流发送。采用哪种传输方法可以根据需要进行选择。当然,流式文件也支持在播放前完全下载到硬盘。 (1)实时流式传输 实时流式传输总是实时传送,特别适合现场广播,也支持随机访问,用户可快进或后退以观看后面或前面的内容。但实时流式传输必须保证媒体信号带宽与网络连接匹配,以便传输的内容可被实时观看。实时流式传输需要专用的流媒体服务器与传输协议。 (2)顺序流式传输 顺序流式传输是顺序下载,在下载文件的同时用户可观看在线内容,在给定时刻,用户只能观看已下载的部分,而不能跳到还未下载的部分。由于标准的HTTP服务器可发送 顺序流式传输的文件,也不需要其他特殊协议,所以顺序流式传输经常被称作HTTP流式 传输。 顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于这种传输方式观看的部分是无损下载的,所以能够保证播放的最终质量。但这也意味着用户在观看前必须经历时延。顺序流式传输不适合长片段和有随机访问要求的情况,如讲座、演说与演示;也不支持现场广播,严格说来,它是一种点播技术。 二、流媒体技术原理 流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用实时传 输协议/用户数据报协议(RTP/UDP)来传输实时数据。 流式传输的实现需要缓存。因为一个实时音视频源或存储的音视频文件在传输中被分解为许多数据包,而网络又是动态变化的,各个包选择的路由可能不相同,故到达客户端的时延也就不同,甚至先发的数据包有可能后到。为此,需要使用缓存系统来消除时延和抖动的影响,以保证数据包顺序正确,从而使媒体数据能够连续输出。

流媒体技术原理、发展及应用

流媒体的定义 流媒体是一种使音频、视频和其他多媒体元素在Internet及无线网络上以实时的、无需下载等待的方式进行播放的技术。流媒体文件格式是支持采用流式传输及播放的媒体格式。流式传输方式是将视频和音频等多媒体文件经过特殊的压缩方式分成一个个压缩包,由服务器向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必像非流式播放那样等到整个文件全部下载完毕后才能看到当中的内容,而是只需要经过几秒钟或几十秒的启动延时即可在用户计算机上利用相应的播放器对压缩的视频或音频等流式媒体文件进行播放,剩余的部分将继续进行下载,直至播放完毕。 这个过程的一系列相关的包称为“流”。流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体。流媒体技术全面应用后,人们在网上聊天可直接语音输入;如果想彼此看见对方的容貌、表情,只要双方各有一个摄像头就可以了;在网上看到感兴趣的商品,点击以后,讲解员和商品的影像就会跳出来;更有真实感的影像新闻也会出现。 流媒体技术发端于美国。在美国目前流媒体的应用已很普遍,比如惠普公司的产品发布和销售人员培训都用网络视频进行。 流式传输方式则是将整个A/V及3D等多媒体文件经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备(硬件或软件)对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。 流媒体技术原理 流式传输的实现需要缓存。因为Internet以包传输为基础进行断续的异步传输,对一个实时A/V源或存储的A/V文件,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据:通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。——流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。流式传输的过程一般是这样的:用户选择某一流媒体服务后,Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检

基于P2P技术的流媒体直播系统的研究与实现

基于P2P技术的流媒体直播系统的研究与实现 许统德 (广东农工商职业技术学院,广东广州511365) 摘要本文介绍了P2P技术和流媒体的技术框架,并对它们进行研究和分析,并在此基础上设计和实现了一个高质量的流媒体直播系统。 关键词P2P;流媒体;系统设计;系统实现 1引言 近几年来,随着网络技术和流媒体技术的发展,远程教学管理、视频聊天室、IPTV、视频会议等流媒体系统正在兴起或被广泛应用。然而,在当前的Internet上传输媒体并没有任何服务质量(QoS)的保证,并且实时媒体的传输有带宽,时延和丢包等问题的出现。另外,网络和终端的异构性使得带宽效率和服务的适应能力也有所下降。但是,随着P2P技术越来越被广泛研究和运用,这些问题都得到了解决。并且,P2P已经在分布式计算、网络游戏、文件共享、深度搜索、协同工作方面得到了广泛的应用[1]。因此,利用P2P技术进行实时的分发传输,便能充分利用客户端闲置的CPU、存储器、网络带宽等资源,减轻服务器和网络带宽负担,构建出一个成本低、扩展性好、并有一定QoS保证的流媒体直播系统。 2P2P技术 P2P(peer to peer)即对等计算或对等网络,通常简称为P2P,可以简单地定义成通过直接交换,共享计算机资源和服务[2]。P2P技术从根本上颠覆了C/S(Client/Server)这一传统模式。新的模式模糊了服务提供者与使用者的界限,甚至不再有传统意义上的服务器,服务提供者的作用大为减弱。P2P具有的自组织、容错性好、可扩展性强等优点使其在文件共享,流媒体技术,即时通讯等方面广泛应用[3]。 P2P网络按照集中化程度可以分为纯P2P和混合P2P两类:纯P2P网络完全没有中央服务器,通过基于P2P的客户端软件搜索网络中存在的对等节点,每个节点都是完全平等的,节点之间可直接建立连接,如Gmitella。 混合P2P网络设有中央服务器,它主要作为索引服务器。与C/S模式中的服务器不同,P2P网络中的索引服务器只记录内容的索引和节点的必要信息,辅助节点之间建立连接,而内容本身存储在节点中,内容的传送只在节点之间进行,不通过服务器。如早期的NaPster和现在的BT,eMule,QQ等。本文采用的就是混合P2P网络。 3流媒体直播技术 在流媒体的应用中,媒体经过压缩技术存在硬盘上,流媒体服务器接收客户端的请求,根据QoS的要求以及网络状况调整压缩的媒体流的参数(如比特率),然后流媒体传输层对其进行打包,通过P2P技术进行连续媒体分发,客户端接收到媒体流后,通过媒体同步技术进行播放。整个过程涉及到六个技术领域:媒体压缩技术,应用层的QoS控制,应用层组播技术,视频服务器技术,媒体同步技术和流媒体传输协议,彼此之间的相互转换传输如图1所示。

P2P技术原理

P2P技术 技术原理 什么是对等网络(P2P)技术?P2P技术属于覆盖层网络(Overlay Network)的范畴,是相对于客户机/服务器(C/S)模式来说的一种网络信息交换方 式。在C/S模式中,数据的分发采用专门的服务器,多个客户端都从此服务器获取数据。这种模式的优点是:数据的一致性容易控制,系统也容易管理。但是此种 模式的缺点是:因为服务器的个数只有一个(即便有多个也非常有限),系统容易出现单一失效点;单一服务器面对众多的客户端,由于CPU能力、内存大小、网 络带宽的限制,可同时服务的客户端非常有限,可扩展性差。P2P技术正是为了解决这些问题而提出来的一种对等网络结构。在P2P网络中,每个节点既可以从 其他节点得到服务,也可以向其他节点提供服务。这样,庞大的终端资源被利用起来,一举解决了C/S模式中的两个弊端。 对等网络的基本结构 (1)集中式对等网络(Napster、QQ) 集中式对等网络基于中 央目录服务器,为网络中各节目提供目录查询服务,传输内容无需再经过中央服务器。这种网络,结构比较简单,中央服务器的负担大大降低。但由于仍存在中央节 点,容易形成传输瓶颈,扩展性也比较差,不适合大型网络。但由于目录集中管理,对于小型网络的管理和控制上倒是一种可选择方案。 (2)无结构分布式网络(Gnutella) 无结构分布式网络与集中式的最显著区别在于,它没有中央服务器,所有结点通过与相邻节点间的通信,接入整个网络。在无结构的网络中,节点采用一种查询包的 机制来搜索需要的资源。具体的方式为,某节点将包含查询内容的查询包发送到与之相邻的节点,该查询包以扩散的方式在网络中蔓延,由于这样的方式如果不加节 制,会造成消息泛滥,因此一般会设置一个适当的生存时间(TTL),在查询的过程中递减,当TTL值为0时,将不再继续发送。 这种无结构的方式,组织方式比较松散,节点的加入与离开比较自由,当查询热门内容时,很容易就能找到,但如果需求的内容比较冷门,较小的TTL不容易找 到,而较大的TTL值又容易引起较大的查询流量,尤其当网络范围扩展到一定规模时,即使限制的TTL值较小,仍然会引起流量的剧增。但当网络中存在一些拥 有丰富资源的所谓的类服务器节点时,可显著提高查询的效率。 (3)结构化分布式网络(第三代P2P Pastry、Tapestry、Chord、CAN) 结构化分布式网络,是近几年基于分布式哈希表(Distributed

p2p流媒体技术及原理

1 P2P流媒体系统 1.1P2P流媒体系统播送方式 P2P流媒体系统按照其播送方式可分为直播系统和点播系统,此外近期还出现了一些既可以提供直播服务也可以提供点播服务的P2P流媒体系统。 1.1.1直播 在流媒体直播服务中,用户只能按照节目列表收看当前正在播放的节目。在直播领域,交互性较少,技术实现相对简单,因此P2P技术在直播服务中发展迅速。2004年,香港科技大学开发的CoolStreaming原型系统将高可扩展和高可靠性的网状多播协议应用在P2P直播系统当中,被誉为流媒体直播方面的里程碑,后期出现的PPLive和PPStream 等系统都沿用了其网状多播模式。 P2P直播是最能体现P2P价值的表现,用户观看同一个节目,内容趋同,因此可以充分利用P2P的传递能力,理论上,在上/下行带宽对等的基础上,在线用户数可以无限扩展。 1.1.2点播 与直播领域相对应,在P2P流媒体点播服务中,用户可以选择节目列表中的任意节目观看。在点播领域,P2P技术的发展速度相对缓慢,一方面是因为点播当中的高度交互性实现的复杂程度较高;另一方面是节目源版权因素对P2P 点播技术的阻碍。目前,P2P的点播技术主要朝着适用于点播的应用层传输协议技术、底层编码技术、以及数字版权技术等方面发展。 与P2P流媒体直播不同,P2P流媒体点播终端必须拥有硬盘,其成本高于直播终端。目前P2P点播系统还需在技术上进一步探索,期望大规模分布式数字版权保护(DRM)系统的研究,以及底层编码技术的发展能为P2P点播系统的实施铺平道路。 1.2P2P流媒体系统网络结构 目前存在很多P2P流媒体的研究成果及实际系统,它们在其覆盖网络的组织结构上可以被大体分成两大类,即基于树(Tree-based)的覆盖网络结构和数据驱动随机化的覆盖网络结构[1]。 (1)基于树的方法

流媒体 流媒体同步技术和流媒体关键技术解决

摘要 基于目前网络带宽的不断提高,流媒体技术的应用范围越来越广泛。本文首先介绍说明了流媒体的定义,分析了现有的几种流媒体格式,讨论了几种在流式传输中涉及到的协议(RTP、RTCP),对其原理做了深入的分析。在这之后介绍了利用Microsoft producer平台制作课件的过程以及Microsoft producer包括的内容、功能和特点以及实际应用作了详细的叙述,在压缩技术里边主要讨论了MPEG技术和REAL技术、此外还探讨了流媒体同步技术和流媒体关键技术解决问题等。最后对流媒体以后的发展趋势作了分析。在这次毕业设计的任务中,运用到了微软公司的Producer,PowerPoint,Windows Media Encoder,Windows Media Player 以及网页设计方面的软件,逐步架构起流媒体课件的制作过程。最终把基于流媒体技术的成品课件在网络上发布。 关键词:流媒体, Microsoft producer, MPEG, QoS,同步技术

ABSTRACT …… KeyWords:

目录 前言 ............................................................ I 1. 流媒体技术的现状与发展 .. (1) 1.1流媒体的发展过程 (1) 1.1.1 现有视频格式概述 (1) 1.1.2 VOD视频点播技术 (1) 1.1.3流媒体技术的出现 (1) 1.2流式传输的格式及特点 (1) 1.2.1流媒体能为我们做什么 (2) 1.2.2 流媒体技术、格式纵览 (2) 1.2.3流式视频格式 (2) 1.3 流媒体系统的组成 (2) 2. Microsoft Producer概述 (3) 2.1课件制作平台Microsoft Producer简介 (3) 2.1.1 Microsoft Producer更强大的视频、音频的集成优势 (3) 2.1.2 Producer包含的内容 (3) 2.2 Producer的功能 (3) 2.2.1 Producer的功能简述 (3) 2.2.2 Producer内置的Windows Media技术 (3) 2.3点播应用系统应用拓扑图 (3) 3. 流媒体应用的设计与同步 (4) 3.1应用流媒体技术进行设计的优点 (4) 3.2视频压缩的主要技术 (4) 3.2.1 MPEG压缩标准 (4) 3.2.2 REAL压缩技术 (4) 3.2.3 微软公司的压缩标准 (4)

P2P技术原理及应用

专题报告 项目名称:P2P 技术原理和应用课程名称:计算机网络A 班级:计102 姓名:张振孙可梅云成 教师:张晓明 信息工程学院计算机系 P2P技术原理及应用 1 P2P技术原理

什么是对等网络(P2P)技术?P2P技术属于覆盖层网络(Overlay Network)的范畴,是相对于客户机/服务器(C/S)模式来说的一种网络信息交换方式。在C/S模式中,数据的分发采用专门的服务器,多个客户端都从此服务器获取数据。这种模式的优点是:数据的一致性容易控制,系统也容易管理。但是此种模式的缺点是:因为服务器的个数只有一个(即便有多个也非常有限),系统容易出现单一失效点;单一服务器面对众多的客户端,由于CPU能力、内存大小、网络带宽的限制,可同时服务的客户端非常有限,可扩展性差。P2P技术正是为了解决这些问题而提出来的一种对等网络结构。在P2P网络中,每个节点既可以从其他节点得到服务,也可以向其他节点提供服务。这样,庞大的终端资源被利用起来,一举解决了C/S模式中的两个弊端。 P2P网络有3种比较流行的组织结构,被应用在不同的P2P应用中。 (1)DHT结构 分布式哈希表(DHT)[1]是一种功能强大的工具,它的提出引起了学术界一股研究DHT的热潮。虽然DHT 具有各种各样的实现方式,但是具有共同的特征,即都是一个环行拓扑结构,在这个结构里每个节点具有一个唯一的节点标识(ID),节点ID是一个128位的哈希值。每个节点都在路由表里保存了其他前驱、后继节点的ID。如图1(a)所示。通过这些路由信息,可以方便地找到其他节点。这种结构多用于文件共享和作为底层结构用于流媒体传输[2]。 (2)树形结构 P2P网络树形结构如图1(b)所示。在这种结构中,所有的节点都被组织在一棵树中,树根只有子节点,树叶只有父节点,其他节点既有子节点也有父节点。信息的流向沿着树枝流动。最初的树形结构多用于P2P 流媒体直播[3-4]。 (3)网状结构 网状结构如图1(c)所示,又叫无结构。顾名思义,这种结构中,所有的节点无规则地连在一起,没有稳定的关系,没有父子关系。网状结构[5]为P2P提供了最大的容忍性、动态适应性,在流媒体直播和点播应用中取得了极大的成功。当网络变得很大时,常常会引入超级节点的概念,超级节点可以和任何一种以上结构结合起来组成新的结构,如KaZaA[6]。

P2P流媒体技术在网络中的应用

33 《商场现代化》2009年2月(中旬刊)总第566期 商业科技 当今世界已进入了信息化时代,计算机技术和网络技术得到了突飞猛进的发展,与此同时,一个新的名词也出现在我们的视野当中,这就是P2P流媒体。而且它已经被广泛应用于我们信息服务的方方面面。 一、流媒体技术 1.流媒体概念 流媒体是指在网络中使用流式传输技术的连续时基媒体,如:视频、音频等文件。流式传输方式是将整个多媒体文件经过特殊的方式压缩分成一个个压缩包,由视频服务器向用户计算机连续、实时传送。在流式传输方式的系统中,用户不必以传统的下载方式那样等到整个文件全部下载完毕,而是只需经过数秒的启动延时即可在客户端利用解压设备对压缩的文件进行解压进而观看,此时这个文件的剩余部分在后台的服务器上继续下载,而用户在前台看不到,也不受它的影响,给人的感受就像读取自己的电脑硬盘数据一样。 2.流媒体的关键技术 流媒体有三个关键技术:数据压缩/解压缩技术,流媒体的网络传输和媒体文件在流式传输中的版权保护问题。其中数据压缩/解压缩技术又是重重中之重,是核心技术,流媒体的本质是媒体,流是媒体传递过程中的一种表现形式,和传统的传输方式相比,流媒体的关键是要降低文件的大小,使之能更容易在网络中传输。 3.流式传输的方法 目前,要实现流式传输有两种方法:实时流式传输(Realtimestreaming)和顺序流式传输(Progressive streaming)。实时流式传输通常用于在线直播和视频会议等方面;而顺序流式传输常用于网上办公等领域。 二、P2P技术在流媒体中的应用 1.P2P的概念 P2P在IT界最初的含义是Peer-to-peer(点对点),peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。P2P可以理解为对等联网。为了便于大家理解,我们用一个例子来说明:当我们通过QQ网上聊天的时候,信息传递的方式为:用户A—用户B。这就是典型的P2P应用。而当对方不在线时,信息会通过服务器中转,这就变成了传统的C/S模式。现在P2P已经被更广泛的理解为Pointer-to-Pointer, PC-to-PC等等。 P2P技术出现的时间并不长,但它的发展速度却很迅猛。它利用Internet中的各个节点进行对等计算,充分挖掘了Internet的空闲资源,在利用率、扩展性、容错等方面具有潜在的巨大优势,在文件共享、分布式计算、协同工作、Internet存储等方面已经取得了初步良好的应用。如Napster, Gnutella, Chord等。 把P2P引入到流媒体服务中,就可以充分发挥以往被忽略的众多客户机的作用,让客户端缓存一部分信息,充当一部分服务 器的功能,使服务分散化,从而减轻服务器的负载和网络带宽占用。基于P2P的流媒体技术是一项非常有前途的技术,该技术有两方面的优点: (1)不需要互联网路由器和网络基础设施的支持,因此性价比高且易于部署; (2)流媒体用户不只是下载媒体流,而且还把媒体流上载给其他用户。 因此,这种方法可以扩大用户组的规模,而且由更多的需求带来更多的资源。 三、P2P流媒体的应用 网络的迅猛发展和普及为P2P流媒体业务发展提供了强大市场动力,P2P流媒体技术的应用将为网络信息交流带来革命性变化。目前常见的P2P流媒体的应用主要有: 1.IPTV IPTV:Interactive Personality TV,即交互式网络电视,它是未来的家庭娱乐中心。它利用计算机或机顶盒+电视完成接收视频点播节目、视频广播及网上冲浪等功能,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。它采用高效的视频压缩技术,可以实现在因特网上视频直播、远距离视频点播,和传统的电视相比它的优势很明显,可以有接近DVD的收视效果,它能够很好地适应当今网络飞速发展的趋势,充分有效地利用网络资源。它既不同于传统的模拟式有线电视,也不同于经典的数字电视。 2.视频点播(VOD) 这是最常见、最流行的流媒体应用类型。 3.交互游戏: 需要通过流媒体的方式传递游戏场景的交互游戏近年来得到了迅速的发展。 四、P2P流媒体技术还存在一些亟待解决的问题 由于P2P流媒体系统中节点存在着不稳定性,因此P2P流媒体系统需要在文件定位技术、节点选择技术、容错,以及安全机制方面有所突破。此外在如何管理节点并建立发布树、如何应付不可预知的节点失效、如何适应网络状态变化方面也面临着一些挑战。 尽管P2P流媒体技术存在着这些问题,但其优势还是很明显的,相信在不久的将来,它必将有一个更快的发展,给我们的生活带来更大的便利。 参考文献: [1]史 红:谈流媒体技术的应用[J].科技信息(科学教研),2007,(28)[2]孙 凯 徐振宇 武鹏飞:流媒体技术原理与应用[J]. 2007, (01) [3]车 军:基于P2P的流媒体技术研究[J].计算机与信息技术,2007,(09) P2P流媒体技术在网络中的应用 岳海峰 河北外国语职业学院 [摘 要] 本文介绍了P2P流媒体技术的概念、发展现状、关键技术及传输方式。指出了P2P流媒体技术在IPTV、VOD及交互游戏等方面的应用和存在的问题与不足。 [关键词] 流媒体 P2P P2P流媒体应用

P2P技术原理及利弊

P2P技术原理及相关利弊 引言 P2P技术是近几年来发展较快的技术,它直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。人们可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。 1.P2P技术原理 P2P技术属于覆盖层网络的范畴,是相对于客户机/服务器(C/S)模式来说的一种网络信息交换方式。在C/S模式中,数据的分发采用专门的服务器,多个客户端都从此服务器获取数据。这种模式的优点是:数据的一致性容易控制,系统也容易管理。但是此种模式的缺点是:因为服务器的个数只有一个,系统容易出现单一失效点;单一服务器面对众多的客户端,由于CPU能力、内存大小、网络带宽的限制,可同时服务的客户端非常有限,可扩展性差。P2P技术正是为了解决这些问题而提出来的一种对等网络结构。在P2P网络中,每个节点既可以从其他节点得到服务,也可以向其他节点提供服务。这样,庞大的终端资源被利用起来,一举解决了C/S模式中的两个弊端。 P2P网络有3种比较流行的组织结构,被应用在不同的P2P应用中。 1.1分布式哈希表结构 分布式哈希表结构[1]是一种功能强大的工具,它的提出引起了学术界一股研究DHT的热潮。虽然DHT具有各种各样的实现方式,但是具有共同的特征,即都是一个环行拓扑结构,在这个结构里每个节点具有一个唯一的节点标识(ID),节点ID是一个128位的哈希值。每个节点都在路由表里保存了其他前驱、后继节点的ID。如图1(a)所示。通过这些路由信息,可以方便地找到其他节点。这种结构多用于文件共享和作为底层结构用于流媒体传输。 1.2树形结构 P2P网络树形结构如图1(b)所示。在这种结构中,所有的节点都被组织在一棵树中,树根只有子节点,树叶只有父节点,其他节点既有子节点也有父节点。信息的流向沿着树枝流动。最初的树形结构多用于P2P流媒体直播。 1.3网状结构 网状结构如图1(c)所示,又叫无结构。顾名思义,这种结构中,所有的节点无规则地连在一起,没有稳定的关系,没有父子关系。网状结构为P2P提供了最大的容忍性、动态适应性,在流媒体直播和点播应用中取得了极大的成功。当网络变得很大时,常常会引入超级节点的概念,超级节点可以和任何一种以上结构结合起来组成新的结构,如KaZaA。[1]

相关文档
最新文档