BitTorrent是流行的分布式文件系统。基本上,BT中文件的共享过程如图4所示,可以按以下五个步骤描述:

1 Peer A与Web服务器交互并下载.torrent文件。
2 Peer A和其在*.torrent文件中找到的追踪者互动,并请求一组在Torrent网络中的对等方。
3 追踪者发送一组有具体数量的在Torrent网络中的对等方。
4 Peer A随机从名单中选择一部分参与者节点作为其邻居节点并建立与它们的联系
5 Peer A可以利用swarming技术和其邻居交换文件片段的数据。

在BitTorrent中,在分发每个文件时,会建立一个名为Torrent的覆盖网络。Torrent是由网络中的节点组成的,可以分为两种类型:seed和leecher。

Seed是具有文件完整副本的客户节点,leecher是下载文件的客户节点。除了seed和leecher之外,还需要Web服务器和跟踪器。如果一个节点想加入Torrent,它可以从Web服务器获取.torrent文件。这个文件包含文件的信息,包括名称、长度,哈希摘要和跟踪器的URL。追踪器是一个特殊的节点,它用来存储网络中其他活跃节点的元数据。一个节点可以和追踪器交互,然后获得网络中其他节点的ip和port数对的信息,然后可以随机的选择列表中的20-40个节点作为其邻居。

在BT中,swarming(一个文件交换技术)用来将文件分割成固定大小的片段,每段通常大小为256KB。当某一个片段被完全下载后,节点将该片段的SHA1哈希值与.torrent文件中的值进行对比。如果匹配,节点将对它的邻居们宣称这个完整片段的可用性,以便后续的文件交换和下载。

本文翻译自
[1]. Engineering; Studies from Sun Yat-sen University Further Understanding of Engineering (When Blockchain Meets Distributed File Systems: an Overview, Challenges, and Open Issues)[J]. Journal of Engineering,2020.

BitTorrent概述相关推荐

  1. BitTorrent概述(选自维基)

    BitTorrent 維基百科,自由的百科全書 跳转到: 导航, 搜尋 網路協議   編輯 應用層 DNS, FTP, ENRP,HTTP, IMAP, IRC, NNTP, POP3, RTP, S ...

  2. 二、应用层协议概述与HTTP

    一.应用层简述 应用层提供网络应用程序和对应的协议,常见的如web,email和DNS等.应用程序的结构有两种:C/S(client/server)结构和P2P结构. 在CS结构中,服务端IP地址固定 ...

  3. Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述

    Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述 网络协议是用于不同计算机之间进行网络通信的.网络协议是网络上所有设备(如网络服务器.计算机.交换机.路由器等)之间通信规则的集合,它 ...

  4. 计算机网络复习————概述,应用层,传输层

    计算机网络复习----概述,应用层,传输层 绪论 概述 交换技术 网络性能指标 协议栈 应用层 应用体系架构 Web和HTTP FTP和SMTP DNS p2p应用 传输层 传输层服务 UDP 可靠数 ...

  5. BitTorrent协议规范(二)

    Peer wire protocol (TCP) 概述 peer(端)协议使片(piece)的交换变得容易,片的描述请参考元信息文件. 注意:原来的规范在描述peer协议时,也使用术语piece&qu ...

  6. 小知识·BitTorrent 简介

    BitTorrent 简介 从 P2P 说起 经常在网上飙车的老司机应该都知道 BT 下载,但是有时候拿到了种子却下载不动,会不会很抓狂,是不是还觉得是自己网不行,那作为一个合格的老司机,我们需要探究 ...

  7. [转载] BitTorrent协议规范

    BitTorrent 协议规范(BT协议集合)一 BitTorrent 是一种分发文件的协议.它通过URL来识别内容,并且可以无缝的和web进行交互.它基于HTTP协议,它的优势是:如果有多个下载者并 ...

  8. BitTorrent協議規範(转自維基百科)

    BitTorrent協議規範 目錄 [隱藏] 1 目的 2 應用範圍 3 約定 3.1 編碼 3.1.1 位元組串 3.1.2 整數 3.1.3 表 3.1.4 字典 4 元信息文件結構 5 伺服器 ...

  9. 计算机网络---应用层概述

    (一)应用层概述 基本定义:        应用层(Application layer)是OSI模型的第七层.应用层直接和应用程序接口并提供常见的网络应用服务.应用层也向表示层发出请求.应用层是开放系 ...

  10. Java 多线程概述

    多线程技术概述 1.线程与进程 进程:内存中运行的应用程序,每个进程都拥有一个独立的内存空间. 线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换.并发执行,一个进程最少有一个线程, ...

最新文章

  1. Spring(十二)之JDBC框架
  2. php ajax取不到值,PHP没有从Ajax获取值
  3. excel 电阻并联计算_电路分析基础(5)-关于电阻,有些话我还是要说一说
  4. 嵌入式常见笔试题总结
  5. oracle19c的版本号_升级到 oracle 19c 的版本差异
  6. 基于JAVA+SpringBoot+Mybatis+MYSQL的医药进销存管理系统
  7. 【ExtJS】关于alias和xtype
  8. IIS6.0系统日志中出现此错误Timer_MinBytesPerSecond,Timer_ConnectionIdle
  9. 区块链 FISCO BCOS学习文章(1)-平台介绍
  10. 使用@Conditional条件注解
  11. 网上订餐系统需求分析报告
  12. Anaconda出现Navigator Error的解决办法
  13. 为什么老师说尽量别用wps(图文详解)
  14. 使用MySQL存储过程给表批量造数据
  15. KK集团5年估值200亿,新零售还好做吗?
  16. 系统设计面试题之 怎么设计一个打分系统
  17. 启用计算机来宾账号,开启Windows 10来宾账户
  18. 解决yay官方源下载慢问题
  19. Linux如何设置邮件消息大小,sendmail限制用户发送的邮件的大小
  20. 生成器进阶--yield from

热门文章

  1. 基于改进注意力机制的U-Net模型实现及应用(keras框架实现)
  2. 空间金字塔池化(Spatial Pyramid Pooling)
  3. 水果之王之猕猴桃-系列五(孕期可以吃猕猴桃吗?)
  4. 二级C语言office公共基础知识点
  5. MySQL之Explain
  6. 实战 Mantle 解析界面app 科技频道
  7. 【Visual C++】游戏开发笔记三十八 浅墨DirectX提高班之六 携手迈向三维世界:四大变换展身手
  8. FaWave(发微)多微博版内测
  9. linux下docker的使用教程,Linux中docker的使用方法讲解
  10. Apifox测试Excel文件上传