现有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)
上一篇 2022年10月20日 上午8:16
下一篇 2022年10月20日 上午8:16


相关推荐

  • MyEclipse6.5安装SVN插件的三种方法 .

    MyEclipse6.5安装SVN插件的三种方法 .一、安装方法:方法一、如果可以上网可在线安装1.打开Myeclipse,在菜单栏中选择Help→SoftwareUpdates→FindandInstall;2.选择Searchfornewfeaturestoinstall,点击Next进入下一步;3.点击”NewRemoteSite”按钮,在弹出的对话框中输入:name:SVN

    2022年7月20日
    18
  • SpringCloud从入门到精通教程/SpringCloud Alibaba从入门到精通教程[通俗易懂]

    对于SpringCloud,很多小伙伴问到了我的研究学习资料来源,除官方文档外,特例完整整理一下自己的平时参考学习其他资料,以及分享实战项目源码和代码资源,供大家参考学习主要教程:SpringCloud教程SpringCloudGreenwich,基于SpringBoot2.1.7,Github源码仓库案例下载一、我的教程(2019.11更新)SpringCloud…

    2022年4月7日
    52
  • ActiveMQ和RabbitMQ的区别

    ActiveMQ和RabbitMQ的区别ActiveMQ 和 RabbitMQ 的区别 关于文章没多少内容 请进链接 https blog csdn net article details https blog csdn net article details 好多学习内容 请自行学习 关于赞赏码倒是挺大的 哈哈 这个你得感谢中国伟大的企

    2026年3月20日
    2
  • 实验室管理系统数据库代码_实验室废液分类标准

    实验室管理系统数据库代码_实验室废液分类标准实验室设备管理系统SQL代码课程设计时的SQL代码,不是很完整,仅供参考。完整的实验室设备管理系统设计代码包括界面设计(使用的是C#)上传到了我的资源中。***界面截图***createdatabase实验室设备管理系统onprimary( name=’实验室设备管理_data’, filename=’E:\SqlServerData\实验室设备管理系统\实验室设备管理_data.mdf’, size=5MB, maxsize=100MB, filegrow

    2022年10月13日
    3
  • springaop实现原理面试_springmvc模式的工作原理

    springaop实现原理面试_springmvc模式的工作原理SpringAop实现原理什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-OrientedPrograming,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的

    2026年1月15日
    7
  • 队列的顺序存储结构之循环队列

    队列的顺序存储结构之循环队列一、队列的定义队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(FirstInFirstOut)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。如图所示:二、循环队列的引出为了避免当队中只剩一个元素的时候,队头队尾重合使处理变得麻烦。所以我们引入两个指针,front指针指向队头元素,rear指针指向队尾元素…

    2022年5月22日
    43

发表回复

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

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