文档库 最新最全的文档下载
当前位置:文档库 › P2P技术原理及应用

P2P技术原理及应用

P2P技术原理及应用
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]。

2 P2P技术应用现状

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

(1)分布式科学计算

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

世界最著名的P2P分布式科学计算系统非“SETI@home”项目莫属。SETI@home项目(简称为S@H或SETI),由美国加利福尼亚大学伯克利分校在1999年发起,是至今最成功的分布式计算项目。SETI@home

通过分析从射电望远镜传来的数据来搜寻地外文明,这在不少科幻迷甚至是很多普通大众眼里都是一个“很酷”的应用。SETI的早期版本截至2005年已经吸引了543万用户,分析了大量积压数据。正如宇宙的浩瀚一般,需要计算的数据(即存在宇宙空间的无数无线电信号)也是海量的。可以说,这几百万台终端组成了一个目前最快的高性能计算机都望尘莫及的“超级计算机”。

(2)文件共享

要问一百个网友目前中国最流行的文件下载方式,恐怕99个都会回答是“BT”。“BT”是

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

BitTorrent是一种无结构的网络协议。除了BitTorrent之外,还有不少著名的无结构化的P2P文件共享协议,典型的有Gnutella[8]和KaZaA[6]。

Gnutella协议是一种最典型的完全分布式、无等级结构的P2P网络模型。网络中的节点随机连接若干个其他节点,称之为“邻居”。这种结构能够很好地适应P2P网络中节点频繁加入与离开的动态特性,因为任意一个节点都可以被新加入的节点作为“邻居”而连接,任意一个“邻居”也可以随意地离开网络。同时,这种加入节点和离开节点的选择是节点间的独立行为,随机分布于网络之中。所以说Gnutella的网络具有健壮性、实时性、可靠性、负载平衡等优势。

在Gnutella网络中存在以下问题:

冗余消息多,对带宽的消耗存在一定的浪费。Gnutella网络协议采用泛洪式(Flooding)消息传播机制,这种消息传播机制产生了呈指数级增长的冗余消息。据统计,P2P软件白天占Internet上运行带宽的40%~70%,晚上有时能达到80%。

搜索效率低,可扩展性差。Gnutella网络的搜索协议将所有资源与节点统一对待,没有考虑节点的性能差异,也没有利用查询成功的历史经验,使得搜索效率低下。

KaZaA协议中节点大体上也是无结构连接的。但是在KaZaA协议中存在一种“超级节点”。这种“超级节点”其实是来源于各个普通的客户端节点,但它们一般具有计算能力强、接入带宽大、在线时间稳定等特点。在KaZaA协议中,超级节点承担着部分服务器的任务,如管理部分普通节点,负责搜索消息的转发等。每一个节点上线后会寻找一个超级节点挂靠,并和原先挂靠在该超级节点下的其他普通节点随机相连,组成一个小的无结构网络。普通节点的共享文件索引汇报给所挂靠的超级节点。因而,KaZaA网络大

体上可以看作是两层的无结构网络,上层是超级节点组成的无结构网络;下层是普通节点组成的多个无结构网络,按所挂靠的超级节点分成多个簇。当普通节点发起文件搜索请求时,将请求消息发给所挂靠的超级节点,超级节点从自己存储的共享文件索引信息中查找区域内符合条件的文件,同时将搜索请求转发给若干个其他超级节点,由它们返回其区域内搜索结果。如果需要,这个转发过程可以执行多步以获得更大范围内的搜索结果。这样的混合式结构对异构的终端节点“分而治之”,可以充分利用一些能力较强的终端节点来担任“小”服务器的角色,可谓是“人尽其才,物尽其用”。

除了这些无结构的P2P文件共享协议之外,几乎所有的DHT网络都可以并已经用来实现文件共享的应用,如Chord、Pastry、KAD、CAN等应用。

(3)流媒体直播

曾经人们以为P2P做文件共享最合适,但现在大家发现P2P模式是如此适合于流媒体直播,以至于研究热点在很短的时间内迅速转移到P2P的流媒体上来。中国最早的P2P流媒体直播软件应该算香港科技大学计算机系研究的Coolstreaming[5]、华中科技大学集群与网格计算湖北省实验室研究的AnySee[9]以及清华大学的Gridmedia等系统。

Coolstreaming是一款基于网状无结构网络拓扑的流媒体直播软件,中文名叫做“酷流”。在Coolstreaming中,每个节点通过登录服务器(BS)进入网络,并得到一些邻居列表。每个节点和邻居之间共享媒体数据。Coolstreaming中节点共享媒体数据是基于一种称作“数据驱动”的机制。首先,对于节点缓冲区内所拥有的数据,使用一种“缓冲映射表”(Buffer Map)来进行标记:对于每一秒的媒体内容,如果节点已经从节目源或邻居处获取,则标记该秒数据为“1”,否则标记为“0”。这样,一个80秒长度的缓冲区就对应一个80位长度的缓冲映射表。其次,节点之间以“心跳”(Heartbeat)方式定期交换各自的缓冲映射表,通过比对得到自己没有而邻居拥有的数据位,然后根据数据调度算法,选择合适的邻居,请求得到相应的数据。Coolstreaming采取全网状结构组织网络中的节点,每个节点连接20个左右的邻居,在定期交换缓冲映射表的同时,还要交换自己的邻居列表。这样,在一个邻居离开时,可以从它最近提供的邻居列表中选择一个连接数没有达到上限的邻居作为“替补”邻居进行连接。最早期的Coolstreaming 是采取随机选取邻居的策略,即从BS上随机返回一些当前在线的节点列表,然后随机从中选择一些节点进行连接,在选择“替补”邻居时也是随机的。这样做同时又可以达到一定程度的负载平衡效果,因为每个节点连接的邻居数基本是均匀的。但是这样做的缺点也是明显的,两个距离很远、连接很差的节点也可能被调度成为邻居,大大影响的系统的服务质量。

