P2P网络的定义和概念
P2P是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力,存储能力,网络连接能力,打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。
在此网络中的参与者既是资源提供者,又是资源获取者。
P2P:Peer to Peer对等网络
- peer指网络结点,在行为上是自由的——任意加入、退出,不受其它结点限制,匿名;在功能上是平等的——不管实际能力的差异;在连接上是互联的——直接/间接,任两结点可建立逻辑链接,对应物理网上的一条IP路径。
- 充分利用网络带宽、节点资源,提高工作效率。
提高网络工作效率
- 对比C/S,结点间的协作效率更高。
- 结构化P2P有严格拓扑结构,基于DHT,将网络结点、数据对象高效均匀地映射到覆盖网中,路由效率高。
充分利用网络带宽
- P2P不通过服务器进行信息交换,无服务器瓶颈,无单点失效。
- 充分利用网络带宽,如BT下载多个文件,可接近实际最大带宽,HTTP及FTP很少有这样的效果。
开发了每个网络结点的潜力
- 结点资源:计算能力及存储容量
- 个人计算机非永久联网,是临时性的动态结点,称为“网络边缘结点”。
- P2P使内容“位于中心”->“位于边缘”,计算模式由“服务器集中计算”->“分布式协同计算”。
请阐述结构化P2P网络中资源存取是如何实现的?
资源放置
在P2P系统中,并非个人资源(比如数据)都放置在各自的机器上,很可能是所有机器共同管理资源,比如在P2P存储系统中经常采用分布式哈希表放置数据,个人数据可能放置在他人的机器上,于是如何进行资源放置就成了必须回答的第一个问题。
资源定位
数据的查找与资源放置方法是直接相关的。对于以DHT方式放置的数据,可以直接定位。
但在多数文件共享系统中,用户的文件都是放在各自的机器上,如何知道哪些机器放有用户需要的数据就成为一个关键问题,常常需要较大规模的搜索才可以完成。
资源定位就是研究如何更有效率地找到需要的资源所处的位置,尤其是一些在网络中的稀有(rare)数据。
资源获取
资源定位后就需要获得资源,有些资源并不能直接获得,比如计算资源,大文件,流媒体资源。
这里的问题主要在于如何才能更高效的获取资源,或者说如何使一些热点资源服务更多的需要该资源的用
户。这通常需要尽量发挥P2P系统中所有参与者的能力,而使用P2P模式充分地利用了所有结点的带宽资源,使得并行下载能力得到了极大的扩展。