• 第六章P2P技术及应用


            第六章P2P技术及应用

    P2P技术在我们日常生活中非常实用,例如我们常用的QQ、PPLive、BitTorrent就是基于P2P技术研发。下面将本章中的重点内容进行归纳。

    文章中的Why表示产生的背景,也就是说为什么会产生该技术,What表示该技术是什么How表示该技术是如何使用的。以下将用字母表示各问题。

    1)P2P技术:
    Why:早期非对等结构网络操作系统主要共享的资源是硬件、软件与数据,而随着计算机的发展,PC的硬件配置日益提高,硬件资源已经足够强大,矛盾发生转变。用户希望共享数据、音乐、图像、视频等文件。

    What:P2P网络中每一个节点都是一个自治的计算机系统,两台计算机之间采用平等的“端到端” 方式和双向通信方式,共享双方的资源。P2P是基于内容来决定路由,而不是基于位置的路由。

    研究P2P主要涉及3方面内容分别是:P2P通信模式、P2P网络、P2P实现技术。

     

    2)P2P模式与C/S模式的比较

           从工作原理的角度来比较C/S与P2P两种工作模式

     

    此外两者最大的差别是在应用层,如下图所示:

     

    传统C/S模式的应用层协议主要包括:域名服务(DNS协议)、电子邮件(SMTP协议)、文件传输(FTP协议)、以及Web服务(HTTP协议)。

    P2P网络应用层协议主要包括:文件共享类(Napster协议),BitTorrent服务的协议、多媒体传输类Skype服务的协议。

     

    3)P2P网络的分类

    Why:用户如何能够很快地找到自己想要的文件。即需要解决三个问题:1.如何存储共享的信息资源2.如何让其他对等节点找到信息资源3.如何保证对等网络系统的可扩展性与性能

    How:如下图所示,为解决该问题,研究人员提出了多种P2P网络结构。

     

    3.1)集中式P2P网络

    What:集中式P2P网络中存在一个中心的目录服务器,它为所有P2P结点提供搜索和共享文件的服务。

    How:当某个用户需要查询资源时,只需要向中心目录服务器发送“资源索引关键字”,根据内容查询路由;中心目录服务器通过遍历资源索引表,就可以给用户放回查询结果。用户根据拥有该资源的节点IP地址与端口号访问该节点,直接获取所需资源。

    集中式P2P网络典型的例子是:Napster

    3.2)分布式非结构化P2P网络

    与集中式P2P网络不同的是,分布式P2P网络中不存在集中的服务器。

    How:当一个用户需要查询某一个共享文件时,将进行内容路由,将请求消息通过随机形成的网络拓扑洪泛法发送出去,使得全网节点都能够收到与查询内容相关的路由请求消息。接收到查询消息的节点进行检索,判断是否有需要的文件,如果有则发出查询应答消息。

    Gnutella是一种分布式非结构化P2P即Query Flooding协议,Gnutella网络消息报文交互过程如下图所示:

     

    3.3)分布式结构化P2P网络

    Why:由于分布式非结构化P2P网络可扩展性差的缺点,提出了该种新型方法。

    What:网络中结点拓扑相对稳定和规则,每个节点可以被指定一个逻辑地址,并且将地址与节点位置对应起来。也称为分布式散列表(DHT)网络。

     

    3.4)混合P2P网络

    Why:集中式P2P网络结构有利于提高网络资源快速查找能力,但是目录服务器容易受到攻击,因此系统的安全性与性能受到中心服务器节点的影响。

    What:将集合式与分布式P2P网络两者结合起来。

    混合式P2P网络节点类型分为三类:用户节点、搜索节点、索引节点

     

    四类系统的总体比较:如下图所示:

     

    基于P2P的网络应用:

    文件共享类软件:Napster、BitTorrent、

    通信类软件:Skype、QQ、MSN Message、Google Talk

    多媒体传输类软件:PPLive、AnySee

    共享类软件:OceanStore、Tapestry、Pastry

    分布式计算类软件:GPU、SETI@home

    协同类软件:Groove

    搜索引擎类软件:Pandango

     

  • 相关阅读:
    Centos7部署Django
    CentOS7 常用命令
    window安装django-auth-ldap
    解决group by分组默认获取id最小的一条数据
    js基础之if判断
    java操作word转pdf多选框问题(linux服务器下)
    震惊,男默女泪,使用nginx代理,并进行ip拦截
    高德地图在marker里设置自定义属性
    angular项目启动错误
    本地连接虚拟机内的kafka遇到的问题
  • 原文地址:https://www.cnblogs.com/qal2767799810/p/8012560.html
Copyright © 2020-2023  润新知