引言

P2P (Peer to peer) 思想

  • P2P使得任何的网络感知设备可以为另外一个网络感知设备提供服务。
  • P2P网络的一个节点既是客户端,又是服务器。

    概念

  • 对等计算被描述为通过系统之间的直接交换来共享计算机资源和服务。

  • 这些资源包括

    • 信息,
    • 处理周期,
    • 缓存存储,以及
    • 文件的磁盘存储。

      优点

  • 便宜的设备协作、利用集体力量.

  • 节点既是客户端又是服务器.
  • 无传统意义下的服务器超载现象

    第一代非结构化P2P架构-带有检索服务器

    image.png
    Client A**怎样查找其它有用的节点?**

  • 发送请求

  • 目录服务器查找对等节点
  • 开始互动

    第二代非结构化P2P架构-纯P2P架构

    image.png

    纯P2P架构的性质

  • 节点既是客户端又是服务器

  • 没有中心服务器
  • 两种路由结构
    • 分布式目录
    • 直接发送消息

      Gnutella资源查找方式

  1. 连接到P2P网络
  2. 查找新节点
  3. 新节点回答
  4. 发送请求消息
  5. 获得回答
  6. 上载文件

    早期版本的Gnutella的缺点

  • 不稳定的连接
  • 伸缩性问题
  • 搜索范围不够大

    关于Gnutella协议

  • Gnutella 采用分布式的协议,每个节点既是服务器又是客户端

    Gnutella的性质

  • 可靠性

  • 匿名性
  • 共享任何种类资源
  • 纯P2P

    第三代P2P架构-非结构化层次化P2P架构

image.png
架构的解释

  • 叶子节点 (A leaf node)
  • 超级节点 (An ultrapeer)

在查找过程中,叶子节点的责任

  • 启动查找请求,
  • 接收相关查找响应,以及
  • 回应他们能准确回答的请求

在查找过程中,超级节点的责任

  • 转发请求到其它超级节点
  • 转发请求到自己的叶子节点

    结构化P2P软件体系结构简介

  • 在第一代无结构化P2P网络中:使用一个中心检索服务器接收所有的查询,服务器告知去哪下载其所需要的数据。

  • 在第2代纯P2P网络中:使用消息洪泛(message flooding)来定位数据。一个消息被发到系统内每一个节点,直到找到其需要的数据为止。**