Peer to Peer (P2P,对等网络) 综述
p2p对等通信方式的概念 -回复
![p2p对等通信方式的概念 -回复](https://img.taocdn.com/s3/m/ff0bcefefc0a79563c1ec5da50e2524de418d05c.png)
p2p对等通信方式的概念-回复P2P对等网络通信方式的概念在计算机网络中,P2P(Peer-to-Peer)对等通信方式是一种分布式网络体系结构,其中每个计算机在网络中充当同时作为客户端和服务器的角色。
这种通信方式将每个节点连接起来,形成一个对等网络,允许节点之间直接通信和共享资源,而不需要通过中央服务器。
P2P对等通信方式的概念源于对传统的客户端-服务器(Client-Server)模型的改进。
在传统的客户端-服务器模型中,客户端向服务器发送请求,并由服务器提供所需的资源。
这种模型的缺点是,服务器承担着大量的负载,当服务器崩溃或者连接中断时,整个网络服务也将受到影响。
P2P对等通信方式的优点在于,每个节点都可以独立地提供和请求资源,消除了单点故障的风险,并使网络更有弹性和可靠性。
此外,P2P 对等通信方式还具有更高的扩展性,网络的性能可以随着节点数量的增加而提高。
在P2P对等通信方式中,节点之间的连接是直接的,没有中央服务器的参与。
节点可以在加入网络时进行自动发现,或者通过中央节点提供的引导信息找到其他节点。
一旦节点建立了连接,它们可以通过直接交换数据进行通信。
节点之间的连接可以是点对点的,也可以形成多对多的连接,形成一个分布式网络。
P2P对等通信方式在许多领域都有应用。
最常见的应用之一是文件共享。
在P2P文件共享网络中,参与者可以共享和下载其他用户的文件,而不需要一个中央服务器来存储文件。
每个参与者都是网络的一部分,并且可以同时从其他参与者下载和上传文件。
P2P对等通信方式还广泛应用于实时通信和流媒体传输。
通过P2P对等通信方式,参与者可以直接与其他节点进行语音和视频通话,而不需要通过中央服务器作为中介。
这种方式提供了更低的延迟和更高的音视频质量。
在P2P对等通信方式中,节点之间的连接可以通过不同的方式实现。
其中一种方式是基于NAT穿越的连接。
由于使用了私有IP地址,许多节点都位于NAT(Network Address Translation)后面,这使得节点之间直接通信变得困难。
对等网络(P2P)总结整理解析
![对等网络(P2P)总结整理解析](https://img.taocdn.com/s3/m/1e743856f524ccbff0218459.png)
对等网络 (P2P一、概述(一定义对等网络 (P2P网络是分布式系统和计算机网络相结合的产物 ,在应用领域和学术界获得了广泛的重视和成功 ,被称为“改变 Internet 的新一代网络技术〞。
对等网络 (P2P:Peer to Peer。
peer指网络结点在 :1 行为上是自由的—任意参加、退出 ,不受其它结点限制 ,匿名 ;2 功能上是平等的—不管实际能力的差异 ;3 连接上是互联的—直接 /间接 ,任两结点可建立逻辑链接,对应物理网上的一条IP 路径。
(二 P2P网络的优势1、充分利用网络带宽P2P不通过效劳器进行信息交换 ,无效劳器瓶颈 ,无单点失效 ,充分利用网络带宽 , 如 BT 下载多个文件 ,可接近实际最大带宽 ,HTTP 及 FTP 很少有这样的效果2、提高网络工作效率结构化 P2P 有严格拓扑结构 ,基于 DHT, 将网络结点、数据对象高效均匀地映射到覆盖网中 ,路由效率高3、开发了每个网络结点的潜力结点资源是指计算能力及存储容量,个人计算机并非永久联网,是临时性的动态结点,称为“网络边缘结点〞。
P2P 使内容“位于中心〞转变为“位于边缘〞,计算模式由“效劳器集中计算〞转变为“分布式协同计算〞。
4、具有高可扩展性 (scalability当网络结点总数增加时 ,可进行可扩展性衡量。
P2P 网络中 ,结点间分摊通信开销 ,无需增加设备 ,路由跳数增量小。
5、良好的容错性主要表达在 :冗余方法、周期性检测、结点自适应状态维护。
二、第一代混合式P2P网络(一主要代表混合式 P2P 网络 ,它是 C/S 和 P2P 两种模式的混合 ;有两个主要代表 :1、Napster—— P2P网络的先驱2、BitTorrent——分片优化的新一代混合式P2P网络(二第一代 P2P网络的特点1、拓扑结构1 混合式 (C/S+P2P2 星型拓扑结构 ,以效劳器为核心2、查询与路由1 用户向效劳器发出查询请求,效劳器返回文件索引2用户根据索引与其它用户进行数据传输3路由跳数为 O(1,即常数跳3、容错性 :取决于效劳器的故障概率(实际网络中 ,由于本钱原因 ,可用性较低。
p2p组队的原理
![p2p组队的原理](https://img.taocdn.com/s3/m/c5b9d3b3fbb069dc5022aaea998fcc22bdd14371.png)
p2p组队的原理P2P(Peer-to-Peer)组队原理主要是基于对等网络技术,这种技术改变了传统的C/S(Client/Server)通信模式,实现了网络中的点对点通信。
具体来说,P2P组队原理包括以下几个方面:1. 对等网络结构:P2P网络中每个节点都具有相同地位,没有中心节点,所有节点都是平等的。
这意味着每个节点既可以作为服务器为其他节点提供服务,也可以作为客户端从其他节点获取资源。
2. 节点自我管理:在P2P网络中,节点之间相互管理,自主完成网络中的任务分配、数据传输等工作。
这种自我管理的方式能够提高网络的可靠性和稳定性。
3. 网络自组织:当网络中出现某些变化时,节点之间能够快速地重新组织网络,保持网络的稳定性和可靠性。
这种自组织的特点使得P2P网络具有较强的适应性和韧性。
4. 数据传输和任务分配:在P2P组队中,数据传输和任务分配是通过网络中的节点之间的直接连接来实现的。
每个节点都保存着其他节点的信息,并且不断更新。
当一个节点需要数据或完成任务时,它可以通过其他节点直接获取数据或完成任务,而不需要经过中心服务器。
这种方式可以减少对中心服务器的依赖,提高网络的扩展性和可用性。
5. 资源共享:P2P网络还支持节点之间的资源共享,使得网络中的资源得到更加充分的利用。
通过资源共享,每个节点可以将自己的资源提供给其他节点使用,同时也可以从其他节点获取所需的资源。
这种方式可以提高资源的利用率和网络的效率。
总的来说,P2P组队原理的核心思想是去中心化、分布式和自组织。
通过这些特点,P2P技术能够实现高效的资源共享、灵活的任务分配和可靠的数据传输,为人们提供更加便捷和高效的网络服务。
PP协议对等网络中的性能增强协议
![PP协议对等网络中的性能增强协议](https://img.taocdn.com/s3/m/d9437e7511661ed9ad51f01dc281e53a580251e1.png)
PP协议对等网络中的性能增强协议对等(Peer-to-Peer,P2P)协议是一种点对点通信模型,它使得网络中的每个节点都同时是服务的提供方和使用方。
PP协议(Performance-Enhancing Protocol)是一种用于对等网络中提升性能的协议。
本文将重点讨论PP协议在对等网络中的应用,包括其原理、功能和优势。
一、PP协议的原理PP协议通过改进传输过程中的数据传送方法和流量控制机制,以减少延迟、提高吞吐量、增加网络的可靠性。
其原理主要包括以下几个方面:1. 数据缓存与数据预取:PP协议通过在节点中设置数据缓存,将热门数据提前下载到缓存中,以减少数据请求的延迟时间。
2. 数据压缩与传输优化:PP协议会对数据进行压缩,减小数据包的大小,从而减少传输时间。
此外,通过优化传输路径、减少网络拥塞和阻塞等手段,进一步提升数据传输效率。
3. 动态负载均衡:PP协议会根据网络的拓扑结构和节点的计算能力,动态地分配任务和负载,以避免节点过载,提高整体性能。
二、PP协议的功能PP协议在对等网络中拥有多种功能,旨在提升网络性能和用户体验。
1. 资源共享:PP协议允许对等网络中的节点共享资源,例如文件、带宽等。
通过充分利用节点之间的资源,可以提高资源利用率和网络传输效率。
2. 动态组网:PP协议能够自动识别网络中的节点,并构建动态的对等网络,无需中央服务器的介入。
这种分布式的组网方式可以提高网络的可扩展性和灵活性。
3. 安全和隐私保护:PP协议通过加密和身份验证等技术,保护对等网络中的数据安全和用户隐私。
同时,对等网络中的节点也能够相互监督和验证,增加了系统的可信度。
4. 可靠性和容错性:PP协议通过数据冗余和多路径传输等策略,提高了数据传输的可靠性和网络的容错性。
即使某个节点出现故障或离线,数据仍能够通过其他节点传输,保障系统的稳定性。
三、PP协议的优势PP协议在对等网络中具有以下优势:1. 提高网络性能:通过利用节点之间的资源,优化传输策略和减少网络拥塞,PP协议能够显著提高网络的性能,加快数据传输速度。
P2P协议概述
![P2P协议概述](https://img.taocdn.com/s3/m/66cf82050812a21614791711cc7931b765ce7bb6.png)
P2P协议概述协议名称:P2P协议概述一、引言P2P(Peer-to-Peer)协议是一种分布式计算和网络通信的协议,它允许互联网上的计算机直接与其他计算机进行通信和资源共享,而无需通过中央服务器。
本协议旨在提供P2P协议的概述,包括其定义、特点、应用领域以及相关的安全和隐私考虑。
二、定义P2P协议是一种点对点通信协议,其中每个节点既是客户端又是服务器。
它允许节点之间直接通信,共享资源和服务,而无需依赖中央服务器。
P2P协议可以用于文件共享、实时通信、流媒体传输等多种应用场景。
三、特点1. 去中心化:P2P协议不需要中央服务器来协调和控制节点之间的通信,每个节点都具有相同的权利和责任。
2. 可扩展性:P2P网络可以随着节点数量的增加而扩展,节点之间的负载和资源共享能力可以平衡。
3. 自组织性:P2P网络中的节点可以自主地加入或离开网络,网络拓扑结构可以自动调整以适应节点的变化。
4. 高效性:P2P协议利用多个节点的计算和存储资源,提供更高的数据传输速度和更好的系统性能。
5. 安全性:P2P协议可以通过加密和认证机制来保护节点之间的通信和共享的资源,防止恶意攻击和非法访问。
四、应用领域1. 文件共享:P2P协议可以用于实现大规模的文件共享网络,如BitTorrent等,用户可以通过P2P网络快速下载和分享文件。
2. 实时通信:P2P协议可以用于实现实时音视频通信,如Skype和WebRTC等,用户可以通过P2P网络进行高质量的语音和视频通话。
3. 流媒体传输:P2P协议可以用于实现大规模的流媒体传输,如PPLive和PPStream等,用户可以通过P2P网络观看高清视频直播。
4. 分布式计算:P2P协议可以用于实现分布式计算,如BOINC和SETI@home 等,用户可以通过P2P网络共享计算资源,解决复杂的科学和工程问题。
五、安全和隐私考虑1. 身份认证:P2P协议应该提供身份认证机制,确保节点之间的通信和资源共享只限于合法和信任的节点。
P2P协议概述
![P2P协议概述](https://img.taocdn.com/s3/m/c6b5c7ba03d276a20029bd64783e0912a2167c90.png)
P2P协议概述协议名称:P2P协议概述概述:P2P(Peer-to-Peer)协议是一种点对点通信协议,它允许直接从一个节点到另一个节点进行通信,而无需通过中央服务器的中转。
P2P协议的目标是实现高效、安全和可扩展的分布式通信。
本文将详细介绍P2P协议的基本原理、功能特点和设计要求。
一、基本原理:P2P协议基于分布式网络架构,其中的节点既可以是服务提供者,也可以是服务请求者。
节点之间通过直接连接进行通信,每个节点既是服务的提供者,也是服务的请求者。
P2P网络不依赖于中央服务器,而是通过协议规定的方式进行节点之间的发现、连接和数据传输。
二、功能特点:1. 去中心化:P2P协议不依赖于中央服务器,节点之间通过直接连接进行通信,提高了系统的可靠性和可扩展性。
2. 自动发现:P2P网络中的节点能够自动发现其他节点,并建立连接,实现动态的节点加入和离开。
3. 数据传输:P2P协议支持节点之间的数据传输,可以实现文件共享、实时通信等功能。
4. 路由和转发:P2P网络中的节点能够根据协议规定的路由算法进行数据的转发,实现节点之间的可达性。
5. 安全性:P2P协议可以通过加密和身份验证等机制来确保通信的安全性。
三、设计要求:1. 协议规范:P2P协议应明确规定节点之间的通信规范,包括消息格式、数据结构、协议头等,确保节点之间能够正确解析和处理收到的数据。
2. 可扩展性:P2P协议应支持节点的动态加入和离开,能够自适应网络拓扑的变化,实现系统的可扩展性。
3. 高效性:P2P协议应优化数据传输的效率,减少节点之间的通信延迟和带宽消耗,提高系统的性能。
4. 安全性:P2P协议应提供安全机制,包括身份验证、加密传输、防止拒绝服务攻击等,确保通信的机密性和完整性。
5. 可靠性:P2P协议应具备容错和恢复机制,能够处理节点故障和网络异常情况,确保系统的可靠性和稳定性。
四、总结:P2P协议是一种点对点通信协议,通过直接连接实现节点之间的通信,具备去中心化、自动发现、数据传输、路由和转发、安全性等功能特点。
对等网实验报告
![对等网实验报告](https://img.taocdn.com/s3/m/5d4d219e5122aaea998fcc22bcd126fff6055d6e.png)
对等网实验报告对等网实验报告一、引言随着互联网的快速发展,传统的中心化网络架构已经不能满足人们对高效、安全、可靠的网络通信的需求。
对等网(Peer-to-Peer,P2P)作为一种新型的网络架构,以其分布式、去中心化的特点,逐渐引起了人们的关注。
本实验旨在通过对等网的实验,探索其优势和应用潜力。
二、背景对等网是一种基于对等通信原理的网络架构,其核心思想是将网络中的每台计算机都视为一个节点,实现节点之间的直接通信和资源共享,而不需要依赖中心服务器。
这种去中心化的架构使得对等网具有更好的可扩展性、鲁棒性和抗攻击性。
三、实验过程1. 网络拓扑搭建在实验开始前,我们搭建了一个包含10台计算机的局域网。
每台计算机都安装了对等网软件,并通过局域网连接起来。
这样,这些计算机就可以相互发现和通信。
2. 节点发现与连接在对等网中,节点的发现和连接是非常重要的。
我们通过对等网软件提供的自动发现功能,使得每个节点可以主动发现其他节点,并建立连接。
通过这种方式,我们建立了一个包含10个节点的对等网。
3. 资源共享对等网最大的优势之一是资源共享。
我们在实验中选择了一个文件作为共享资源,并将其上传到对等网中的某个节点。
其他节点可以通过对等网软件进行搜索,并下载所需的文件。
通过实验,我们发现资源共享的速度相比传统的中心化网络更快,而且更加稳定。
4. 去中心化的优势在实验过程中,我们发现对等网的去中心化架构具有一些明显的优势。
首先,对等网可以更好地应对节点故障。
当某个节点出现故障时,其他节点仍然可以继续工作,不会造成整个系统的瘫痪。
其次,对等网可以更好地应对网络攻击。
由于节点之间的通信是直接的,攻击者很难通过攻击中心服务器来破坏整个系统。
四、实验结果分析通过实验,我们得出了以下几点结论:1. 对等网具有更好的可扩展性。
由于对等网的节点数量不受限制,可以根据需求随时增加或减少节点数量,从而实现更好的可扩展性。
2. 对等网具有更好的鲁棒性。
Peer-To-Peer介绍最近几年,Peer-to-Peer(对等计算,简称P2P)迅速
![Peer-To-Peer介绍最近几年,Peer-to-Peer(对等计算,简称P2P)迅速](https://img.taocdn.com/s3/m/a63c560bfbd6195f312b3169a45177232f60e4b0.png)
Peer-T o-Peer 介绍最近几年,Peer-to-Peer (对等计算,简称P2P) 迅速成为计算机界关注的热门话题之一,财富杂志更将P2P列为影响Internet未来的四项科技之一。
“Peer”在英语里有“对等者”和“伙伴”的意义。
因此,从字面上,P2P可以理解为对等互联网。
国内的媒体一般将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等计算。
P2P可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。
在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源获取者(Client)。
客观地说,这种计算模式并不是什么新技术,自从上个世纪70年代网络产生以来就存在了,只不过当时的网络带宽和传播速度限制了这种计算模式的发展。
90年代末,随着高速互联网的普及、个人计算机计算和存储能力的提升,P2P技术重新登上历史舞台并且带来了一场技术上的革命。
许多基于P2P技术的杀手级应用应运而生,给人们的生活带来了极大的便利。
从计算模式上来说,P2P打破了传统的Client/Server (C/S)模式,在网络中的每个结点的地位都是对等的。
每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。
P2P与C/S模式的对比如下图所示:图1 Client/Server模式图2 Peer to Peer 模式P2P技术的特点体现在以下几个方面[1]:∙非中心化:网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。
P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。
∙可扩展性:在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能比较容易地满足用户的需要。
P2P协议概述
![P2P协议概述](https://img.taocdn.com/s3/m/6e7286d9534de518964bcf84b9d528ea81c72fb5.png)
P2P协议概述协议名称:P2P协议概述一、引言P2P(Peer-to-Peer)协议是一种分布式计算和网络架构模式,其中各个节点(对等体)之间具有相同的功能和权限。
本协议旨在概述P2P协议的基本原理、架构、通信方式和安全性等方面的内容。
二、背景随着互联网的快速发展,P2P技术被广泛应用于文件共享、实时通信、流媒体传输等领域。
P2P协议的设计和实现对于确保节点之间的高效通信、数据安全和系统的可扩展性至关重要。
三、P2P协议的基本原理1. 对等体:P2P网络中的节点被称为对等体,它们具有相同的功能和权限,能够充当客户端和服务器。
2. 分布式寻址:P2P网络使用分布式寻址机制,节点之间可以直接通信,无需中心化服务器进行转发。
3. 数据共享:P2P网络中的节点可以共享自己的资源,如文件、带宽、计算能力等。
4. 自组织网络:P2P网络是一个自组织的网络,节点可以自动加入和离开网络,动态调整网络拓扑结构。
四、P2P协议的架构1. 超级节点:P2P网络中的一部分节点被选为超级节点,它们负责维护整个网络的拓扑结构和路由表。
2. 路由协议:P2P网络使用路由协议来确定节点之间的通信路径,常见的路由协议有Gnutella、BitTorrent等。
3. 数据传输协议:P2P网络使用数据传输协议来实现节点之间的数据传输,如TCP、UDP等。
4. 数据管理:P2P网络需要一套有效的数据管理机制来处理数据的存储、索引和检索等操作。
五、P2P协议的通信方式1. 直接通信:P2P网络中的节点可以直接通信,无需经过中心化服务器进行转发。
节点之间可以建立TCP或UDP连接进行数据传输。
2. 中继通信:当两个节点之间无法直接通信时,可以通过其他节点进行中继转发,以实现数据的传输。
3. NAT穿越:P2P网络中的节点通常位于不同的局域网中,需要通过NAT (网络地址转换)设备进行通信。
NAT穿越技术可以帮助节点克服NAT设备的限制,实现跨网通信。
P2P协议概述
![P2P协议概述](https://img.taocdn.com/s3/m/9ffaf7496d85ec3a87c24028915f804d2a168741.png)
P2P协议概述协议名称:1. 引言P2P(Peer-to-Peer)是一种分布式计算和网络架构模式,其中参预者之间具有对等地位,可以相互通信和共享资源。
P2P协议概述旨在提供对P2P协议的详细描述,包括其定义、特点、应用领域和潜在风险等方面的内容。
2. 定义P2P协议是一种用于构建P2P网络的规范和约定,它定义了参预者之间的通信和数据交换方式。
P2P协议的目标是实现高效、可靠和安全的数据传输,同时提供灵便的网络拓扑结构。
3. 特点3.1 去中心化:P2P网络中的节点具有对等地位,没有中央服务器或者控制节点。
每一个节点既是服务的提供者,也是服务的使用者。
3.2 自组织:P2P网络能够自动发现和加入其他节点,并根据网络拓扑结构进行自我组织和适应性调整。
3.3 分布式存储:P2P网络中的数据可以分布在各个节点上,通过数据分片和冗余存储来提高可靠性和性能。
3.4 高度扩展性:P2P网络可以容纳大量节点,并能够动态适应节点的加入和离开,具有良好的可扩展性。
3.5 隐私保护:P2P网络中的通信和数据交换可以通过加密和匿名化技术来保护用户的隐私和安全。
4. 应用领域4.1 文件共享:P2P协议广泛应用于文件共享领域,例如BitTorrent协议和eDonkey协议等,通过将文件分片分发给多个节点来实现高速下载和共享。
4.2 实时通信:P2P协议可以用于实时通信应用,如语音通话、视频会议和即时消息等,通过直接建立点对点的连接来实现低延迟和高质量的通信。
4.3 分布式计算:P2P协议可以用于分布式计算任务的协同处理,如分布式搜索、分布式存储和分布式计算等,通过利用节点的空暇计算资源来提高计算效率。
4.4 区块链技术:P2P协议在区块链技术中扮演了重要角色,通过P2P网络实现节点之间的通信和数据同步,保证区块链的去中心化和安全性。
5. 潜在风险5.1 安全性:P2P网络中存在安全风险,如恶意节点、拒绝服务攻击和信息泄露等。
p2p对等通信方式的概念 -回复
![p2p对等通信方式的概念 -回复](https://img.taocdn.com/s3/m/85ed179527fff705cc1755270722192e44365842.png)
p2p对等通信方式的概念-回复Peer-to-peer(P2P)对等通信是一种网络通信模式,其中参与通信的节点(即对等体)充当同时作为客户端和服务器的角色。
这意味着每个节点都可以发送和接收信息,并可与其他节点直接进行交互,而不需要任何层级化的中央服务器。
P2P对等通信方式在现代网络的多个应用领域中得到广泛使用,包括文件共享、实时流媒体、点对点通信等。
P2P对等通信方式的核心思想是建立节点之间的分散式连接,以实现高效的数据传输和共享。
相对于传统的客户端-服务器通信方式,在P2P通信中,节点之间的关系是对等的,没有任何节点专门负责管理所有连接和数据转发。
这种分散化的结构使得P2P通信方式更具容错性和扩展性,同时也解决了传统客户端-服务器通信中可能出现的瓶颈和单点故障问题。
P2P对等通信方式的实现可以通过多种协议和技术来完成,其中最常见的是使用BitTorrent协议。
BitTorrent是一种基于P2P架构的文件共享协议,通过将文件分割成多个小片段,然后将这些片段分发给各个参与者,最后由接收者将这些小片段重新组装成完整的文件。
这种分散式的数据分发方式可以极大地提高文件共享的效率和速度,同时也减轻了服务器的负载压力。
在P2P对等通信方式中,节点之间的交互可以基于不同的策略和算法进行。
一种常见的策略是使用邻居选择算法来决定与哪些节点进行直接连接。
这些算法通常基于节点的网络拓扑、网络延迟和节点资源等因素来进行选择,以实现最优的数据传输和负载均衡。
此外,一些优化算法还可以通过自动发现和加入邻居节点的方式来提高网络的可靠性和性能。
P2P对等通信方式还具有一些其他的优势。
首先,P2P通信可以减少对传统客户端-服务器模式中集中服务器的依赖。
这意味着即使某些服务器宕机或失效,P2P网络仍然可以继续工作,并提供服务。
其次,P2P通信可以更好地利用网络中的闲置资源,例如带宽和存储空间。
节点可以共享自己的资源,并从其他节点获取所需的资源,从而提高整个网络的效率。
p2p协议
![p2p协议](https://img.taocdn.com/s3/m/f03023c60342a8956bec0975f46527d3240ca60d.png)
p2p协议P2P(Peer-to-Peer)是一种基于对等网络的通信协议。
与传统的服务器-客户端模式不同,P2P协议允许直接的点对点通信,每个参与者都可以作为服务提供者和服务使用者。
P2P协议被广泛应用于文件共享、在线游戏以及视频流服务等领域。
P2P协议的核心思想是将网络中的每个节点视为对等的,没有中心服务器的控制。
通过使用P2P协议,用户可以共享自己的资源给其他用户,并在需要时获取其他用户的资源。
每个节点都有相同的权利和责任,可以主动的提供和使用其他节点的资源。
P2P协议的实现需要解决几个关键问题。
首先是节点的发现和连接。
P2P网络中的节点数量庞大,节点的加入和离开是动态的。
因此,协议需要提供一种机制来帮助节点发现其他可用的节点,并建立连接。
一种常用的解决方案是通过中央服务器提供节点的信息,新节点通过中央服务器获取其他节点的信息,然后通过直接连接建立点对点通信。
其次是数据的分发和传输。
P2P协议需要确保数据能够有效的从一个节点传输到另一个节点,并且能够适应网络的变化。
为了实现高效的数据分发,有几种常用的技术被应用,如分片和哈希。
将数据分割成多个片段,并使用哈希算法计算每个片段的校验值,使得每个片段可以独立传输并验证完整性。
这样,当一个节点提供某个资源时,其他节点可以通过请求和获取对应的片段来完成整个资源的下载。
最后是资源管理和共享。
在P2P网络中,节点的资源是有限的,因此需要合理的管理和共享资源。
为了防止不良节点和恶意行为,一种常见的解决方案是采用信任机制和评级系统。
通过对节点的行为和可靠性进行评估并给予信任度,可以防止不良节点的干扰,并优先分配资源给可靠的节点。
尽管P2P协议在文件共享和视频流服务方面取得了巨大成功,但它也面临一些挑战和争议。
首先是版权保护和合法性的问题。
由于P2P网络的匿名性,一些用户可能滥用该网络来分享非法内容,如盗版音乐和电影。
解决这个问题需要加强版权保护和监管机制,以确保合法的使用者和提供者的权益。
什么是P2P
![什么是P2P](https://img.taocdn.com/s3/m/9e29c60d79563c1ec5da719c.png)
什么是P2P1点对点技术(peer-to-peer,简称P2P)又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。
P2P 网络通常用于通过Ad Hoc连接来连接节点。
这类网络可以用于多种用途,各种档案分享软件已经得到了广泛的使用。
P2P技术也被使用在类似VoIP等实时媒体业务的数据通信中。
2 P2P是peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。
这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网。
目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。
简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。
P2P使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。
P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。
P2P 另一个重要特点是改变互联网现在的以大网站为中心的状态、重返“非中心化”,并把权力交还给用户。
P2P看起来似乎很新,但是正如B2C、B2B是将现实世界中很平常的东西移植到互联网上一样,P2P并不是什么新东西。
在现实生活中我们每天都按照P2P模式面对面地或者通过电话交流和沟通。
P2P的发展简史1999年,文件共享系统Napster诞生。
Napster是最早的P2P实用系统,参与系统的是大量个人计算机用户,每个用户将自己愿意共享的文件提供出来,同时可以下载其他用户共享的文件。
Napster需要解决的核心问题是必须知道哪些机器上有哪些文件,这样当用户提出文件搜索请求时才可以得到正确的匹配结果。
在Napster中使用一个中心服务器,称为目录服务器,存放所有文件的元数据信息(文件的标题和一些简单的描述信息)以及其存放结点的IP地址。
结点加入系统时首先要连接目录服务器并报告自身地址及共享的文件列表。
P2P协议概述
![P2P协议概述](https://img.taocdn.com/s3/m/bba4de2d0a4e767f5acfa1c7aa00b52acec79c74.png)
P2P协议概述协议名称:P2P协议概述协议版本:1.0协议撰写日期:2022年10月1日1. 引言P2P(Peer-to-Peer)协议是一种计算机网络通信协议,它允许直接连接在网络中的对等节点(peer)之间进行通信和资源共享,而无需传统的客户端-服务器模式。
本协议旨在提供对P2P协议的概述,包括其定义、特点、优势和应用领域。
2. 定义P2P协议是一种分布式网络协议,它允许网络中的对等节点直接通信和共享资源,而无需中央服务器的参与。
P2P网络中的每个节点既是资源的提供者,也是资源的请求者,节点之间通过直接连接进行通信和数据传输。
3. 特点3.1 去中心化:P2P网络没有中央服务器,所有节点平等地参与通信和资源共享,提高了系统的可靠性和鲁棒性。
3.2 自组织:P2P网络中的节点可以自动发现和加入网络,无需人工干预,提供了灵活性和可扩展性。
3.3 分布式存储:P2P网络中的资源可以分布在各个节点上,提高了资源的可用性和可靠性。
3.4 高效性:P2P协议通过直接连接节点进行通信,减少了传输延迟和网络拥塞,提高了通信效率。
3.5 匿名性:P2P网络中的节点可以使用匿名标识进行通信和资源共享,保护用户的隐私和安全。
4. 优势4.1 弹性和可扩展性:P2P网络可以根据需要动态添加或删除节点,提供了弹性和可扩展性,适应不断变化的网络环境。
4.2 分布式负载均衡:P2P网络中的资源可以分布在各个节点上,实现了负载均衡,提高了系统的性能和可靠性。
4.3 高度自治:P2P网络中的节点可以自主决策和管理资源,减少了对中央服务器的依赖,提高了系统的可靠性和可用性。
4.4 共享经济:P2P网络中的节点可以共享自己的资源,实现了资源的最大化利用,促进了共享经济的发展。
5. 应用领域5.1 文件共享:P2P网络可以用于大规模文件共享,例如BitTorrent协议就是一种基于P2P的文件共享协议。
5.2 流媒体传输:P2P网络可以用于高效地传输流媒体数据,例如PPLive和PPStream等流媒体软件就是基于P2P协议的。
p2pnet的原理
![p2pnet的原理](https://img.taocdn.com/s3/m/52ee54d4e109581b6bd97f19227916888486b9b9.png)
p2pnet的原理P2P网络原理P2P网络(Peer-to-Peer Network)是一种分布式计算与通信模式,它的原理是将网络中的每个节点都视为对等的个体,每个节点既是客户端,又是服务器。
P2P网络的工作方式与传统的客户-服务器模式不同,它不依赖于中心服务器,而是通过相互连接的节点来实现数据传输和共享。
P2P网络的原理可以简单地理解为一种点对点的连接方式。
在传统的客户-服务器模式中,客户端通过与服务器建立连接来获取所需的信息,而服务器则负责存储和分发数据。
而在P2P网络中,每个节点都可以充当客户端和服务器,节点之间可以直接通信,彼此共享资源和数据。
P2P网络的优势主要体现在以下几个方面:1. 去中心化:P2P网络不依赖于中心服务器,每个节点都可以提供和获取数据,从而实现资源的分布式存储和共享。
这种去中心化的特点使得P2P网络更加灵活和鲁棒,降低了单点故障的风险。
2. 自组织性:P2P网络中的节点可以自主地选择和加入其他节点,形成一个动态的网络拓扑结构。
节点之间可以相互发现和交换信息,通过协议和算法来实现自组织和自管理,从而提高了网络的可扩展性和稳定性。
3. 高效性:P2P网络可以利用节点之间的空闲资源,实现更高效的数据传输和共享。
例如,某个节点拥有大量的带宽和存储空间,其他节点可以通过该节点来获取所需的数据,从而提高了数据传输的效率。
4. 安全性:P2P网络采用了分布式的存储和传输方式,使得数据更加安全。
由于数据分散存储在各个节点中,即使某个节点发生故障或被攻击,其他节点仍然可以提供相同的数据,从而保证了数据的可靠性和安全性。
P2P网络在实际应用中有着广泛的应用场景,例如文件共享、视频点播、在线游戏等。
以文件共享为例,P2P网络可以将一个文件分割成多个小块,每个节点只需下载其中的一部分,然后通过节点之间的相互连接来交换和合并数据,最终完成文件的下载。
这种分布式的方式不仅提高了下载速度,还减轻了服务器的负载压力。
P2P
![P2P](https://img.taocdn.com/s3/m/ce07e1d73186bceb19e8bbc1.png)
点对点技术点对点技术(peer-to-peer,简称P2P)又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。
P2P网络通常用于通过Ad Hoc连接来连接节点。
这类网络可以用于多种用途,各种档案分享软件已经得到了广泛的使用。
P2P技术也被使用在类似VoIP等实时媒体业务的数据通信中。
纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。
这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。
有些网络(如Napster, OpenNAP, 或IRC @find)的一些功能(比如搜索)使用客户端-服务器结构,而使用P2P结构来实现另外一些功能。
类似Gnutella 或Freenet的网络则使用纯P2P结构来实现全部的任务。
历史P2P 架构体现了一个互连网技术的关键概念,这一概念被描述在1969年4月7日第一份RFC文档“RFC1,主机软件”中。
而最近,在不用中心索引服务器结构实现多媒体文件交换的背景下,这个概念已经变的非常普遍了。
纯P2P:节点同时作为客户端和服务器端。
没有中心服务器。
没有中心路由器。
杂P2P:有一个中心服务器保存节点的信息并对请求这些信息的要求做出响应。
节点负责发布这些信息(因为中心服务器并不保存文件),让中心服务器知道它们想共享什么文件,让需要它的节点下载其可共享的资源。
路由终端使用地址,通过被一组索引引用来取得绝对地址。
混合P2P:同时含有纯P2P和杂P2P的特点。
P2P网络的优势P2P网络的一个重要的目标就是让所有的客户端都能提供资源,包括带宽,存储空间和计算能力。
因此,当有节点加入且对系统请求增多,整个系统的容量也增大。
这是具有一组固定服务器的C/S结构不能实现的,这种结构中客户端的增加意味着所有用户更慢的数据传输。
P2P网络的分布特性通过在多节点上复制数据,也增加了防故障的健壮性,并且在纯P2P网络中,节点不需要依靠一个中心索引服务器来发现数据。
计算机类文献综述范文
![计算机类文献综述范文](https://img.taocdn.com/s3/m/f542538682d049649b6648d7c1c708a1284a0a07.png)
计算机类文献综述范文计算机类文献综述范文P2P文件共享系统设计与实现--文献综述作者姓名(学号计科系XX级XX班)摘要:对等网(P2P)主要指计算机之间以对等方式形成的网络连接,弱化或完全取消了服务器的作用。
文章首先将对P2P网络的基本概念、技术实现、主要应用进行介绍; 然后分析P2P技术与C/ S模式互联网的区别; 最后介绍了JXTA协议。
关键字:P2P; 文件共享; C/S模式;JX-TA1 引言随着像Napster、Gnutella、Freenet等P2P信息共享应用系统的流行,P2P(Peer—to—Peer,即对等网络)这种完全不同于客户/ 服务器的新一代分布式计算机模型正在受到越来越多的关注,已被《财富》杂志誉为将改变互联网未来的四大新技术之一。
P2P可以简单地定义为通过直接交换信息,共享计算机资源和服务,对等计算机兼有客户机和服务器的功能,在这种网络中所有节点是对等的,这些对等节点具有共同的责任与能力并协同完成服务,它们之间通过直接互连实现信息资源、处理器资源以及存储资源的全面共享,而不需要依赖集中式服务器的支持, 消除了信息孤岛和资源孤岛现象.2 P2P网络技术的研究2。
1 P2P网络的基本概念P2P技术主要指由硬件形成网络连接后的信息控制技术,主要代表形式是在应用层上基于P2P网络协议的客户端软件.IBM为P2P下了如下定义:P2P系统由若干互联协作的计算机构成,且至少具有如下特征之一:系统依存于边缘化( 非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益; 系统中成员同时扮演服务器与客户端的角色;系统应用的用户能够意识到彼此的存在,构成一个虚拟或实际的群体。
P2P网络是互联网整体架构的基础,互联网最基本的TCP/IP协议并没有客户端和服务器的概念,在通讯过程中, 所有的设备都是平等的一端。
P2P技术改变了“内容”所在的位置, 使其正在从“中心"走向“边缘”,也就是说内容不再存于主要的服务器上,而是存在所有用户的PC机上。
p2p通信原理
![p2p通信原理](https://img.taocdn.com/s3/m/da840f2258eef8c75fbfc77da26925c52dc59174.png)
p2p通信原理P2P通信原理P2P(Peer-to-Peer)通信是指在计算机网络中,两个或多个计算机之间直接进行通信,而不需要经过中心服务器的中转。
P2P通信原理基于对等网络结构,每个参与者都可以作为客户端和服务器同时存在,相互之间可以直接交换数据。
P2P通信的出现,使得信息传输更加高效、灵活,并且可以更好地应对服务器故障或网络拥堵的情况。
P2P通信的基本原理是通过建立直接的点对点连接来实现。
在传统的客户端-服务器模型中,客户端向服务器发送请求,服务器对请求进行处理并返回相应的数据。
而在P2P通信中,每个节点都可以是客户端和服务器,节点之间可以直接发送和接收数据。
这种对等网络结构使得数据传输更为高效,减少了单一服务器的负载压力,并且可以更好地应对服务器故障的情况。
P2P通信的实现依赖于一些关键技术。
首先,P2P通信需要节点之间建立直接的连接。
为了实现这一点,需要使用一些协议和技术,如NAT穿透、STUN和TURN等。
NAT穿透技术可以绕过网络地址转换(NAT)设备,使得节点之间可以直接通信。
STUN和TURN技术则可以帮助节点发现对方的真实地址和建立中转连接。
P2P通信需要一种方式来管理节点之间的连接。
通常使用的方式是通过一个中心服务器来协调节点之间的连接,这个服务器被称为超级节点或种子节点。
超级节点负责帮助节点发现其他节点,并协调节点之间的连接。
一旦节点之间建立起连接,它们就可以直接交换数据,不再依赖于超级节点。
P2P通信需要一种方式来管理节点之间的数据传输。
通常使用的方式是基于流式传输的协议,如TCP或UDP。
TCP协议提供可靠的数据传输,保证数据的完整性和有序性,适用于对数据传输质量要求较高的场景。
而UDP协议则提供了更低的延迟和更高的传输速率,适用于实时性要求较高的场景。
总结一下,P2P通信原理是基于对等网络结构的,每个节点都可以作为客户端和服务器,节点之间可以直接发送和接收数据。
P2P通信的实现依赖于一些关键技术,如NAT穿透、STUN和TURN等,用于建立直接的连接;超级节点用于协调节点之间的连接;基于流式传输的协议用于管理节点之间的数据传输。
P2P协议概述
![P2P协议概述](https://img.taocdn.com/s3/m/581767c2900ef12d2af90242a8956bec0975a583.png)
P2P协议概述协议名称:P2P协议概述一、背景介绍P2P(Peer-to-Peer)协议是一种分布式计算和网络通信架构,它允许对等节点之间直接通信,而无需中央服务器的参与。
P2P协议的出现,极大地改变了传统的客户端-服务器模式,提供了更高效、更可靠的数据传输方式。
本文将详细介绍P2P协议的基本原理、功能特点以及应用领域。
二、协议原理1. 对等节点通信:P2P协议允许对等节点之间直接通信,每个节点既是客户端又是服务器,可以发送和接收数据。
2. 分布式网络:P2P网络由多个对等节点组成,每个节点都有相同的地位,没有中央服务器的控制和管理。
3. 资源共享:P2P协议支持节点之间的资源共享,用户可以共享文件、带宽、计算能力等。
4. 数据传输方式:P2P协议使用分块传输和分段传输的方式,将大文件分割成小块或小段,分别传输到不同的节点,最后再进行合并。
5. 路由算法:P2P协议使用一种分布式的路由算法,通过节点之间的相互连接和信息交换,找到最优的传输路径。
三、功能特点1. 去中心化:P2P协议不依赖中央服务器,每个节点都有相同的地位和权力,提高了系统的可靠性和鲁棒性。
2. 高效性:P2P协议充分利用每个节点的带宽和计算能力,实现了资源的共享和优化,提高了数据传输的效率。
3. 可扩展性:P2P协议可以根据网络的规模和需求进行动态扩展,增加或减少节点数量,灵活适应不同的应用场景。
4. 安全性:P2P协议使用加密算法和身份验证机制,保护数据的安全性和用户的隐私。
5. 自治性:P2P协议中的每个节点都可以自主决策,没有中央服务器的干预,提高了系统的自治性和可控性。
四、应用领域1. 文件共享:P2P协议可以实现大规模的文件共享,用户可以通过P2P网络共享和下载各种类型的文件,如音乐、电影、软件等。
2. 流媒体传输:P2P协议可以支持高质量的流媒体传输,用户可以通过P2P网络观看直播、在线视频等。
3. 分布式计算:P2P协议可以利用节点的计算能力进行分布式计算,实现大规模的科学计算和数据分析。
p2p技术原理简单理解
![p2p技术原理简单理解](https://img.taocdn.com/s3/m/b83aaabd70fe910ef12d2af90242a8956becaac0.png)
p2p技术原理简单理解P2P(Peer-to-Peer)技术是一种去中心化的网络通信模式,它将网络中的每个节点都视为对等的、具有相同的地位和权力。
这种技术的原理是通过直接连接互联网上的多个计算机,实现资源共享和通信交互。
P2P技术的出现,不仅改变了传统的中心化网络架构,也为用户提供了更加便捷和高效的互联网体验。
P2P技术的核心原理是直接连接。
在传统的中心化网络中,数据传输往往需要经过服务器进行中转,而P2P技术则消除了这一中间环节,实现了点对点的直接连接。
每个节点既是数据的提供者,也是数据的接收者,它们之间可以直接交换数据,无需通过中心服务器的干预。
这种直接连接的方式,大大提高了数据传输的效率,减少了数据传输的延迟。
P2P技术的实现依赖于两个核心组件:节点发现和内容分发。
节点发现是指通过某种机制,让每个节点在网络中找到其他节点的过程。
在P2P网络中,每个节点都有一个唯一的标识符,可以通过这个标识符来识别和连接其他节点。
常用的节点发现机制包括基于服务器的中心化发现和基于DHT(分布式哈希表)的去中心化发现。
中心化发现需要依赖特定的服务器来实现节点的注册和查询,而去中心化发现则通过将节点信息分散存储在整个网络中的节点中,实现节点的查找和连接。
内容分发是指将数据从一个节点传输到另一个节点的过程。
在P2P 网络中,数据会被分割成多个小块,并通过多个节点进行传输。
每个节点不仅可以从其他节点获取数据,也可以将自己拥有的数据分享给其他节点。
通过多个节点的协同工作,数据可以以更高的速度和更好的可靠性传输。
此外,为了提高数据的可用性,P2P网络通常采用冗余储存的方式,即将同一份数据存储在多个节点上,以防止节点的故障或离线导致数据丢失。
P2P技术的优势在于它的去中心化特性。
相比传统的中心化网络,P2P网络更加稳定和弹性,因为它不依赖于单个服务器的稳定性。
即使网络中的某个节点故障或离线,其他节点仍然可以正常工作,不会影响整个网络的运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Peer to Peer (P2P,对等网络) 综述献给对P2P网络感兴趣的朋友们:Peer-to-Peer 综述罗杰文中科院计算技术研究所目录1. Peer-To-Peer 网络介绍2. P2P网络的拓扑结构分类3. P2P搜索技术研究与挑战4. P2P应用研究与前景展望后记Peer-to-Peer 综述上一页下一页第 2 章 P2P网络的拓扑结构拓扑结构是指分布式系统中各个计算单元之间的物理或逻辑的互联关系,结点之间的拓扑结构一直是确定系统类型的重要依据。
目前互联网络中广泛使用集中式、层次式等拓扑结构。
Internet本身是世界上最大的非集中式的互联网络,但是九十年代所建立的一些网络应用系统却是完全的集中式的系统,许多Web应用都是运行在集中式的服务器系统上。
集中式拓扑结构系统目前面临着过量存储负载、DOS(Denial of Service,拒绝服务)攻击,网络带宽限制等一些难以解决的问题。
Peer-to-Peer (简称P2P) 系统主要采用非集中式的拓扑结构,一般来说不存在上述这些难题。
根据结构关系可以将P2P系统细分为四种拓扑形式:●中心化拓扑(Centralized Topology);●全分布式非结构化拓扑(Decentralized Unstructured Topology);●全分布式结构化拓扑(Decentralized Structured Topology,也称作DHT网络);●半分布式拓扑(Partially Decentralized Topology)。
其中,中心化拓扑最大的优点是维护简单,资源发现效率高。
由于资源的发现依赖中心化的目录系统,发现算法灵活高效并能够实现复杂查询。
最大的问题与传统客户机/服务器结构类似,容易造成单点故障,访问的“热点”现象和版权纠纷等相关问题,这是第一代P2P网络采用的结构模式,经典案例就是著名的MP3共享软件Napster[1].Napster是最早出现的P2P系统之一,并在短期内迅速成长起来。
它实质上并非是纯粹的P2P 系统,而是通过一个中央索引服务器保存所有Napster用户上传的音乐文件索引和存放位置的信息。
它的工作原理如图1所示。
当某个用户需要某个音乐文件时,首先连接到Napster中央索引服务器,在服务器上进行检索,服务器返回存有该文件的用户信息,再由请求者直接连到文件的所有者传输文件。
Napster首先实现了文件查询与文件传输的分离,有效地节省了中央服务器的带宽消耗,减少了系统的文件传输延时。
图1 Napster的拓扑结构然而,这种对等网络模型存在以下这些问题:●中央索引服务器的瘫痪容易导致整个网络的崩溃,因此可靠性和安全性较低。
●随着网络规模的扩大,对中央索引服务器进行维护和更新的费用将急剧增加,所需成本较高。
●中央索引服务器的存在常引起版权问题上的纠纷,服务提供商容易被追究法律责任。
综合上述优缺点,对小型网络而言,中心化拓扑模型在管理和控制方面占一定优势。
但鉴于其存在的上述缺陷,该模型并不适合大型网络应用。
全分布式非结构化拓扑的P2P网络是在重叠网络(Overlay Network)(见标注1)采用了随机图的组织方式,结点度数服从Power-law规律(幂次法则)[2],从而能够较快发现目的结点,面对网络的动态变化体现了较好的容错能力,因此具有较好的可用性。
同时可以支持复杂查询,如带有规则表达式的多关键词查询,模糊查询等,采用这种拓扑结构最典型的案例便是Gnutella(音译:纽特拉)。
准确地说,Gnutella不是特指某一款软件,而是指遵守Gnutella协议[3]的网络以及客户端软件的统称。
目前基于Gnutella网络的客户端软件非常多,著名的有Shareaza、LimeWire和BearShare等。
图2Gnutella的拓扑结构和文件检索方法Gnutella和Napster最大的区别在于Gnutella是更加纯粹的P2P系统,因为它没有中央索引服务器,每台机器在Gnutella网络中是真正的对等关系,既是客户机同时又是服务器,所以被称为对等机(Servent,Server+Client的组合)。
在文件检索方面,它与Napster也不相同。
在Gnutella网络的发展初期,它主要采用基于完全随机图的Flooding搜索算法。
图2 显示了Flooding的工作流程:当一台计算机要下载一个文件,它首先以文件名或者关键字生成一个查询,并把这个查询发送给与它相连的所有计算机,这些计算机如果存在这个文件,则与查询的机器建立连接,如果不存在这个文件,则继续在自己相邻的计算机之间转发这个查询,直到找到文件为止。
为了控制搜索消息不至于永远这样传递下去,一般通过TTL (Time To Live)的减值来控制查询的深度。
但是,随着联网节点的不断增多,网络规模不断扩大,通过这种Flooding方式定位对等点的方法将造成网络流量急剧增加,从而导致网络中部分低带宽节点因网络资源过载而失效。
所以在初期的Gnutella网络中,存在比较严重的分区,断链现象。
也就是说,一个查询访问只能在网络的很小一部分进行,因此网络的可扩展性不好。
所以,后来许多研究人员在Flooding的基础上作了许多改进,例如采用Random work [4]、Dynamic Query[5]等方法。
由于非结构化网络将重叠网络认为是一个完全随机图,结点之间的链路没有遵循某些预先定义的拓扑来构建。
这些系统一般不提供性能保证,但容错性好,支持复杂的查询,并受结点频繁加入和退出系统的影响小。
但是查询的结果可能不完全,查询速度较慢,采用Flooding 查询的系统对网络带宽的消耗非常大,并由此带来可扩展性差等问题。
全分布式结构化拓扑的P2P网络主要是采用分布式散列表(Distributed Hash Table, 简写成DHT)技术来组织网络中的结点。
DHT是一个由广域范围大量结点共同维护的巨大散列表。
散列表被分割成不连续的块,每个结点被分配给一个属于自己的散列块,并成为这个散列块的管理者。
通过加密散列函数,一个对象的名字或关键词被映射为128位或160位的散列值。
分布式散列表起源于SDDS(Scalable Distribute Data Structures)[6]研究,Gribble等实现了一个高度可扩展,容错的SDDS集群。
DHT类结构能够自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性、结点ID分配的均匀性和自组织能力。
由于重叠网络采用了确定性拓扑结构,DHT可以提供精确的发现。
只要目的结点存在于网络中DHT总能发现它,发现的准确性得到了保证,最经典的案例是Tapestry,Pastry,Chord和CAN。
Tapestry [7]提供了一个分布式容错查找和路由基础平台,在此平台基础之上,可以开发各种P2P应用(OceanStore[8]即是此平台上的一个应用)。
Tapestry的思想来源于Plaxton。
在Plaxton中,结点使用自己所知道的邻近结点表,按照目的ID来逐步传递消息。
Tapestry基于Plaxton的思想,加入了容错机制,从而可适应P2P的动态变化的特点。
OceanStore是以Tapestry为路由和查找基础设施的P2P平台。
它是一个适合于全球数据存储的P2P应用系统。
任何用户均可以加入OceanStore系统,或者共享自己的存储空间,或者使用该系统中的资源。
通过使用复制和缓存技术,OceanStore可提高查找的效率。
最近,Tapestry为适应P2P网络的动态特性,作了很多改进,增加了额外的机制实现了网络的软状态(soft state),并提供了自组织、鲁棒性、可扩展性和动态适应性,当网络高负载且有失效结点时候性能有限降低,消除了对全局信息的依赖、根结点易失效和弹性差的问题。
Pastry 是微软研究院提出的可扩展的分布式对象定位和路由协议,可用于构建大规模的P2P 系统。
如图3 所示,在Pastry中,每个结点分配一个128位的结点标识符号(nodeID) ,所有的结点标识符形成了一个环形的nodeID空间,范围从0到2128 - 1 ,结点加入系统时通过散列结点IP地址在128位nodeID空间中随机分配。
网络结点的加入与退出,资源查询的过程可以参考文献[9]。
图3Pastry的消息路由Chord [10]项目诞生于美国的麻省理工学院。
它的目标是提供一个适合于P2P环境的分布式资源发现服务,它通过使用DHT技术使得发现指定对象只需要维护O(logN)长度的路由表。
在DHT技术中,网络结点按照一定的方式分配一个唯一结点标识符(Node ID) ,资源对象通过散列运算产生一个唯一的资源标识符(Object ID) ,且该资源将存储在结点ID与之相等或者相近的结点上。
需要查找该资源时,采用同样的方法可定位到存储该资源的结点。
因此,Chord的主要贡献是提出了一个分布式查找协议,该协议可将指定的关键字(Key) 映射到对应的结点(Node) 。
从算法来看,Chord是相容散列算法的变体。
图4 Chord的拓扑形状CAN(Content Addressable Networks)[11] 项目采用多维的标识符空间来实现分布式散列算法。
CAN将所有结点映射到一个n维的笛卡尔空间中,并为每个结点尽可能均匀的分配一块区域。
CAN采用的散列函数通过对(key, value) 对中的key进行散列运算,得到笛卡尔空间中的一个点,并将(key, value) 对存储在拥有该点所在区域的结点内。
CAN采用的路由算法相当直接和简单,知道目标点的坐标后,就将请求传给当前结点四邻中坐标最接近目标点的结点。
CAN是一个具有良好可扩展性的系统,给定N个结点,系统维数为d,则路由路径长度为O(n1/d) ,每结点维护的路由表信息和网络规模无关为O(d) 。
上述四种基于DHT的P2P系统的性能比较可以参照[12]。
DHT这类结构最大的问题是DHT的维护机制较为复杂,尤其是结点频繁加入退出造成的网络波动(Churn)会极大增加DHT的维护代价。
DHT所面临的另外一个问题是DHT仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询。
半分布式拓扑结构(有的文献亦称作混杂模式,英文表达为Hybrid Structure)吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高(处理、存储、带宽等方面性能)的结点作为超级结点(英文表达为SuperNodes或者Hubs),在各个超级结点上存储了系统中其他部分结点的信息,发现算法仅在超级结点之间转发,超级结点再将查询请求转发给适当的叶子结点。
半分布式结构也是一个层次式结构,超级结点之间构成一个高速转发层,超级结点和所负责的普通结点构成若干层次。