gnutella

再谈P2P技术:网络拓扑结构、核心技术分析

本小妞迷上赌 提交于 2020-12-19 03:09:45
随着P2P应用的蓬勃发展,作为P2P应用中核心问题的发现技术除了遵循技术本身的逻辑以外,也受到某些技术的发展趋势、需求趋势的深刻影响。  P2P协议概述 P2P打破了传统的Client/Server (C/S)模式,在网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。P2P与C/S模式的对比如下图所示: P2P技术的特点体现在以下几个方面: 非中心化(Decentralization) :网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。 可扩展性 :在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能较容易地满足用户的需要。整个体系是全分布的,不存在瓶颈。理论上其可扩展性几乎可以认为是无限的。 健壮性 :P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其它部分的影响很小。P2P网络一般在部分结点失效时能够自动调整整体拓扑,保持其它结点的连通性。P2P网络通常都是以自组织的方式建立起来的,并允许结点自由地加入和离开。P2P网络还能够根据网络带宽、结点数、负载等变化不断地做自适应式的调整

译文丨10种常见的软件架构模式

五迷三道 提交于 2020-12-13 08:36:36
本文译自https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013?gi=f8addb915af7,作者Vijini Mallawaarachchi,Sep 4, 2017 译者:evandeng2009(blog.csdn.net/evandeng2009/) 为了更好的组织语言和理解,符合我们的阅读习惯,原文的部分段落被合并或者分割。为体现完整性,不删减文字,保持原文文字内容。翻译纯属个人喜爱、分享和收藏。 正文 是否想知道大型企业级系统是怎么设计的?在软件主体开发之前,我们必须选择一个合适的架构来提供所需的功能和质量特征。所以在应用于设计之前,我们应该了解不同的架构。 什么是架构模式 维基百科:架构模式是在给定上下文的软件架构中,针对常发生问题的一种通用、复用的解决方案。架构模式类似于软件设计模式,但是范畴更广。 本文中,我将简要的阐述如下10中常见架构模式的应用和优缺点。 分层模式 客户端-服务端模式 主从模式 管道-过滤器模式 代理模式 点对点模式 事件总线模式 模型-视图-控制器模式 黑板模式 解释器模式 1. 分层模式 该模式用于构建可分解为多组子任务的程序,每个子任务都在某个抽象层,每个层对上一个更高层提供服务

再谈P2P技术:网络拓扑结构、核心技术分析

三世轮回 提交于 2020-10-22 05:32:45
随着P2P应用的蓬勃发展,作为P2P应用中核心问题的发现技术除了遵循技术本身的逻辑以外,也受到某些技术的发展趋势、需求趋势的深刻影响。  P2P协议概述 P2P打破了传统的Client/Server (C/S)模式,在网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。P2P与C/S模式的对比如下图所示: P2P技术的特点体现在以下几个方面: 非中心化(Decentralization) :网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。 可扩展性 :在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能较容易地满足用户的需要。整个体系是全分布的,不存在瓶颈。理论上其可扩展性几乎可以认为是无限的。 健壮性 :P2P架构天生具有耐***、高容错的优点。由于服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其它部分的影响很小。P2P网络一般在部分结点失效时能够自动调整整体拓扑,保持其它结点的连通性。P2P网络通常都是以自组织的方式建立起来的,并允许结点自由地加入和离开。P2P网络还能够根据网络带宽、结点数

现有p2p协议分类与简介

蓝咒 提交于 2020-03-02 05:58:37
(一) 常用p2p协议   1、napster:世界上第一个大型的p2p应用网络;中央集中式,倒闭了。 napster,这是当时很火的一种共享服务,主要用于查找mp3,它有一个服务器用于存储mp3文件的链接位置并提供检索,而真正的mp3文件则存放在 千千万万的个人电脑上,搜索到的文件通过p2p方式直接在个人电脑间传播共享。这种方式的缺点就是需要一台服务器,在mp3文件版权之争火热的年 代,napster很快就成为众矢之的,被众多唱片公司诉讼侵犯版权而被迫关闭。当然服务器一关napster也就不复存在。   2、gnutella和gnutella2(gnutella2是对gnutella的改进和扩展):开源的;第一个真正非中心的无结构p2p网络,文件查询采用洪泛方式。    gnutella吸取了napster的失败教训,将p2p的理念更推进一步:它不存在中枢目录服务器,所有资料都放在个人电脑上。用户只要安装了该软 件,就将自己的电脑立即变成一台能够提供完整目录和文件服务的服务器,并会自动搜寻其它同类服务器,从而联成一台由无数pc组成的超级服务器网络。传统网 络的server和client在它的面前被重新定义。   3、fasttrack:   第一个客户端是kazaa。协议与gnutella类似。02-03年的最大用户网,05年退至第三名。衰退原因是这个网络无法应对众多用户同时使用