24小时热门版块排行榜    

查看: 1493  |  回复: 9
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

windflying

木虫 (小有名气)

[交流] 什么是P2P?

P2P是peer-to-peer的缩写,peer在英语里有"(地位、能力等)同等者"、"同事"和"伙伴"等意义。这样一来,P2P也就可以理解为"伙伴对伙伴"的意思,或称为对等联网。目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。

简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。P2P另一个重要特点是改变互联网现在的以大网站为中心的状态、重返"非中心化",并把权力交还给用户。 P2P看起来似乎很新,但是正如B2C、B2B是将现实世界中很平常的东西移植到互联网上一样,P2P并不是什么新东西。在现实生活中我们每天都按照P2P模式面对面地或者通过电话交流和沟通。


P2P的发展可以被划分为三代:第一代是以Napster为代表的、还用中央服务器管理的P2P,这一代的P2P生命力十分脆弱——只要关闭服务器,网络就死了;第二代分布式P2P没有中央服务器,但是速度太慢;而第三代为混合型,采用分布服务器。目前我国流行的BT变态下载和电驴就是属于这类。

目前P2P应用的领域可分成三类:文件分享、通讯和协同计算。  

  

[ Last edited by 幻影无痕 on 2006-10-30 at 08:04 ]
回复此楼
============ 沧海有多广,江湖有多深,一笑人才知晓.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cremaster

银虫 (小有名气)

