一、Napster:第一个大型的;中央集中式;倒闭了;

二、Gnutella和Gnutella2:开源的;第一个真正非中心的。Gnutella2是对Gnutella的改进和扩展。

三、FastTrack:

第一个客户端是KazaA。协议与Gnutella类似。02-03年的最大用户网,05年退至第三名。衰退原因是这个网络无法应对众多用户同时使用,而且有版权拥有者polluation的行为,以及间谍软件的问题。iMesh也是以FastTrack为协议的。

四、eDonkey,overnet,kad:

eDonkey网络最普及的p2p客户端程序是eDonkey2000和emule。

overnet设计的目的是取代eDonkey,它没有中心服务器,但用户数少于eDonkey。

kad很类似于overnet,几乎只有eDonkey用户使用它。

五、BitTorrent:

唯一广泛被用在公司分配系统中的分享协议,下载速度高,没有查找功能。

六、Direct Connect:

一种常用在小的网络和大学内部网络中的协议,适用于小网络环境中,DC++是常见客户端。

七、Ares:类似Gnutella网络。

---------------------------------------------------

第一代:当数Napster,是由18岁的Shawn Fanning开发的。是基于集中式的目录服务器机制的。目录服务器集中存放对等节点的地址信息和所保存数据的信息。这种集中式目录服务器可以对请求的数据进行快速查找并能够返回最合适的目的节点。实际的文件传输是通过TCP直连实现的。也就是起到了类似“媒人”的服务方式。

但是这种集中的机制安全性不高,集中的服务器必然是系统的瓶颈也会是系统的单一故障点。

第二代:Gnutella为龙头,然后FastTrack(即KazaA的底层技术)迅速崛起取代改位置。Gnutella采用了完全的分布式策略,是一种非结构化系统。信息搜索的算法难免会有一定的盲目性。Gnutella采用等级制的方法来优化。节点被分为Ultrapeer和Leaf。FastTrack是KazaA,Grokester,iMesh和Morpheus等P2P软件中使用的协议(底层技术)。其中KazaA比较流行,它也是双层架构,节点被分为SN和ON。这类方法的搜索处理方式效率不高,还会造成尖峰时段网络塞车。

第三代:eDonkey和Morpheus为代表,采用分散式杂凑表(distributed hash tables)。避免了非结构化P2P系统中泛洪式的查找,提高信息搜索的效率。(算法还会另外整理扫盲)。eDonkey由Jed McCaleb在2000年创立。eDonkey也是双层架构的,分为servers和clients。eMule是eDonkey的改良品种。emule为开源的,基于eDonkey网络协议,能够直接登陆eDonkey的各类服务器。eMule同时也提供了eDonkey所没有的功能,可以自动搜索网络中的服务器,保留搜索结果,与连接用户交换服务器地址和文件,优先下载便于预览的文件头尾部分。

转载于:https://www.cnblogs.com/chengxin1982/archive/2009/09/16/1567859.html

7种常用p2p共享协议相关推荐

  1. 几种常用的接口协议的积累,欢迎补充

    总的来说, UART用在与主机(比如计算机)接口外设相连. I2C是由飞利浦公司提出的,用于与芯片与芯片之间的通信. spi是摩托罗拉最先提出的,用于芯片与芯片间的通信,与i2c不同的是传输需要四根线 ...

  2. udp 协议阻断_应对UDP反射放大攻击的五种常用防护思路

    本月,美国联邦调查局(FBI)发出警告,称发现几种新的网络协议被不法分子用来发动大规模的分布式拒绝服务(DDoS)攻击.警告包括三种网络协议和一款Web应用程序.其中CoAP(受约束的应用协议).WS ...

  3. 物联网常用的网络协议:MQTT、AMQP、HTTP、CoAP、LwM2M

    物联网常用的网络协议:MQTT.AMQP.HTTP.CoAP.LwM2M 物联网设备间沟通的语言,就是网络协议. 设备间想相互交流,通信双方必须使用同一种"语言".比如说你和中国人 ...

  4. 三种常用SoC片上总线的分析与比较 (Z)

    摘要 随着集成电路设计技术的发展,在片上系统(SoC)中,越来越多地使用各种功能IP核部件构成系统.总线是这些部件连接的主要方式,目前有数家公司和组织研发了多种面向SoC设计的总线系统.本文介绍SoC ...

  5. php 登录安全认证,介绍几种常用的web安全认证方式

    本文为大家介绍了五种常用的web安全认证方式,具有一定的参考价值,希望能对大家有所帮助. 1.Http Basic Auth 这是一种最古老的安全认证方式,这种方式就是简单的访问API的时候,带上访问 ...

  6. Ngnix安装的几种常用方式

    Ngnix安装的几种常用方式 本文介绍了如何安装NGINX开源. 在稳定版还是主线版之间进行选择 在预编译的程序包和从源代码进行编译之间进行选择 安装预编译包 预建套件中包含的模块 安装预建的Cent ...

  7. 三种常用SoC片上总线的分析与比较

    嵌入式系统是当今计算机工业发展的一个热点 随着超大规模集成电路的迅速发展,半导体工业进入深亚微米时代,器件特征尺寸越来越小,芯片规模越来越大,可以在单芯片上集成上百万到数亿只晶体管 如此密集的集成度使 ...

  8. 详细介绍!Linux 上几种常用的文件传输方式

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 责编:乐乐 来源:https://dwz.cn/VWIHhsOw 昨天发布一篇Linux文章( ...

  9. 几种常用的图像处理函数库

    from:http://www.wtoutiao.com/p/18a4MqP.html 几种常用的图像处理函数库 OpenCV OpenCV的全称是:Open Source Computer Visi ...

最新文章

  1. 第16届信息安全与对抗技术竞赛-Misc
  2. AES(Advanced Encryption Standard) Intrinsics各函数介绍
  3. HDU - 3533 Escape(预处理+A*)
  4. java解析动态AIS原始数据
  5. 2044. 统计按位或能得到最大值的子集数目
  6. 2018-2019-1 20165325 《信息安全系统设计基础》第七周学习总结
  7. 雷军亲曝小米 10 四大猛料!
  8. fonts.googleapis.com不能访问时的解决方法
  9. 手机游戏中的社交互动与任务剧情
  10. (ICIP2019)图像语义分割(23) LEDNet-用于实时语义分割的轻量级编解码网络
  11. 旧版sai笔刷_PaintTool SAI2.0笔刷
  12. 【Python百日基础系列】Day73 - dash实例:系统发育树
  13. 冯大辉(@Fenng):信息真正的意义(图灵访谈)
  14. ReentrantLock原理及AQS(羊群效应+实操)
  15. jQuery.filer文件上传插件简单使用
  16. 【Java EE 学习 21 下】【使用java实现邮件发送、邮件验证】
  17. python双下划线什么意思_python中_、__、__xx__(单下划线、双下划线等)的含义
  18. 阿龙学堂-中缀-后缀表达式的计算
  19. os 修改文件夹 名_如何在OS X中更改文件夹和应用程序图标
  20. 【FPGA】SCCB协议+ov5640摄像头

热门文章

  1. webpack打包ES6降级ES5
  2. Hook技术之Hook Activity
  3. Toast源码深度分析
  4. 《netty入门与实战》笔记-02:服务端启动流程
  5. 大数据新手之路二:安装Flume
  6. letsencrypt 自动续期不关闭nginx
  7. java web与android互通的aes算法
  8. PHP笔记——java程序员看懂PHP程序
  9. Jenkins部署Web项目到远程tomcat
  10. oracle raise_application_error,RAISE_ APPLICATION_ ERROR--之异常处理