现有p2p协议简介怎么写_P2P协议穿透

现有p2p协议简介怎么写_P2P协议穿透原文地址:http://wezly.iteye.com/blog/611630 (一) 常用p2p协议  一、napster:世界上第一个大型的p2p应用网络;中央集中式,倒闭了。  napster,这是当时很火的一种共享服务,主要用于查找mp3,它有一个服务器用于存储mp3文件的链接位置并提供检索,而真正的mp3文件则存放在千千万万的个人电脑上,搜索到的文件通过p2p方式

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

原文地址:http://wezly.iteye.com/blog/611630

 

(一) 常用p2p协议
  一、napster:世界上第一个大型的p2p应用网络;中央集中式,倒闭了。
  
napster,这是当时很火的一种共享服务,主要用于查找mp3,它有一个服务器用于存储mp3文件的链接位置并提供检索,而真正的mp3文件则存放在
千千万万的个人电脑上,搜索到的文件通过p2p方式直接在个人电脑间传播共享。这种方式的缺点就是需要一台服务器,在mp3文件版权之争火热的年
代,napster很快就成为众矢之的,被众多唱片公司诉讼侵犯版权而被迫关闭。当然服务器一关napster也就不复存在。
  二、gnutella和gnutella2(gnutella2是对gnutella的改进和扩展):开源的;第一个真正非中心的无结构p2p网络,文件查询采用洪泛方式。
 
 gnutella吸取了napster的失败教训,将p2p的理念更推进一步:它不存在中枢目录服务器,所有资料都放在个人电脑上。用户只要安装了该软
件,就将自己的电脑立即变成一台能够提供完整目录和文件服务的服务器,并会自动搜寻其它同类服务器,从而联成一台由无数pc组成的超级服务器网络。传统网
络的server和client在它的面前被重新定义。
  三、fasttrack:
  第一个客户端是kazaa。协议与gnutella类似。02-03年的最大用户网,05年退至第三名。衰退原因是这个网络无法应对众多用户同时使用,而且有版权拥有者pollution的行为,以及间谍软件的问题。
  imesh也是以fasttrack为协议的。
  四、edonkey,overnet,kad:
  自私的人们在利用p2p软件的时候大多只愿“获取”,而不愿“共享”,p2p的发展遇到了意识的发展瓶颈。不过,一头“驴”很快改变了游戏规则,这就是电驴-edonkey,它引入了强制共享机制。
 
 edeonkey将网络节点分成服务器层和客户层,并且将文件分块以提高下载速度。edonkey网络下最普及的p2p客户端程序是
edonkey2000和emule。emule是edonkey的后继,但是更出色,采用了dht来构建底层网络拓扑,目前非常流行的p2p文件共享软
件。
  overnet设计的目的是取代edonkey,它没有中心服务器,但用户数少于edonkey。
  kademlia 协议,在这里叫做kad网络,采用udp方式通信。很类似于overnet,几乎只有edonkey用户使用它。
  五、bittorrent:借助分散式服务器提供共享文件索引的混合式p2p网络,文件分片下载。
  下载速度高,没有查找功能,种子具有时效性。它将中心目录服务器的稳定性同优化的分布式文件管理结合起来。
  六、direct connect:
  一种常用在小的网络和大学内部网络中的协议,适用于小网络环境中,dc++是常见客户端。
  七、ares:类似gnutella网络。
(二) 现有p2p技术主要涉及的领域和发展方向
  (1)提供文件和其它内容共享的p2p网络,例如napster、gnotella、freenet、can、edonkey、emule、bittorrent等。
  (2)基于p2p方式的协同处理与服务共享平台,例如jxta、magi、groove、.netmy service等。
  (3)即时通讯交流,包括icq、oicq、yahoo messenger等。
  (4)安全的p2p通讯与信息共享,利用p2p无中心的特性可以为隐私保护和匿名通讯提供新的技术手段。例如cliquenet、crowds、onion routing等。
  (5)语音与流媒体:由于p2p技术的使用,大量的用户同时访问流媒体服务器,也不会造成服务器因负载过重而瘫痪。skype与coolstream是其中的典型代表。
 
 (6)网格计算,挖掘p2p分布计算能力。使用p2p技术以集中那些联接在网络上的电脑的空闲的cpu时间片断、内存空间、硬盘空间来替代“超级计算机
”。例如seti@home、avaki、popular
power、distributed.net等。网格计算的宗旨是:将遍布全球的数以万计的计算节点通过高速internet连接并组织成一个巨系统,使
其能够透明、高效地完成复杂计算任务。
  (7)ibm、微软、ariba也在合作开展一个名为uddi的项目以将b2b电子商务标准化
  (8)eazel正在建立下一代的linux桌面。
  (9)jabber已经开发了一种基于xml、开放的即时讯息标准,jabber被认为是建立了未来使用p2p数据交换的标准。
  (10)lotus notes的开发者创建的groove试图“帮助人们以全新的方式沟通”。
  (11)英特尔也在推广它的p2p技术以帮助更有效地使用芯片的计算能力。