使 P2P 能进行交互操作:Jxta的故事
引用回帖:
(来源:http://www-900.ibm.com/developerWorks/)   
内容:
Jxta 的设计理念
Jxta 的独立性
Jxta 核心构件
Jxta 协议
基于 Jxta 的系统的属性
Jxta 如何与 .Net 和 Jini 较量
Jxta 的多功能性
参考资料
关于作者

对最新 P2P 技术兼具实用性和可操作性的介绍
Sing Li (westmakaha@yahoo.com)
作家,Wrox 出版社
2001 年 8 月

对等网络即将来临了,它承诺要创建一个根本不同的计算世界 — 而且,在某些方面 — 比基于老模式客户机/服务器的要更好。Jxta 工程是按社区方式运作的,旨在为对等应用构建实用应用程序底层。虽然 Jxta 的参考实现是用 Java 语言写的,但事实上它对当今现有的任何语言,操作系统(OS)或平台都会欣然接纳 — 而且,更重要的是,对于人们现在想都没想过的技术,它也做好了准备。在本文,即此系列的第一部分(共 3 部分)中,Java 开发人员兼作者 Sing Li 解释了支持 Jxta 的基本概念和协议,使您为阅读后面的文章做好准备。后面这些文章将教您试验 Jxta shell 并且构建 P2P 应用。请在讨论论坛与作者和其他读者共享您关于本文的心得。
对等(P2P)网络与传统的客户机/服务器或多层服务器网络不同,对等网络中的对等机是彼此直接通信的。这种通信无需依赖集中式服务器或资源就可完成。在 P2P 网络中,通过对等机之间的交互操作就可以完成工作,共享信息。通过创建有潜力展示非常高的可用性和容错能力的计算资源网络,P2P 体系结构使真正的分布式计算成为可能。

传统的客户机/服务器和多层次体系结构已经是业界的识途老马,而采用 P2P 体系结构的系统则还只是初生牛犊。Jxta 工程是 Sun 为了向构建跨平台、跨操作系统(OS)和跨编程语言的 P2P 应用提供实用应用程序底层而发动的突袭。这项工程现在是开放源代码的,Sun 也参与其中,请参阅参考资料部分以获取关于 Jxta 社区的信息。

Jxta 的设计理念
Jxta 工程的组件是认真的设计分工的产物。它们为泛型 P2P 网络提供最小需求,去除了所有特定于策略的逻辑和组件。这样,就仅剩下几乎所有的应用程序都能使用的构件要素,不考虑目标用户和特定实现。在接下来的几个月和几年里,Jxta 核心社区的一个主要任务就是确保这种普遍适用性仍然是真实的。您可以争辩说,P2P 最引人注目的应用程序尚未开发,那么如果 Jxta 把特定于策略或实现的细节嵌入其基础构造层后就完事的话,那么这些尚未想像到的应用程序就可能永远不会和这个平台一起工作。换句话说,Jxta 组件没有强加一些不必要的策略,也没有硬性规定特定的应用操作模型,使得简单地构造 P2P 应用成为可能,也更方便。

Jxta 工程对 Java 平台的独立性
在我们讨论 Jxta 的核心构件的过程中,您会发现我们没有提到任何与 Java 技术相关的东西!Sun 已经为 Jxta 提供了初步的 Java 语言实现,但令人惊讶的是,Jxta 工程既不特定于 Java 编程语言,也不特定于 Java 平台。换句话说,任何人都可以在任何硬件平台上,用任何操作系统、任何编程语言实现基于 Jxta 的网络。添加了这种 Jxta 的传输不可知特性(您将看到,它甚至不依赖于 TCP/IP),您就有了一个准备着交互操作的 P2P 基础构造。

Jxta:名称中包含什么意义?
Jxta 不只是以字母 J 开头代表 Java 和 Jini 名称的、由四个首字母组成的首字母缩写词。事实上,它代表 Juxtapose 工程。 Juxtapose 漂亮而优美地描绘了未来完整的 P2P 计算世界。据我们所知,企业内部网(intranet)或因特网(Internet)中现有的客户机/服务器计算永远不会消失或被取代。相反,Jxta 技术将作为一种补充,与这些技术共存(因此是 juxtaposition 并列)并给最终用户带来超值体验。因特网和企业内部网的用户将能够从网络的这两种形式中获益。  
互操作性作为一个设计选项
有些人或许会怀疑像 Jxta 那样普遍适应的规范的生存能力。Jxta 系统可以设计成具有互操作性的 — 但没有硬性的规则说它们必须以任何有用的形式具备互操作性。换句话说,一个仅仅表面上满足最小指定的互操作性需求的、不以任何有意义的方式与他人进行交互操作的 Jxta 应用程序仍然是符合 Jxta 规范的。然而,可以预见,P2P 应用和服务病毒蔓延般的增长速度将迫使厂商把互操作性作为他们产品的一个主要特性。这一设计决策的结果就交由开放市场的风雨去检验吧。

在其核心处使用 XML
我们很快将更详细地说明,Jxta 目前使用 XML 作为消息和广告的格式,这对于使 Jxta 具有互操作性很有帮助。因为 XML 技术的简单性和普遍可访问性,软件几乎可以创建在任何平台上以生成并解析 Jxta 消息。

Jxta 核心构件
构成 Jxta 系统的组件与能在很多 P2P 网络实现中识别出来的组件完全一样:

对等机和对等组
服务
管道
消息
广告
对这些组件中的每一个所做的研究将揭示 P2P 通信在 Jxta 网络上是如何工作的。

对等机和对等组
毫无疑问,对等网络是由彼此相互通信的对等机组成的。从根本上说,整个连结着的宇宙就是一个大型 P2P 系统。但由于目前连通性和可用带宽的限制,把整个因特网当作一个巨型 P2P 网络来使用是不切实际的。相反,一些划分是必要的。

物理网络的逻辑划分产生了对等机的工作组,P2P 行话称之为对等组。对等组成员资格的交迭没有任何约束;换句话说,任何对等机有必要属于几个对等组,就可以属于几个对等组。Jxta 规范并没有规定或推荐组织对等组的合适方式。在 Jxta 网络中,对等组就是共享资源和服务的对等机的集合。您可以很容易地明白,如果这个规范把对等组限制为例如局域网 — 或者甚至是广域网的一个子集 — 那么,很多要求组成员资格超出这些物理限制的新应用程序的可能性将一概被排除。与 Jxta 的设计理念一致,对等组被规定为尽可能不受限制、尽可能普遍适应。

请注意,对等组的存在要求一些维护成员资格的手段。Jxta 规范又一次只规定了维护组成员资格的最小需求,而没有指示该怎样维护。这种组成员资格服务只是核心 Jxta 服务的一部分,但它可以接受很多种形式 — 例如,它可以是数据库或目录服务,还可以是基于集中式或分布式实现的。

服务
对等组内的对等机可以共享使用 Jxta 服务。事实上,对等机加入一个组可能主要是为了使用该组内可用的服务。称为核心服务的一组服务对 Jxta 网络的基本运转是必不可少的。我们已经看到了一个核心服务的实例 — 成员资格服务。表 1 展示了 1.0 版 Jxta 规范中包含的核心服务。

表 1. Jxta 服务 服务名称 描述
管道 对等机之间通信的主要方式;为信息传输提供单向、异步的管道的抽象。
成员资格 判断哪个对等机属于哪个对等组;处理对等组内对等机的加入和退出。
访问 一种安全性服务,用于控制对对等组内服务和资源的访问;对等组的一种安全性管理器。
发现 对等机能用来发现对方、其它对等组的存在、管道、服务等等的一种方式。
解析器(Resolver) 允许对等机通过引用(Jxta 行话称之为广告)间接地引用对方,对等组、管道或服务;在运行期间,解析器把引用捆绑到实现上。


Jxta 工程最初的参考实现不提供上面列出的五项之外的任何服务。甚至核心服务中的一些服务,例如处理安全性的访问服务,也只是实现了非常基础的方面。现行的 Jxta 社区正在为这些服务中的大多数充实细节,同时也在定义和实现对对等组或许有益的新服务(一般地或特定地)。例如,该社区目前正在进行的新服务包括:

监视和计量服务
匿名的、安全的金融交易付款服务
Web 内容和服务的分布式搜索服务
在 Jxta 1.0 规范中,一个运行中的服务实例总是和一个对等机联系在一起(您可以把它想象成是由一个对等“服务器”主管的)。在一个对等组内,只能有一个服务实例和指定的对等机联系在一起。这种类型的服务被视为对等服务;如果主管该对等服务的对等机当机了,那么将无法获得该服务。另一方面,同一服务的多个实例被冗余地安装在一个对等组内的多个对等机上 — 这被称为对等组服务。对等组服务是 Jxta 网络的高可用性和容错性的关键。Jxta 应用的实现者可以自由地把任意 Jxta 服务作为对等服务或对等组服务进行安装。管道服务,即为对等通信提供逻辑管道抽象的核心 Jxta 服务,常常被作为对等组服务来实现,以确保其总是可用。

管道
正如 Jxta 规范定义,在对等机之间传输数据、文件、信息、代码或多媒体内容的一种方式是通过逻辑管道。Jxta 管道用于在对等机之间发送消息(可带任意内容)。

一个管道实例,从逻辑上讲,是对等组内的一个资源。管道实例的实际实现通常情况下是通过管道服务完成的。与传统(类似 UNIX 的)的系统不同,Jxta 管道是单向的、异步的。需要双向通信的两个对等机将不得不创建两个独立的管道实例。也跟传统机制如 UNIX 管道或 TCP/IP 套接字不同,Jxta 管道的末端可以在不同的时间连接到不同的对等机上,或者根本不连接。在为 P2P 网络上的服务提供冗余实现方面,只此一个单一概念就是革命性的一步。对等机可以在任一点及时逻辑地“拾起”管道。例如,设想一个想使用拼写检查器服务的对等机。它可以连接到一个对等组的拼写检查器管道(该管道是被作为冗余对等组服务实现的)上。在这种情况下,只要至少有一个拼写检查器的实例还在该对等组内的某个地方运行,该对等机就还能得到服务。

Jxta 1.0 规范提供了两种一般类型的管道:点对点和广播(propagate)。

对等机可以使用点对点管道连接到另一个对等机并单向传输消息。对等机可以使用广播管道连接到一个或多个其它对等机并向它们全体传输消息。从本质上讲,点对点管道是一对一的消息传输机制,广播管道则是一对多的消息传输机制。Jxta 社区目前正在多对多消息传输机制方面努力;这个机制已经被命名为 Jxta 导线(wire)。

不管是什么类型的管道,通过管道载送的信息块都称为 Jxta 消息。那么,这些消息的确切格式是什么样子呢?

消息
Jxta 消息是通过管道从一个对等机传送到另一个对等机的数据束。这里,Jxta 规范再一次尽可能地使自己普遍适应,以免不经意间在消息的定义中引入任何依赖于实现的策略。消息被定义为由信封和正文组成的任意大小的束。信封是标准格式,它包括:

报头
源端点信息(URI 格式)
目的地端点信息(URI 格式)
消息摘要(可选的 — 出于安全性目的)
消息正文的长度是任意的,可以包含一个可选的信任状(出于安全性目的)和内容。

请注意,Jxta 消息的定义非常松散。考虑到我们日常一般都是在可靠的、宽带的 TCP/IP 网络上操作,这样做的必要性并不是立即可以明了的。但 Jxta 消息的格式必须是灵活的、善于适应新环境的,因为它可能要在所有种类的网络上实现,而不只是在 TCP/IP 上。设想在一个支持 256 字节数据包的不可靠传输的网络(象传统的基于数据包的无线网络)上的一个 Jxta 实现,您就会对 Jxta 消息的简单定义如何使自己适应诸如这样的不利环境表示赞赏。

为了提供一个标准的、语法上易分析的、通用的编码机制,Jxta 消息目前采用 XML 文档格式。Jxta 利用了 XML 的普遍可访问性和易使用、易编程的特点,这意味着 Jxta 可以用大多数编程语言在大多数平台上很容易地实现 — 只要 XML 语法分析器和生成库在那里是可用的。然而,Jxta 本身的设计却使其消息代码的编写不依赖于 XML 的使用。虽然现在不太可能,但 Jxta 社区在规范的未来版本中包含(或要求)基于非 XML 的消息是完全可能的。

关于 Jxta 标识符
从潜力上讲,对等组或许可以跟整个联系着的宇宙一样大。在这么大的名称空间中为任何事物进行唯一的命名都是一个挑战。为了应对这个问题,Jxta 给 Jxta 组件的每个可设定地址的实例都分配了一个内部标识符。这种标识是通过一个 UUID 进行的,UUID 是使用能够确保在时间和空间上都有很高概率的唯一性的算法产生的 64 字节的数字。Jxta 标识符是 URN(统一资源名称)格式的,并被嵌入到广告中供内部使用。目前定义了四种标识符类型,用于标识对等组、对等机、管道和代码/数据(code/data)(简写为 codat)。  
广告
广告有点像是消息的“堂兄弟”。Jxta 广告也采用 XML 文档格式。广告的内容描述了诸如对等机、对等组、管道或服务等 Jxta 组件实例的属性。例如,可以访问另一个对等机的广告的对等机可以设法直接连到该对等机上;可以访问一个对等组的广告的对等机可以通过广告加入对等组。目前的因特网中与广告相似的东西是域名和 Web 站点的 DNS 纪录。Jxta 规范没有规定如何创建、传播或销毁广告。

6楼2005-07-02 23:02:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

andyjian

银虫 (正式写手)

是不是不够专业哦??呵呵
发paper
2楼2005-07-02 10:18:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

一语惊人

至尊木虫 (正式写手)

1

★ ★ ★
yuefour(金币+3):谢谢
P2P软件下载  大全(下载地址见连接  http://www.ppcn.net/c3.aspx

  
Phex for Windows V2.4.2.86 英文正式版下载
    Phex是一个开放源代码,多平台,利用Gnutella 客户端的免费软件,你通过它可以搜索,下载以及共享所有类型的文件。这个程序提供了一个自动功能来寻找新的产品以及支持通过不同主机断点续传。
(2005-06-29,229) [查看全文]  
EDonkey2000(电驴) Command Line Client V1.1
    这个软件是集Gnutella以及Napster之大成。它不依赖任何中英服务器,搜寻速度更快,而你也不会被困在重复的找寻中。你可以搜寻在eDonkey2000etwork中的所有分享出来的资料,它允许你可以传输任何文件。
(2005-06-28,754) [查看全文]  
BT搜宝 V1.3 简体中文免费版下载
    使用BT一段时间后就会发现一个问题,那就是找BT种子很麻烦,需要到各个不同的网站去查找,很多网站又是登陆,又是广告非常不舒服。所以就决定编写一个软件,把国内一些比较大的BT网站的数据收集在一起,就不必到处瞎找了。
(2005-06-26,4046) [查看全文]  
Morpheus by StreamCast V5.0.0.602 Beta高速下载
   Morpheus是新一代的 MP3 搜寻软件,使用专门的点对点通讯协议,具有寻找新来源、文件续传和多处来源分段下载等特色,还有通讯聊天、播放音乐、建立播放清单与文件管理等许多功能。
(2005-06-26,203) [查看全文]  
马克思IE(mxie) V0.5.1.4 简体中文免费版高速下载
    马克思ie(mxie)是一个拥有网页浏览器功能的超级P2P搜索引擎,完全免费!各种音乐、电影、动漫、小说、图片等娱乐文件,一切你想得到的都可以找到!最新版本与BitComet合作,无缝集成BT下载功能,保证高速!独家装备了强力防火墙穿透利器,即使在严密防护的企业防火墙后也能通行自如。
(2005-06-26,782) [查看全文]  
PeerFTP File Sharing V4.0.3.0 免费版高速下载
    利用该软件你可以轻松实现与朋友或者同事之间的快文件速共享。选择文件夹共享、设置访问密码、激活文件共享、自动Email通知你的朋友或者同事,并提供相应的访问链接。在浏览时具有全套的安全措施,只有享有完全访问权限的人才能够进行拷贝。
(2005-06-26,189) [查看全文]  
比特精灵(BitSpirit) V3.0.0.087 简体中文版下载
    比特精灵BitSpirit是一个强大并且易于使用的BT客户端程序,它不仅提供了完整的BitTorrent实现,还提供了很多的个性化功能。
(2005-06-22,8454) [查看全文]  
比特精灵(BitSpirit) V3.0.0.087 多国语言版下载
    比特精灵BitSpirit是一个强大并且易于使用的BT客户端程序,它不仅提供了完整的BitTorrent实现,还提供了很多的个性化功能。
(2005-06-22,1199) [查看全文]  
BitComet V0.59 简体中文稳定版(修正版)下载
    BitComet是基于BitTorrent协议的p2p免费软件;高效的网络内核,多任务同时下载依然保持很少的CPU内存占用;支持对一个Torrent中的文件有选择的下载;磁盘缓存技术,有效减小高速随机读写对硬盘的损伤
(2005-06-22,5348) [查看全文]  
酷狗(KuGoo) V2.052 最新正式版高速下载
    KuGoo是国内最大的P2P音乐共享软件,拥有超过数亿的共享文件资料,深受全球用户的喜爱,拥有上千万使用用户。
(2005-06-21,18839) [查看全文]  
百宝 V1.2.2 简体中文版高速下载
    百宝把风靡全世界的点对点技术带给了国内互联网用户,只要你安装运行了百宝,就能得到网络里面几乎无穷的音乐、Flash、电影等多媒体资源,令你的带宽得到最最充分的利用。
(2005-06-20,2623) [查看全文]  
IS V2.0 Build 0526 简体中文免费版下载
    IS是新一代通用下载工具,不但完全具备常见下载工具断点续传、多点传输等普通下载功能外,IS还全面支持多服务器多点下载技术,自动搜索网络镜像链接, 优选快速下载链接, 从不同的服务器同时获取数据,有效减少http和ftp下载线程受限的困扰
(2005-05-28,6803) [查看全文]  
BitTorrent for Linux V4.1.2 Beta 最新官方测试版
    BitTorrent 下载工具软件可以说是一个最新概念 P2P 的下载工具、它采用了多点对多点的原理,一般简称 BT(BitTorrent) 也就是大家所说的变态下载。

[ Last edited by 一语惊人 on 2005-7-2 at 11:09 ]
请不要吝啬您的双眼和双手,您的支持是对我发帖的最大鼓励!
3楼2005-07-02 11:07:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

windflying

木虫 (小有名气)

★ ★
yuefour(金币+2):欢迎各位都积极参与讨论
引用回帖:
Originally posted by andyjian at 2005-7-2 10:18 AM:
是不是不够专业哦??呵呵

嗬嗬,只是个定义或者自己概念性的东西,更专业性的东西欢迎探讨啊,这些东西(包括前面的计算网格、RSS、计算机视觉等等,对偶都不陌生)
============ 沧海有多广,江湖有多深,一笑人才知晓.
4楼2005-07-02 21:16:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见