Lect7_p2p_architecture(0505)-2软件体系结构-PPT讲稿-汉语稿.ppt

Lect7_p2p_architecture(0505)-2软件体系结构-PPT讲稿-汉语稿.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lecture 8. P2P架构 P2P概述 带有目录服务器的P2P架构 纯粹的P2P架构 - Gnutella 非结构化的层次纯P2P架构 JXTA-P2P Protocol 传统C/S架构存在的问题 问题1: 难于从巨量WEB资源中发现有价值的信息 问题2: 互联网未被有效利用 问题3: 服务器过载 问题4: 可靠性 传统client/server架构 P2P 架构 什么是Peer-to-Peer(P2P)? P2P计算通过在各客户端直接通讯实现计算机资源的共享 这些资源可能是 交换信息, CPU处理周期, 缓存 文件等 P2P架构的优点 能使普通计算机利用多台计算机协同工作而获得更强的计算能力 P2P中的客户端同时也是服务器端 传统意义上的服务器端负载降低了 客户端通过目录服务器(Directory server)交互 发送请求: Client A向目录服务器发出请求 发现伙伴节点(peers). 目录服务器维护客户端列表,并从中找到含有请求资源的客户端,并告知Client A 开始交互.Client A 然后直接与含有请求资源的其他客户端交互,上图中,Client D拥有Client A请求的资源. 纯P2P架构的特点 各节点既可作为服务器端又可作为客户端 没有中央目录服务器 有两种路由结构 分布式目录 直接发送消息 Gnutella介绍 最初由21岁的 Justin Frankel创建的Nullsoft公司在2000年3月在互联网发布 后被AOL收购 目前已停止运行,转而作为开源软件对外发布 Gnutella目前已成为一种P2P协议 是三大互联网文件分享系统之一,其他两者为 BitTorrent eDonkey 2000. Gnutella协议的发现及执行过程: 【连接到P2P网络】节点A 首先连接到网络. 【发现P2P节点】在网络上广播Ping数据包给临近的P2P节点 【节点回应】接收到Ping数据包的节点返回Pong数据包进行应答,应答信息包括IP地址、端口号及可共享文件数目 【发送Query询问信息】 节点A向找到的其他节点发送所需文件的询问信息,询问信息包含文件信息和最小要求的链接速度. 【Query信息应答】 能够提供服务的节点应答Query信息,包含匹配的文件列表、每个文件的大小及链接速度 【上载文件】能够提供服务的节点使用Push消息将文件发送给节点A 注意: 为了接入P2P网络,一个节点应该知道已经在线的其他节点的IP地址 某节点一旦接入,它将宣布自己已经在线 其他的节点则进行回复,回复信息包含文件的数量及其他细节 某节点为其他节点提供文件共享服务,则该节点将以类似Web服务的方式工作 下载共享文件的节点将以类似浏览器连接Web服务器的方式工作 Gnutella协议的特性: 可靠性:某一个节点出现问题,整个网络不受影响. 开放性:允许交换任何类型的文件 匿名性:该协议是您名的,不需要提供任何名字或邮件地址 资源共享性:提供了资源共享机制. 参数TTL (Time to live): 该参数决定了一个特定的请求在网络上的存活期,该参数是请求所经过的节点数量 某查询请求不能保证一定被满足,因为能够提服务的节点可能在查询范围之外 某查询请求不能保证一定被满足(能够提服务的节点可能在查询范围之外) 纯P2P架构的局限性 连接不稳定 由于没有一个节点知道整个网络的结构,搜索是以泛洪的方式进行,这种方式将消耗大量的带宽并很快造成网络拥塞,从而导致网络不稳定,甚至使得整个网络不稳定 服务发现限制 查询会遇到范围小的困难,例如设置 TTL=10 系统易受垃圾信息及病毒的恶意攻击 纯 P2P 架构存在的问题(Gnutella V0.4) 采用泛洪机制,网络搜索量大 对于大的网络,搜索应答率比的越来越底。 为此,需第3代P2P架构出现(Gnutella V0.6) 引入层次的概念,通过将节点分为超级节点和叶子节点形成两层架构 叶子节点(leaf peer) : 仅连接到超级节点 在查找过程中的责任 向连接的超级节点发起查询 接受来自超级节点的查询请求 向超级节点应答查询请求 超级节点(supper peer) : 可依据自身的能力连接多个叶子节点,作为叶子节点的代理 连接到其他超级节点 在查找过程中,超级节点的责任 向连接的叶子节点和超级节点转发查询请求 在超级节点网络中,也采用泛洪机制转发查询请求也具备叶子节点的功能,也可发起查询请求 什么是JXTA? 是SUN公司为建立P2P通用技术基础而定义的一组开放协议,该协议允许各种网络设备,如计算机、传感器、智能手机等,作为P2P节点进行通讯。 作为P2P计算的编程平台,提供了一组协议和一套API,用于创建客

文档评论(0)

东山书苑 + 关注
实名认证
内容提供者

业务以学生学习成长为中心,为外语培训、中小学基础教育、学前教育,提供各种学习资料支持服务。

1亿VIP精品文档

相关文档