P2P system: GNUTELLA

P2P system: GNUTELLA

GNUTELLA是第一个经论证的分布式的peer-to-peer system.

Napster的一个重大问题是涉及到间接侵权,所以GNUTELLA消除the servers altogether然后使用client来search and retrieve,所以client也充当了servers,所以Gnutella的client也叫做servents(由server和client拼接而成)

neighbors意味着这个peer知道它们的IP地址与port number,能够给它们发送message(如TCP).

在peers中创造了一个叫做an overlay graph的graph,之所以称这个图为an overlay graph是因为it‘s a graph that is overlaid on top of the internet

图中的每条边实质上是底层的internet的internet path,但是考虑到overlay,在underlying internet中的actual path与之不相关,只要这些peers能够talk with each other.

怎么找到指定的文件

五种主要的message type:

query message: 包含着keywords的查询

queryHit: 对query的回应

Ping:为了保证the list of neighbors是最新的,使用ping和pong message

Pont: 为了保证the list of neighbors是最新的,使用ping和pong message

Push: 用于file transfer

以上我们讨论的message的所有的fields除了IP address之外都是使用小端存储

时间: 2024-08-07 12:31:14

P2P system: GNUTELLA的相关文章

P2P system: Napster

Napster structure client machines之所以叫peers是因为对于server来说这些machines是平等对待的 当你upload一首歌曲如PennyLane.mp3时,它不会上传到别的地方而是存在你的machine(运行了napster client的machine)里面 Servers是由Napster.com运行的,这些servers保存的是目录信息(file pointers和peer pointers) 当Napster client运行时,它先连接nap

P2P system: FastTrack and BitTorrent

FastTrack FastTrack来源于Gnutella,是Gnutella 和 Napster的杂交体 有些node承担了更重要的责任,这些nodes称为supernodes,因为这些改进,它比Gnutella更快 除了有几个supernodes之外,它与Gnutella overlay长得很像.这些supernodes承担了一些责任,这些责任与Napster的server存储derectory information类似. peers不能自己选择做supernode,peers被选择做s

P2P system:How Chord tackles failures

若有peer failures 怎么办 接上面的例子,如果N32 fail掉了,但是N80的finger table还没有更新,这样query到了N16,它找不到N32,只有N80,这样query就会丢失掉. 解决的方法是,保存r个successor而不是只一个successor,r 是一个系统可以配置的值. 那么r究竟为多大呢?这样如果有很多错误的话,query仍然可以正确到达 r=2log(N). w.h.p. = with high probability 如果node里面保存的file

Windows软件在Linux上的等价/替代/模仿软件列表 (抄一个)

Last update: 16.07.2003, 31.01.2005, 27.05.2005 您可在以下网站发现本列表最新版:http://www.linuxrsp.ru/win-lin-soft/. This page on other languages: Russian, Italian, Spanish, French, German. 从Windows转向Linux的一个最大困难就是缺乏对相关软件的认识.新手总是在寻找 Windows软件的替代品,但老鸟却难以回答,因为他们对Wind

Smart internet of things services

A method and apparatus enable Internet of Things (IoT) services based on a SMART IoT architecture by integrating connectivity, content, cognition, context, cloud, and collaboration. Joint optimization of a combination of any of connectivity, content,

2-Application Layer

Please indicate the source: http://blog.csdn.net/gaoxiangnumber1 Welcome to my github: https://github.com/gaoxiangnumber1 2.1 Principles of Network Applications 2.1.1 Network Application Architectures Application's architecture is different from the

poj 3836 P2P File Sharing System

这题是一个模拟p2p的网络的一个题目.题意比较繁琐,只要看懂课,细心一点就很好AC了.直接上代码了,存模拟. #include<stdio.h> #include<string.h> #include<iostream> #include<string> #include<queue> #include<cmath> #include<map> #include<algorithm> #include<v

P2P综述

原文参见:http://www.lotushy.com/?p=113 [TOC] 什么是P2P P2P全称是Peer-to-peer.P2P计算或P2P网络是一种分布式应用架构.它将任务或负载分发给Peers.在应用中,Peers是平等的.对等的参与者. 从资源角度来讲,Peers将它们拥有的资源如cpu.存储.网络带宽等直接分享给其它参与者们.所以,Peers即是资源的提供者也是资源的消费者.而在Client-Server架构中,资源消费和资源供给是分离开的.新兴的协作式P2P系统超越了Pee

p2p (对等网络)

对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构[1]  ,是对等计算模型在应用层形成的一种组网或网络形式."Peer"在英语里有"对等者.伙伴.对端"的意义.因此,从字面上,P2P可以理解为对等计算或对等网络.国内一些媒体将P2P翻译成"点对点"或者"端对端",学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer compu