- P2P应用就是指具有P2P体系结构的网络应用
- 所谓P2P体系结构就是在这样的网络应用中,没有(或只有极少数的)固定的服务器,而绝大多数的交互都是使用对等方式(P2P方式)进行的
具有集中目录服务器的P2P工作方式
- 当某个用户想下载某个MP3文件时,就向目录服务器发起查询(这个过程仍然是传统的客户-服务器方式)
- 目录服务器检索出结果后向用户返回存放这一文件的计算机IP地址
- 于是这个用户就可以从结果中选取一个地址下载想要的MP3文件(这个下载过程就是P2P方式)。
具有全分布式结构的P2P文件共享程序
- 第二代P2P文件共享程序
- Gnutella是一种采用全分布方法定位内容的P2P文件共享应用程序。
- Gnutella使用洪泛法在大量Gnutella用户之间进行查询,为了不使查询的通信量过大,Gnutella设计了一种有限范围的洪范查询。
- 第三代P2P文件共享程序
- 比特洪流BT(Bit Torrent):
BitTorrent
把参与某个文件分发的所有对等方的集合
称为一个洪流(torrent)- BT把对等方下载文件的数据单元称为文件块,一个文件块的长度是不变的。
- 当一个新的对等方加入某个洪流时,一开始它并没有文件块。但新的对等方逐渐地能够下载到一些文件块。而与此同时,它也为别的对等方上传一些文件块。
- 某个对等方获得了整个的文件后,可以立即退出这个洪流(相当于自私的用户),也可以继续留在这个洪流中,为其他的对等方上传文件块(相当于无私的用户)。</