第六章P2P技术及应用

Posted 高老庄猪哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六章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

 

以上是关于第六章P2P技术及应用的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络 王道考研2021 第六章:应用层 -- 网络应用模型(客户/服务器模型P2P模型)

Android深度探索——第六章读书笔记及心得

ThinkPHP基础-----第六章(控制器相关)

《后台开发:核心技术与应用实践》第六章

第六章数据库及数据库对象

第六章学习小结