P2P即Peer to Peer,称为对等连接或对等网络,P2P技术主要指由硬件形成连接后的信息控制技术,其代表形式是软件。
技术背景
P2P起源于最初的联网通信方式,如在建筑物内PC通过局域网互联,不同建筑物间通过Modem远程拨号互联。其中建立在TCP/IP协议之上的通信模式构成了今日互联网的基础,所以从基础技术角度看,P2P不是新技术,而是新的应用技术模式。
今天,P2P再一次被关注主要是由Napster以及ICQ类软件的出现,虽然在Napster之前P2P方式的研究也从未停止。
现在互联网是以S(Server)/ B(Browser)或S/C(Client)结构的应用模式为主的,这样的应用必须在网络内设置一个服务器,信息通过服务器才可以传递。信息或是先集中上传到服务器保存,然后再分别下载(如网站),或是信息按服务器上专有规则(软件)处理后才可在网络上传递流动(如邮件)。
如今拥有Napster及ICQ类软件的PC(或操作者)就可以选择同样拥有此类软件的另一PC(或操作者)形成互联(直接连接,不通过服务器),双方共享资源,协同完成某种行动。而拥有同一P2P软件的设备和用户,还可以形成一个为其自己所有的在互联网上的P2P专用网。
现状
1. 代表性研发产品和技术
(1) ICQ类的即时通信软件。两个或多个用户互相使用文字、语音或文件进行交流,快速、直接,易于同非PC网络设备(如PDA、手机)通信,而且它不依赖设备即可辨别用户。由于利用P2P技术可以弱化甚至摆脱对中央服务器的依赖,这样的通信更接近非互联网通信模式。
(2) Farsite(Microsoft),Ocean Store类数据存储软件。用于在网络上将存储对象分散化存放,而不像现在放于专用服务器。这样减轻了服务器负担,增加了数据的可靠性和传输速度。
(3) Napster类软件。实现数据共享,使用者可以直接从任意一台安装同类软件的PC上下载及上载文件,而不是从服务器。用户可以检索、复制共享的文件。软件自动发现最新的文件列表,发布者无需担心发布的问题。
(4) Infrasearch、Pointera类数据搜索及查询软件。用来在P2P网中完成信息检索。一旦形成P2P专用网,其上的数据搜索与现在互联网中数据存在中央服务器的情况有所不同,必须要考虑动态地将当前P2P网络中各个Peer的内容进行收集,并且要有效地向用户传递。 P2P网用户中相当数量在联网方式上不同,专线、拨号、宽带、窄带都会碰到; 联网的时间可以一个是24小时在线,而另一个完全可能仅联机几十分钟; 使用的操作系统也不一定相同。
(5) Netbatch(Intel)类协同计算软件。可联接近1万台PC,利用它们的空闲时间进行协同计算,完成超计算量的工作(如空间探测,分子生物学计算,芯片设计)。
(6) Groove 类数据或行动协同软件。它是基于P2P连接的软件工具,可以建立一个安全的企业级协同工作平台(P2P网),提供供求信息链上的互动信息沟通,如货品目录、库存及发货清单,帮助使用者进行经销渠道维护、客户服务和支持。
(7) 游戏软件。事实上许多网络游戏均是P2P方式的,尤其是那些双人及多人对弈游戏。
2. 组织与标准
目前,正式的P2P组织尚未成立,2000年8月间成立的P2P工作组,成员包括Intel、IBM、HP等大企业,目标集中在P2P技术的标准、安全性及可靠性等等。但由于P2P技术本身发展迅速,P2P技术涵盖的范围尚未确定,目前尚未有统一的规范。
发展
1. 关键技术
P2P是一种基于互联网环境的新的应用型技术,主要为软件技术。
(1) 对于互联网上众多计算机,P2P应用比其他应用要更多考虑那些低端PC的互联,它们不具备服务器那样强的联网能力,同时对于以往的P2P应用技术,现在的硬件环境已经更为复杂,这样在通信基础方面,P2P必须提供在现有硬件逻辑和底层通信协议上的端到端定位(寻址)和握手技术,建立稳定的连接。涉及的技术有IP地址解析、NAT路由及防火墙。
(2) 在应用层面上,如果两个Peer分别代表两家不同的公司,而且它们已经通过互联网建立连接,那么一方的信息就必须为另一方所识别,所以当前互联网上关于数据描述和交换的协议,如XML、SOAP、UDDI等都是一个完善的P2P软件所要考虑的。
(3) 有通信就要有安全保障,加密技术是必须要考虑的。
(4) 其他需考虑的有如何设置中心服务器,如何控制网络规模等。
2. P2P技术与现有互联网技术比较
目前互联网主要技术模式是S/C方式,此方式要在互联网上设置拥有强大处理能力和大带宽的高性能计算机,配合高档的服务器软件,再将大量的数据集中存放在上面,并且要安装多样化的服务软件,在集中处理数据的同时可以对互联网上其他PC进行服务,提供或接收数据,提供处理能力及其他应用。对于一台与服务器联机并接受服务的PC机来说,这台PC机就是客户机,其性能可以相对弱小。而P2P技术的特征之一就是弱化了服务器的作用,甚至取消服务器,任意两台PC互为服务器,同时又是客户机,即对等。右面是P2P与S/C方式的一些比较:
S/C方式造成互联网络上的集中,无论信息资源还是成本资源均向同一方向集中,这样的模式符合一对多、强对弱的社会关系形式,如政府对个人、对企业,大企业对小企业,学校对学生,企业对职工等等关系。所以S/C方式是符合市场需求的。P2P方式将导致信息数量、成本资源都向互联网各点均匀分布,也就是所谓“边缘化“的趋势。此模式符合“一对一”的特点,以及彼此相当的社会关系形式,如个人对个人,规模相当的企业之间,等等,这也是符合市场需求的(如ICQ)。所以这两种方式会共存,有关P2P即将替代S/C模式的说法是不成立的。P2P有其独特的市场空间,是现有互联网应用的补充,这一点应该是毫无疑问的。
3. P2P技术特性
(1) 既是S又是C,如何表现取决于用户的要求,网络应用由使用者自由驱动。
(2) 信息在网络设备间直接流动,高速及时,降低中转服务成本。
(3) 构成网络设备互动的基础和应用。
(4) 在使网络信息分散化的同时,相同特性的P2P设备可以构成存在于互联网这张大网中的子网,使信息按新方式又一次集中。
企业应用
应用P2P技术的互联网产品正在迅速开辟出一块新的互联网应用市场,例如ICQ类的即时信息工具不仅创立了一个巨大市场,而且正在多方向地向外扩展,比如在移动通信市场,ICQ产品的多信息格式(文字、语言的支持)和即时性,可以为常规通信增加信息内容(文字、图片)和通信对象(网上ICQ用户)。
另一方面,ICQ的使用也会使部分用户放弃Email,侵蚀Email市场。Napster类的文件共享型P2P产品开拓出网上文件传播的新途径,用户不仅可以进行搜索和下载这样的操作,同时也可以方便地将自己的文件提供给其他用户,做到了基本的双向交流。
由于P2P技术方案不同于S/C方式的特性,可以在许多方面弥补S/C方式的不足,P2P产品将建立互联网上的一种新的应用模式,这时用户不仅在PC装有浏览器,而且还有数种P2P软件来实现新的互联网应用。
比如一个计算机配件经销商可以通过Email或浏览器(如果对方也通过P2P技术发布信息,则也可以用P2P软件)得到其上游厂家最新推出的产品信息及价格,研究了这些信息,并落实订货事宜之后,启动P2P软件,将新的产品及售价发布到重要客户的P2P联络站上,其中一个未上网的用户通过手机也知道了这消息。不久,经销商将收到客户的在线询问,而经销商在线回答问题的同时又将一个驱动程序传给了这个客户。这一切的操作均是通过互联网,而对象是厂家人员或客户,而非其网站或邮箱,这样就真正利用互联网做到了面对面的交流,更加接近现实社会的人际交流习惯。
1. 企业P2P互联网应用的几个侧重
(1) 企业协同
企业协同包括两大方面,一是企业内部的员工与员工、部门与部门、员工与部门之间的协同,无论部门及员工处在何种地理位置,只要拥有网络,双方存在信息沟通的要求,就可以利用P2P软件协调双方的行为。信息的种类及行为目的可以是多种多样的,如日程安排、通知发布、单据的审批、文件传阅和分发、方案的评比(表决)、计划协调等等这些可以通过电子文件表达的信息均可以通过软件来表达,并以此将使用者联系在一起。P2P应用更适用这当中更多需要用户交互的部分,如计划协调、日程安排等。二是企业与企业之间的行为协同,这种协同的互动的多样性和复杂性要高于企业内部的协同。从简单的会议日程安排、公文往来,到报价、询价订货系统、订单跟踪、电子化交易。
(2) 企业门户
新型企业门户不再简单地以一个网站来实现,它不但综合了为企业内部员工或部门的服务,还可以为企业伙伴及用户服务,同时也是企业管理者了解企业运行状态,调控企业运行的管理工具。企业各个部分的运行情况均可以通过它传递给允许接触到相关信息的使用者。管理者可以通过门户掌握企业的动态,调控企业的运行,直达下级领导建立沟通。而企业内部的员工与企业外部的伙伴或客户均可通过这一平台找到相关的人(工作人员),建立起这样那样的信息交流通道,实现不同的协作目标。这将综合S/C技术和P2P技术,P2P部分将实现信息定向推送,实时沟通和数据互动。
(3) P2P群集和VPN
构建于互联网之上的P2P应用不再简单地限于两个点,完全可以扩展到多点的群集,形成互联网中的一个虚拟的子网,构成一个精简的VPN。这样一来,通过相对简单的,仅仅是对P2P用户端软件的操作,用户就可以主动地选择不同的VPN并加入,同时也就使得了不同的VPN同时存在于互联网之中。个性化、专业化同时又是开放(基于互联网)的VPN的出现,使信息的集中和流动更接近现实社会的信息流动方式,更易于为人们所接受。比如喜爱音乐的人们建立了自己的音乐VPN,擅长编程的设计师可以建立自己的程序员VPN,而对于企业,行业化、渠道化的组织终于有了一个在互联网上安家的便捷途径。可以预计,行业化的目录服务、信息服务将通过此方式迅速涌现,为企业电子商务打下一个良好基础。
(4) 人机远程互动和机机互动
远程监控和调试已经运用在许多工业场合,甚至也出现了一些通过网站方式运行的方案,但网站方式在速度和交互性方面的缺陷使得用户无法接受。P2P方案为这方面的应用开辟了新的天地,利用它,一个锅炉厂商可以通过互联网帮助其客户调控其锅炉的运行状态,而我们也可以在回家的路上用手机将家中的空调提前打开。
(5) 宽带网及无线移动网应用
当带宽达到数据流要求的容量,如实时音频、实时视频,人们期待已久的多种网络应用就会呈现在面前。而特别能满足交互需要的P2P技术更有一块施展的天地,电话会议、视频会议、远程教育、培训、安装调试等等都将为企业带来P2P技术的新应用。实际上ICQ作为P2P技术已经开始应用在手机短信上。
2. 企业P2P互联网应用的市场特点
(1) 构成企业B2B电子商务内容的一部分。
(2) 促进建立新的互联网数据交换标准和数据安全模式。
(3) 引起新一代互联网的应用,可以建立起底层结构平台。
(4) 具有领域化的市场分割—与前一时期的互联网热有相同的出发点,将建立起相关行业的群落。
(5) 有较明确的赢利模式。由于P2P产品不再像S/C方式那样客户仅使用浏览器,而是使用特质的客户端软件,同时软件的使用需厂家的直接支持,用户对购买软件或缴纳使用费很容易理解。
(6) 向后产品和技术可以整合进入企业内部信息管理市场,向前可以进入企业外部电子商务市场。
3. 估计的产品形式
(1) 底层基础开发平台及专项应用软件。
(2) 软件工程。为企业量身定做。
(3) 软件服务。将软件功能租给企业使用及信息服务。
不符合,因为p2p要保证服务端没有独立ipv4的情况下也能正常工作
你可以参考一下
P2P系统简单发展史
1999年,文件共享系统Napster诞生。Napster是最早的P2P实用系统,参与系统的是大量个人计算机用户,每个用户将自己愿意共享的文件提供出来,同时可以下载其他用户共享的文件。Napster需要解决的核心问题是必须知道哪些机器上有哪些文件,这样当用户提出文件搜索请求时才可以得到正确的匹配结果。
在Napster中使用一个中心服务器,称为目录服务器,存放所有文件的元数据信息(文件的标题和一些简单的描述信息)以及其存放结点的IP地址。结点加入系统时首先要连接目录服务器并报告自身地址及共享的文件列表。用户需要某个文件时向目录服务器提交搜索请求,目录服务器返回符合搜索要求的所有文件的存储地址,之后用户根据对应地址直接从共享此文件的结点处进行文件下载。由于目录服务器只提供索引服务,而不承担文件存储和下载服务,因此它支持上万结点同时在线。Napster在发布后迅速流行起来,很快成为增长最快的网络应用系统。
事实上,Napster中的结点并非全部对等,目录服务器要承担比其它结点繁重得多的工作,从这个意义上说,Naspter并非一个纯粹的对等系统。由于Naspter中的结点动态性很高(指结点的加入、退出很频繁),目录服务器就处在不断的更新之中。并且,目录服务器还要负责响应所有用户的查询请求。因此,当系统规模更大时,目录服务器还是会成为系统的瓶颈。此外,目录服务器的存在成为系统的关键点,也就成为整个系统最易受攻击的要害所在。在Naspter之后的P2P系统都在这一点上进行了重点改进,系统基本上都采用无中心结构,鲁棒性和可扩展性都得到大幅度提高。
Napster在初期取得了巨大成功之后,很快遇到版权问题的困扰。由于Napster上共享的文件有很多是音乐媒体文件,这些音乐媒体在未被授权时是不允许被广泛传播的。而Napster的目录服务器恰恰为这些文件的传播提供了支持,因此Napster很快受到音乐著作方为保护版权而发起的挑战,并于2001年被迫关闭。
Napster第一次验证了P2P思想在广域网范围内的可行性,在Napster关闭之后,更多的P2P文件共享系统迅速崛起,成为Internet发展的一股巨大浪潮,其中最著名的是Gnutella和KaZaA。
从Gnutella到KaZaA
Gnutella对Naspter的体系结构进行了彻底的改变,不再使用中心目录服务器,转而使用全对等结构:每个结点记录多个其它结点的IP地址(称为“指针”),这样整个系统的拓扑就成为一个由指针搭建起来的有向图,通常称这张图为“覆盖网”(Overlay),由于Gnutella的覆盖网中没有规定哪些结点之间必须有指针相连,因此整个覆盖网没有一个有序的结构(比如环形、立方体形、层次结构、树形结构、有向无环图等),被称作“非结构化覆盖网”(Unstructured Overlay)。
当用户需要进行文件搜索时,就在覆盖网上进行广度优先或者深度优先搜索,在搜索到一定的范围后,将得到的匹配搜索条件的结果返回给用户。由于这种搜索不可能遍及整个覆盖网,因此就存在不能搜全的问题。但是这个问题并不严重,因为大多数时候人们总是搜索一些比较热门(popular)的文件,而这些文件在整个系统中往往有很多份,只要搜索的范围不是很小,总可以搜到其中的一份或多份。当然,如何在非结构化覆盖网中搜索不热门的文件也是P2P研究中的一个热点问题,近年来也取得了一些进展。
实际上,这种对搜索完备性的牺牲换来了很高的可扩展性:系统不再有中心结点成为瓶颈,规模可以扩展到上百万甚至上千万结点的规模。并且,由于不存在易受攻击的关键结点,系统的鲁棒性也得到了提高。
KaZaA对Gnutella做了进一步的改进。由于系统中的大多数结点的动态性都很高,因此覆盖网中结点的指针就必须频繁更新,去除掉那些已经离开系统的结点,补入新的在线结点。人们从Napster和Gnutella的实际经验中得知,在P2P文件共享系统中结点的能力差异很大,有的结点能力很强,并且很稳定,每次上线之后能保持很长的在线时间,而更多的结点能力弱,且加入系统后很短时间(很多只有几分钟)就离开系统。这样,KaZaA利用系统中的强结点搭成系统的主干框架,而弱结点附属在临近的强结点上。也就是说:KaZaA把结点分成强、弱两种,强结点之间搭建类似于Gnutella的覆盖网,而弱结点只连接一个或几个强结点,并把自己的元数据(即共享文件的列表)发送给强结点,文件搜索只在强结点上进行。这样KaZaA获得了比Gnutella更高的稳定性和搜索效率。当前,KaZaA的同时在线用户稳定在三百万以上,已成为全球最大的分布式系统。
近期,P2P文件共享系统的版权问题也开始逐步得到解决,Napster在关闭之后被音乐软件生产商Roxio公司收购,Naspter网络被转而成为合法的软件发布渠道。之后,由于业绩看好,Roxio公司更名为Napster,并于2005年1月在纳斯达克上市。目前,Napster的全球注册用户已超过7000万。
P2P结构的应用和研究
另一方面,P2P文件共享系统的成功促使人们致力于在更多方面开拓P2P结构的应用。其中大文件分发系统BitTorrent和基于覆盖网的IP电话系统Skype最为成功。
传统的文件下载大多使用FTP等协议进行C/S方式的下载。这样,对于一些热点文件就会有很多用户同时需要下载,由于服务器端的带宽有限,就会有很多用户的请求得不到满足,从整体上看,下载效率很低。BitTorrent试图充分利用下载用户之间的带宽进行数据传输,从而减轻服务器负担,提高下载速度和系统的可扩展性(同时下载人数)。BitTorrent的基本策略是:每个用户从服务器上下载一部分数据,各个用户下载的部分不尽相同,之后用户之间互相交换对方没有的数据,最终使所有用户都获得全部数据。BitTorrent在推出之后迅速流行,由于越来越多的人使用BitTorrent在Internet上进行数据下载,很快使得P2P系统成为网络流量占据50%以上的Internet首要应用。
Skype作为基于覆盖网的IP电话系统提供了比以往通过Internet直接连接的IP电话更好的语音效果,因此受到用户的广泛欢迎。自2003年发布以来,其用户增长速度迅猛,截至2005年2月,Skype的注册用户已达2100万,同时在线用户超过200万。Skype的系统结构基本上类似于KaZaA,当用户之间需要语音通信时,Skype在覆盖网中找寻出一条当前带宽最大的覆盖网通路,通过多跳转发的方式进行数据传送。通常情况下,在覆盖网中找到的转发通路比起通话两点之间的直接通路质量要好,因此通话过程中语音也就更加清晰流畅。由于Skype的出现和高速发展,越来越多的用户转向IP电话,已经对传统的电信业构成了一定的威胁,而将来Skype这样的基于P2P的IP电话系统很可能会在很大程度上取代传统电话业务成为人们日常通信的基本方式之一。
在P2P系统在产业界迅速发展的同时,研究界也及时跟进,对P2P系统展开了大规模的研究工作。自2000年起,在OSDI、SOSP、SIGCOMM、USENIX、HOTOS等系统结构方向的顶级会议上不断出现关于P2P系统的重要研究成果。2001年,学界又召开了新的专门针对P2P系统的学术会议IPTPS,由于该会议受到各著名院校和研究机构的广泛关注,很快成为P2P研究领域的高峰会议,发表了大批优秀论文,成为P2P研究的风向标。从2002年开始,Berkeley、Stanford等著名大学相继开设了P2P相关的研究生课程,进一步推广了P2P这一新兴的研究方向。
精神实质是“结点合作”
P2P系统的精神实质是“结点合作”。因此,只要一个系统中没有管理者,所有任务都是依靠结点之间的交换与配合完成,这个系统就可以认为是P2P系统。总体上看,已有的P2P系统可以分为两类:
第一类称为“P2P服务系统”(Service-Oriented P2P Systems),P2P服务系统用对等的方式将广域网中的服务结点组织起来,向用户提供更强大、更可靠的服务(数据服务、计算服务、存储服务等),这一类系统包括图书馆资料合作维护系统LOCKSS、广域网分布式实验平台PlanetLab、P2P存储服务系统Ivy等等;
第二类称为“P2P交换系统”(Barter-Oriented P2P Systems)。P2P交换系统为Internet中的大量终端用户搭建资源交换的平台,用户可以在此平台上进行资源交换,所交换的资源可以是文件、数据块、存储空间等。这一类系统包括文件共享系统KaZaA、大文件分发系统BitTorrent、P2P存储交换系统Pastiche等等。
无论是P2P服务系统还是P2P交换系统都面临着很多在传统的分布式系统中没有的新问题:
结点数量大。
很多P2P系统已经达到上百万结点同时在线的规模,这样大的规模导致的一个直接后果是不可能使用全连接的拓扑结构(就是让每个结点记录当前所有的其它结点)。这样一来,如果让结点知道更多其它结点的信息并保证任意两个结点之间能够通信就成为一个棘手的问题。因此,P2P系统中的结点信息收集算法和覆盖网路由协议就成为P2P研究的一个重要方向。
结点动态性高。
对于用户来说,使用P2P系统的一个标准模式是“进入系统-查找资源-获得资源-离开系统”,这一过程通常时间不会很长,因此P2P系统的一个显著特点就是结点的平均在线时间短,实验测算,在Napster和Gnutella系统中结点的平均在线时间仅为2个多小时。结点的高动态性使得维护数据可用性的工作变得非常困难。
结点异构性强。
Internet中结点的硬件能力不同、接入方式不同。这就造成了参与P2P系统的结点在存储能力、计算能力和带宽能力上都有着很大差异,如何利用这种异构性把所有结点的可用资源都充分利用起来以提高系统各方面性能是P2P系统必须仔细研究的问题。
结点分布广泛。
P2P系统的结点在全球范围内分布,由于时区不同,系统的不同部分会在不同时间处于繁忙状态。这对负载平衡、任务迁移、复制策略等方面都提出了新的挑战。
网络异步性强。
传统分布式系统在集群或者局域网的范围内部署,网络属于同步网
(Synchronous Network),也就是说任意两个结点之间的通信延迟总有上限。而P2P系统部署在Internet这一异步网(Asynchronous Network)中,由于网络经常发生阻塞、扰动、分裂等情况,不能保证系统中任意两点的通信延迟有确定的上限。网络的异步性给一些需要严格语义的应用造成了很大困难。例如:复制算法在异步网中就不能保证严格的线性一致性(Linearizability)。那么如何在Internet环境下对于各种操作保证尽量强的可靠性和一致性就需要仔细的分析和研究。
结点之间不互信。
P2P结点来自于不同的组织和用户,结点之间没有天然的信任感,因此安全和隐私保密的工作就十分重要,如何在与别的结点交换数据时保护好自己的隐私一直是P2P研究的一个重要方向。
结点具有自私性。
很多理性用户总是试图多使用别人的资源,少贡献自己的资源。实验测算,在Gnutella中有25%的结点从不共享数据给别人,只从别人那里下载数据。并且有大量的用户(大约占30%)低报自己的带宽以降低其它用户下载其数据的意愿。如何激励用户多贡献自己的资源,保证交换中的公平性也是受很多研究者关注的热点方向。
系统全部暴露在公网中。
在传统的分布式系统中一般只有负责与用户交换的门户结点(Portal)才可以直接从Internet访问,而P2P系统的几乎全部结点可以直接从Internet访问,这使得P2P系统更容易受到攻击。尤其对于一些允许结点任意加入的系统(比如大多数P2P文件共享系统),如何防止联合攻击(Conspiracy Attack)就显得更加重要。
正是P2P系统的这些新特点使得P2P系统从一出现就显得与传统的分布式系统有着非常大的差别。这也是它之所以能够引起众多著名学者的研究兴趣的原因之一。
P2P应用系统应用现状
随着P2P技术的发展,人们尝试着使用P2P的方法解决各种问题,越来越多的P2P应用系统被提出并得到实践的检验,其中主要的包括:
广域网分布式存储系统(P2P存储系统)。
分布式存储系统一直是分布式系统的一个重要领域,传统的局域网范围内的分布式文件系统、分布式对象存储系统、分布式数据库都有着良好的研究基础。P2P技术出现后,人们试图把这些分布式存储系统向更大范围拓展,提出了在广域网中构建的分布式文件系统、对象存储系统和数据库系统。
视频组播系统。
视频组播的带宽要求很高,因此传统的C/S结构的组播系统的往往由于服务器出口带宽的限制而导致系统的可扩展性很差。在基于P2P结构的视频组播系统中,只有少数结点从服务器直接获取数据,更多的结点一方面从其它结点处获得数据,一方面也向其它结点提供数。整个系统的体系结构为树状结构或者网状结构。这种以对等方式构建的视频组播系统充分利用了结点之间的可用带宽而使系统的可扩展性大为提高。
大文件分发系统。
与视频组播系统类似,大文件分发系统也是通过结点之间互相传递数据以减轻数据源点的压力,体系结构也是树状结构或者网状结构。但是由于文件分发系统对实时性、最低可接受带宽等要求不高,因此相对于视频数据它能更充分的利用带宽,获得更高的可扩展性。
域名服务器(DNS)。
当前Internet的DNS服务器之间的连接使用树状结构。在这种结构中,对一些不常用的域名解析时由于在需要在树状结构中进行很多跳的查询转发,因此效率比较低。尤其是如果对一个错误域名进行解析,或者负责解析的服务器暂时不可用时,需要很长时间才能返回用户并显示查询失败。另外,由于现行机制下标识一份文档的url和它的存储地是直接相关的,这给文档的迁移带来很多不便。很多工作致力于使用P2P构架重建DNS系统,使其更高效,并且剥离文档标识与存储地点的相关性,取得了很好的效果。
网页合作缓存(Web Cache)。
Web站点经常出现访问热点而影响网页的可用性和访问效率。如果通过P2P的方式将网页在多个结点中进行多备份的合作缓存,可以很好的解决这一问题。这种合作缓存的方式既可以在多个客户端之间进行,也可以在多个服务器之间进行,还可以将服务器与其客户端组织起来取得更好的分配策略。
覆盖网路由(Overlay Routing)。
虽然Internet可以提供任意两点之间的数据通路,但是由于路由器更新、配置错误、网络拥塞等原因,常常会出现两点之间通信质量差甚至完全不能连通的情况。为了减少乃至避免这种情况的出现,人们提出可以在需要通信的很多结点之间搭建一个覆盖网,当两点之间直接通信不畅时,可以想办法通过其它结点的转发来实现更高效的通信。比如,当结点A无法向结点B发消息或者通信质量很差时,可能存在另一个结点C,A与C、C与B之间的通信都是畅通而良好的,这样A就可以将消息发给C,C再转发给B。
应用层组播(Application-Level Multicast)。
虽然IP层组播技术提出已经有十年之久,但一直没有被广泛使用,主要原因是它需要改变路由器算法,因此难以被广泛部署;而且IP组播需要记录组状态(组名与成员地址),使得协议十分复杂,也不符合Internet设计中一贯坚持的IP层无状态的基本原则。鉴于此,人们提出不需要IP层支持的应用层组播,也就是在需要收到消息的结点之间不断转发消息,以保证消息最终能够被该组的所有成员收到。很多应用层组播在结点之间通过树状结构进行组播,并且:(1)保证有结点进出时树状结构能够迅速修复;(2)优化这一树状结构,使其与下层Internet结构更为匹配,以提高组播效率,降低组播通信对Internet链路产生的压力。
另外,还有一些工作试图建立P2P搜索引擎、利用P2P系统测量网络状况、通过P2P路由消除防火墙与网关的障碍、构建P2P游戏系统等等,这里不再做更详细的介绍。