(三) p2p资源定位方式
  p2p网络中进行资源定位是首先要解决问题。一般采用三种方式:
  (1)集中方式索引
  每一个节点将自身能够提供共享的内容注册到一个或几个集中式的目录服务器中。查找资源时首先通过服务器定位,然后两个节点之间再直接通讯。例如早期的napster。这类网络实现简单,但往往需要大的目录服务器的支持,并且系统的健壮性不好。
  (2)广播方式
  没有任何索引信息,内容提交与内容查找都通过相邻接节点直接广播传递。例如gnutella。一般情况下,采取这种方式的p2p网络对参与节点的带宽要求比较高。
  (3)动态哈希表的方式
 
 上述两种定位方式可以依据不同的p2p应用环境进行选择,但是人们普遍看好dht(distributed hash
table,分散式杂凑表)方式。基于dht的p2p网络在一定程度上可以直接实现内容的定位。一个矛盾的问题是:如果一个节点提供共享的内容表示越复
杂,则哈希函数越不好选择;相应的,网络的拓扑结构就越复杂。而如果内容表示简单,则又达不到真正实现依据内容定位的能力。目前大多数dht方式的p2p
网络对节点所提供共享内容的表示都很简单,一般仅仅为文件名。
参考资料:
http://hi.baidu.com/yrworld/blog/item/18e2d8fc4d8656fcfd037f5e.html
http://www.chinadv.com/tech/153534/
http://zixiaoruixue731.blog.163.com/blog/static/3366060200711103495214/
http://my.donews.com/yishuai/2006/04/23/p2p%e6%b1%a1%e6%9f%93%e5%88%9d%e6%8e%a2/
http://ausun-net.spaces.live.com/blog/cns!b9153878b5ef5882!1624.entry
http://dolf.cn/articles/knowledge-sharing-on-p2p-networks-and-implementation.html
http://hi.baidu.com/lifi007/blog/item/9c5e12cbe6105f1dbe09e68a.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180017.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • thinkphp5自动完成

    thinkphp5自动完成

    2021年10月14日
    39
  • C语言编程中void什么意思,程序设计中遇到的void到底是什么意思

    C语言编程中void什么意思,程序设计中遇到的void到底是什么意思部分编程的初学者都会问”void是什么意思”,”为什么很多函数前都要加个void”.实际上,void最简单的解释就是把0转换成空类型的意思。下面用各个开发语言来详解void1.C语言中的void表示空类型,它跟int,float是同地位的,一般用在没有返回值的函数中,比如你写voidmain(),主函数完了不用写return语句,但是如果是intmain()或者是main(),你不写r…

    2022年5月12日
    65
  • vue页面刷新_vue强制重置组件

    vue页面刷新_vue强制重置组件vue页面刷新首先我们都知道vue属于单页面应用,默认境况下是不会触发刷新页面操作的,所以这个时候就需要我们通过事件来触发reload()来达到刷新操作接下来我就为大家介绍三种刷新页面的方法1.wiindow.location.reload([bForceGet])该方法强迫浏览器刷新当前页面bForceGet可选参数,默认为false,从客户端缓存里取当前true,则以get方式,从服务器端获取最新的页面,相当于页面f5刷新wiindow.location.replace(URL)

    2022年10月16日
    2
  • python小项目:2、猜数字

    python小项目:2、猜数字

    2021年10月6日
    37
  • JsonPath使用

    JsonPath使用JSONPath-是xpath在json的应用。xml最大的优点就有大量的工具可以分析,转换,和选择性的提取文档中的数据。XPath是这些最强大的工具之一。如果可以使用xpath来解析json,以下的问题可以被解决: 1,数据不使用特殊的脚本,可以在客户端交互的发现并取并获取。2,客户机请求的JSON数据可以减少到服务器上的相关部分,这样可以最大限度地减少服务器响应的带宽使用…

    2022年6月18日
    31
  • 【Oracle】LISTAGG 函数的使用

    【Oracle】LISTAGG 函数的使用LISTAGG 函数介绍 listagg 函数是 Oracle11 2 推出的新特性 其主要功能类似于 wmsys wm concat 函数 即将数据分组后 把指定列的数据再通过指定符号合并 LISTAGG 使用 listagg 函数有两个参数 1 要合并的列名 2 自定义连接符号 LISTAGG 函数既是分析函数 也是聚合函数所以 它有两种用法 1 分析函数

    2025年7月23日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号