当前课程知识点:计算机网络技术 > 第五章 Internet应用层与应用层协议 > 5.2 P2P网络的主要类型 > 5.2 P2P网络的主要类型(上)
第二节
P2P网络的主要类型
在P2P网络中
对等节点
能够找到存储有自己所需要下载信息资源的
对等节点的过程
称为P2P的“内容路由”
根据各种P2P网络结构
和内容路由算法的特点
P2P网络可以分为三种类型
集中式P2P网络
分布式P2P网络
混合式P2P网络
分布式P2P网络
又可进一步分为以下两种
非结构化P2P网络
和结构化P2P网络
P2P网络的问题
随着互联网的广泛应用
许多用户
可能有一些对其他用户来说感兴趣的资源
如文件 ppt文档 免费软件 音乐 影片与照片等
拥有共享文件的用户
可能需要思考的问题是
我要把这些共享文件存放在哪里
而想下载共享文件的用户
需要思考的问题是怎么能够
很快的找到我想要的文件
图中描述了P2P网络与Internet
共享资源提供者与使用者关系示意图
图中所示
在逻辑覆盖网上
相邻的两个节点
对应的物理网络节点
也许分布在两个相隔很远的地方
因此
在研究P2P网络时需要解决以下3个问题
一个是如何存储共享的信息资源
第二个是如何让其他对等节点找到信息资源
第三个是如何保证
对等网络系统的可扩展性与性能
不同类型的P2P网络提供了不同的解决方案
先看集中式P2P网络
如果采用集中式P2P网络结构设计的软件
称为第一代P2P软件
其代表性的软件是Napster
集中式P2P网络中存在一个中心的目录服务器
它为所有P2P节点
提供搜索与共享文件的服务
集中式P2P网络的特点有
P2P网络中所有的节点
都与中心目录服务器建立连接关系
形成星型拓扑结构
所有节点的资源索引
信息保存在中心目录服务器的资源索引表中
使得中心目录服务器
拥有全网的资源索引信息
资源索引信息包括文件名 关键字 节点 IP地址 端口号
当某个节点需要查询某个资源时
只需要向中心目录服务器发送“资源索引关键字”
中心目录服务器通过遍历资源索引表
就可以给用户返回查询结果
用户根据拥有该资源的节点IP地址
与端口号访问该节点
直接获取需要的资源
而传统C/S模式中
节点向文件服务器发出一个文件读取请求指令
文件服务器收到后
判断其为合法用户
并将它所需的文件传送给节点
为了帮助大家理解P2P具体的工作原理
这里以典型的
集中式P2P网络Napster为例
对工作流程进行分析
1999年Napster成为世界上第一个P2P网站
并且网站高峰时注册人数达到8000万
这是当时其它网站所望尘莫及的
图中给出了请求服务的对等端(Req)
Napster服务器提供服务的对等端(Prov)
三者之间的消息报文交互
及文件下载过程示意图
请求服务的对等端(Req)
首先需要向Napster服务器发送Login消息报文
以完成注册等初始化过程
然后是Napster服务器确认它的身份之后
返回一个Login ACK消息报文
初始化过程结束
假设请求服务的对等端首先用3个消息报文
向Napster服务器公告了3个新的共享文件
然后再用一个
消息报文向Napster服务器请求下载一个音乐文件
如果Napster服务器检索出有两个对等端
存储有请求服务的对等端需要的文件
那么它就会向请求服务的对等端
发送两个Response消息报文
请求服务的对等端
可以从回复的Response消息报文中的IP地址
向对方 节点发出HTTP: GET请求报文
如果该节点同意服务请求
就会用OK报文
连同需要下载的文件一起
连同需要下载的文件一起
作为对HTTP: GET请求报文的回复
发送到请求服务的对等端(Req)
不同消息报文所包含的信息如图所示
其中MD5算法为每一个
共享文件产生一个128位的“指纹”(即散列值)
由于任何两个不同的文件用MD5算法
计算后得到的散列值不可能相同
用MD5散列值作为一个共享文件的“指纹”
可以确保文件的唯一性
第二是分布式非结构化P2P网络
集中式P2P出现不久
分布式非结构化P2P网络
也随即出现
典型的如Gnutella与Freenet
与集中式P2P网络不同
分布式P2P网络中
不存在集中的服务器
一个新加入的节点
可以和P2P网络中的某个节点之间
随机建立连接
从而形成随机的拓扑结构
当一个节点
需要查询某一个共享文件时
将进行内容路由
将请求消息
通过随机形成的网络拓扑用洪泛法发送出去
使得全网节点都能够收到
与查询内容相关的路由请求消息
接收到查询消息的节点进行检索
判断是否有需要的文件
如果有则发出查询应答消息
这种分布式非结构化P2P网络
采取的是完全随机的
洪泛式搜索和随机转发机制
因此
分布式非结构化P2P网络又被称为“纯P2P网络”
这是一个纯P2P网络
Gnutella网络结构示意图
其中节点1新申请加入
其它节点已经形成P2P网络
第2个图给出了节点1在初始化搜索网络
检索共享文件的不同阶段
与其它节点信令交互过程示意图
首先是初始化阶段
假设节点1
已经知道对等端节点235
是网络中的活跃节点
那么节点1需要向节点235
分别发送一条消息报文
节点235收到连接请求消息报文后
需要返回一个确认消息报文给节点1
节点1收到确认消息报文后
即完成了节点1
加入这个网络的初始化过程
然后是搜索网络阶段
为了进一步探索周边的网络结构
节点1向其邻居节点235
各发送一条PING消息报文
根据洪泛法的规则
邻居节点要向各自所有的邻居节点
转发这条消息报文
接收到PING消息报文的所有节点
都要向前面转发的节点
回复一个PONG消息报文
这就形成了如图所示的12条PING消息报文
和12条PONG消息报文
这些消息报文
就可以将探索网络结构的请求消息
传遍整个网络
找到所有的对等节点
图中虚线表示的是6个
PING消息报文属于重复转发
根据网络消息报文报头中的描述符ID
可以发现该报文已经转发
就不再重复转发
尽管这是一个很小的网络
重复PING消息报文
也已经占到整个PING报文总数的50%
这正是洪泛法的缺点
检索共享文件资源阶段
如果节点1需要下载一个MP3音乐文件
它就向相邻节点发送消息报文
相邻节点以与PING消息报文系统相同的处理方式
广播该请求共享资源的消息报文
收到消息报文的节点
不管有没有所需要的文件
它都需要接着用洪泛法转发消息
如果转发节点有所需要的文件
那么该节点就返回一个应答消息报文
请求节点收到一个或多个应答消息报文
将根据消息报文
结果集中共享文件的描述
及响应请求的节点IP 端口号
用HTTP协议下载共享文件
-1.1 计算机网络的发展历程
--计算机的发展
-1.2 从计算机网络到互联网
-1.3 从互联网到移动互联网
-1.4 从移动互联网到物联网
-1.5-1.7 深入认识计算机网络结构、网络安全、互联网的成功经验
--1.5-1.7 深入认识计算机网络结构、网络安全、互联网的成功经验
-第一章 作业
-2.1 传输网的基本概念
-2.2 广域网技术研究与发展
-2.3 城域网技术研究与发展
-2.4 局域网技术研究与发展
-2.5 个人区域网研究与发展
-2.6 个人区域网研究与发展
-2.7-2.8 3G/4G与M2M工作模式、传输网两个融合的发展趋势
--2.7-2.8 3G/4G与M2M工作模式、传输网两个融合的发展趋势
-第二章 作业
-3.1 网络层与IP协议的演变与发展
-3.2 IPv4与IPv6协议
-3.3 路由技术的研究与发展
-3.4 QoSR与RSVP、DiffServ与MPLS
-3.5 IPv4向IPv6过渡
-3.6 路由器技术的研究与发展
-3.7 下一代互联网体系结构的研究
-第三章 作业
-4.1 网络环境中分布式进程通信
-4.2 传输层的基本功能
-4.3 传输控制协议
-4.4 用户数据报协议
-4.5 实时传输协议RTP/RTCP
-4.6. 容迟网技术的研究
-第四章 作业
-5.1 Internet应用发展与应用层协议分类
-5.2 P2P网络的主要类型
-5.3 基于P2P的网络应用
-6.1 移动互联网的概念
--第6章-移动互联网与移动IP - 6.1-6.2-PPT
-6.2 移动IP
-6.3 移动IPv4的基本工作原理
--第6章-移动互联网与移动IP - 6.3-6.4-PPT
-6.4 移动IPv6协议
-第五-六章 作业
-7.1 网联网的概念
-7.2 物联网的体系结构
-7.3 物联网的ONS 服务
-7.4 车联网VANET的基本概念
-7.5 车联网VANET的协议标准
-第七章 作业