11、P2P

一、P2P的出现
1、P2P主要是针对C/S模式的可扩展而提出来的。
(1)没有(或极少)一直运行的服务器
(2)任意端系统都可以直接通信
(3)Peer的间接性上网,IP可能每次都有变化
主要作用于:文件分发、流媒体、VoIP

二、C/S模式与P2P模式上载下载比较
1、C/S模式服务器提供上载,客户端来下载,所以所有的客户端都是从服务器上下载,所以随着客户机的增加,服务器的带宽会被分发,所以下载的带宽会下降;
2、P2P模式下随着请求的客户机的增加,同时提供服务的系统也会在增加,所以P2P理论上是随着客户端请求的增加,下载速度是一直在递增的。

三、P2P的结构
1、非结构化P2P
Peer与其他Peer是通过会话建立联系,也就是A(Peer)向B(Peer)提供上载,B(Peer)向A(Peer)提供下载,他们之间有一条边,边是指他们之间的协作关系,这种网络是逻辑上的网络,但实际上这个协作关系可能需要经过许多节点、路由器。这种应用层面上的网络称之为覆盖网(Overlay)
2、结构化P2P(DHT)
构成的覆盖网是随机的、任意的,也就是节点与节点之间关系构成是任意的,会构成任意的图形,称之为结构化P2P

四、非结构化P2P
1、集中式目录Napster设计,在一个Peer请求资源的时候,会向集中式目录服务器进行请求,然后拥有资源的Peer会响应请求资源的Peer节点,所以可以看出他们请求资源的中心是集中式目录服务器,但是文件上下载是P2P模式 ,这种模式称之为集中式目录
存在的问题:(1)单点故障:集中式目录服务器出现故障意味着整个系统宕机;(2)性能瓶颈:每次一个Peer上下线都需要跟集中式目录服务器汇报;(3)侵犯版权

2、完全分布式Gnutella,每个Peer节点都与邻居Peer构成Overlay,也就是没有中心服务器,且源码、协议都是开源的。
(1)在进行查询的时候,请求查询的Peer会向所有邻居Peer进行查询,邻居Peer会向所有邻居Peer进行查询,直至查询到请求的资源为止,这种查询方式成为泛洪。最后拥有资源的节点会反向的将资源返回。
存在的问题:在进行泛洪查询时,已经返回资源了,但是其他邻居的查询却还在继续,所以需要设定在什么时候停止查询,当查询再次到最初邻居停止,或是设定top指定跳几跳等等。但是这个查询的弊端就可看出了;每个Peer与邻居Peer设定的覆盖网(Overlay)需要已某种方式建立。

3、混合体:KaZaA
采取的是分布式进行查询,以某个Peer为组长,当某个Peer请求资源时,会向组长发送请求,组长向组内Peer查询,以多个Peer为中心,来充当中心服务器来响应请求

五、P2P模式的服务情况(BitTorrent)
1、一个Peer可能会为多个Peer服务,但是是谁优先呢?
前两个周期根据上次我请求服务时谁提供的带宽比较大进行挑选,也就是来请求的这些Peer谁之前对我好就优先谁,再第三个周期开始就随机挑选

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值