华中科技大学集群与网格计算湖北省重点实验室是中国最早研究P2P流媒体直播的小组之一,它所研发的AnySee软件期望能够使得用户在网上任何时候任何地点都能观看多媒体直播节目。

AnySee的第一个版本基于树状结构:节目源是一个多播树的根节点,之后的节点被调度为其“儿子”或子树。每个节点向其父节点索要数据,并将数据提供给多个子节点。这样的结构可以使得节点快速加入到网络中,并且可以根据IP邻近原则构建起一棵IP多播树,使得节点加入位置都是和自己IP邻近的节点,从而优化服务质量。之后AnySee推出第二个版本,结合了原有的树状结构和流行的网状结构,使得“控制数据走树,媒体数据走网”,既能帮助节点快速定位到加入点,又能实现一定程度的负载均衡,并缓解了原有纯树状结构中底层节点和顶层节点之间播放时差较大的问题。最近的AnySee版本已经取消了树的结构,演化成了优化的网状结构(如图2所示),即每个节点维护一定数量的邻居成员,并从中选出最合适的“伙伴”节点与之交换数据。伙伴的数量既有上限又有下限,在不满足下限时,节点会不断寻找新的合适节点加入伙伴列表;在达到下限时,节点停止主动寻找伙伴的过程,但可以接受其他节点将其加入伙伴列表的请求;在达到上限时,节点不再和新的节点建立伙伴关系。

除了学术界对P2P流媒体直播的研究外,中国还涌现了很多成功的P2P流媒体直播商业产品,如PPLive、PPStream、沸点和TVAnts等,其中以PPLive最为有名。PPLive目前拥有数百个频道,在2006年“超级女声”决赛期间,频道观看人数达到十万人,可以说是把P2P发挥到了极限。此外,国外也有不少对P2P 流媒体直播的研究,如SplitStream[10]等。

(4)流媒体点播

由于观看直播节目时用户不能选择观看指定片段,所以在人们热烈研究P2P流媒体直播时,已有人开始将目光转向P2P流媒体点播服务。目前成功推出P2P流媒体点播的机构还不多,典型的有GridCast[11]系统、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[12]即是一款典型的P2P VoIP软件。Skype由于能够提供清晰的语音质量和免费的服务,使用起来又方便快捷,所以吸引了全球数千万的用户,每天在线用户达500万人,并且注册用户数每天增加15万。基本上,Skype采取类似KaZaA的拓扑结构,在网络中选取一些超级节点。在通信双方直连效果不好时,一些合适的超级节点则担当起其中转节点的角色,为通信双方创建中转连接,并转发相应的语音通信包。

(6)网络游戏平台

大型网络在线游戏和网络对战游戏是不少“网虫”的至爱。但由于服务器能力有限,大型网络在线游戏往往需要限制场景人数或者不断增加服务器,而网络对战游戏也必须局限在局域网内进行或者依赖独立

的服务器端程序及机器实现Internet上的电子竞技。目前,已有研究人员将P2P技术引入网络游戏和网络游戏支撑平台中。

目前较为成功的P2P游戏平台是华中科技大学集群与网格计算湖北省重点实验室推出的PKTown[13]系统。PKTown系统是一个支持多种网络对战游戏的P2P平台。P2P网络对战游戏平台的难点在于将严格延时约束的节点聚集在一起,这由对战游戏本身要求所决定:延时是影响对战游戏用户体验的关键因素。在众多在线用户中,如何将新加入用户调度到周围都是延时邻近的环境中去呢?PKTown也是采取GridCast中出现过的指数增长的同心圆环方式,很好地解决了这个问题。

PKTown不需要改变游戏本身的代码,而是将用户和Internet邻居组建成一个虚拟局域网,将游戏发出的通信包截获后负载上虚拟局域网的地址,转发出去,游戏进程接收到之后认为是来自同一局域网的游戏包,则可以正常进行游戏。目前PKTown支持魔兽争霸、星际争霸和反恐精英几款游戏,已经在高校范围内进行公测,并成功举办华中科技大学第三届Race War游戏大赛,用户反应良好。

3 结束语

自P2P技术从1999年出现之后,现在已经发展繁荣起来。前文中提到的很多技术都已经趋近成熟,如拓扑构建和内容分发等相关技术。由于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]

相关文档