Bittorrent 协议如何处理数据块?

2024-03-07

BitTorrent 协议中如何处理数据块?

当客户想要下载时,例如Linux 发行版中,跟踪器是否返回对等点列表,然后客户端连接到该列表并向每个对等点请求块,或者跟踪器是否返回对等点列表以及哪个对等点具有哪些数据的信息?

数据块在哪里管理或处理,例如我需要块 5、6、10,对等点 2 有块 5、7、8。数据在哪里控制或管理?客户端是否从其他对等点请求块,然后对等点检查它是否有该块然后发送它,或者数据流如何工作?

Thanks


跟踪器提供对等点列表,然后对等点连接并交换块列表。

对等方交换 BITFIELD 消息 紧接着初始 握手。 BITFIELD 包含 1 表示对等方拥有的碎片,0 表示 那些它没有的。当同侪 接收 BITFIELD,如果所有位 设置为 1,那么远程对等点是 一粒种子。这样同行就可以识别 容易种子。

(from http://web.archive.org/web/20041119150847/http://mnl.cs.stonybrook.edu/home/karthik/BitTorrent/Robustness_of_BT.doc http://web.archive.org/web/20041119150847/http://mnl.cs.stonybrook.edu/home/karthik/BitTorrent/Robustness_of_BT.doc)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bittorrent 协议如何处理数据块? 的相关文章

  • Ruby BitTorrent 库 [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我正在考虑用 ruby 编写定制的 torrent 客户端 我找到了以下库 正如马特下面指出的那样 它们相当古老 不过 我想听听我可能错过的任何图书馆 并且我很想听听社区对以下图书馆的
  • 在 Linux 中使用 C 语言使用原始套接字进行数据包嗅探

    我需要在 Linux 中编写一个数据包嗅探器来检测发送的 HTTPS 数据包并保存请求中的 url 我在中找到了这方面的代码安全狂并运行它 该代码运行并且仅嗅探接收到的数据包 但我需要在嗅探器中获取发送的数据包 如何获取这段代码中发送的数据
  • 在 Python 中使用 Rasterbar libtorrent 挑选同级

    有谁知道是否可以选择使用 libtorrent 进行连接的对等点 也就是说 在跟踪器返回对等 IP 和端口的列表后 只有选定的几个将根据某些定义的标准进行连接 Thanks 您可以使用以下命令从集合中删除对等点set ip filter 您
  • Torrent 客户端中的哈希计算

    我想知道是否有人知道 BitTorrent 客户端中的 哈希 指的是什么 它显然不是hash文件的代码 但有些不同 我认为这更像是一个文件的磁力链 接 但是它是如何连接到文件本身的呢 我只是想了解幕后的构造 torrent 客户端中的文件
  • 最新的 BitTorrent DHT 实施建议是什么?

    我正在努力实现另一个 BitTorrent 客户端 目前正在与 DHT 作斗争 是按照这个规范来实现的http www bittorrent org beps bep 0005 html但开始调试它时 我注意到网络上其他节点的响应有所不同
  • 防火墙上需要哪些开放端口才能允许 salt-stack 远程执行?

    saltstack 上的文档似乎不清楚 salt master gt salt minion 需要哪些端口 显然不需要 它建议只需要从 salt minion gt salt master 打开端口 看 http docs saltstac
  • Ruby Torrent 库

    Ruby 有什么好的库可以与 BitTorrent 跟踪器一起使用吗 下载或种子文件 rubyforge 上有一个 ruby torrent 库 但它最后一次更新是在 2005 年 似乎不再工作了 参见 lib torrent ruby h
  • 创建 torrent 哈希信息

    如何在 torrent 文件上生成 torrent 哈希信息 我一直在看这个例子 如何使用 Java 计算 torrent 的哈希值 https stackoverflow com questions 3436823 how to calc
  • IP分片与重组

    我目前正在浏览我的网络幻灯片 想知道是否有人可以帮助我了解碎片和重组的概念 我了解它是如何工作的 即数据报如何被分割成更小的块 因为网络链接有一个 MTU 然而图片中的例子让我感到困惑 因此 前两部分显示的长度为 1500 因为这是 MSU
  • cURL 错误 1:不支持的协议:https

    All 我尝试通过 PHP 的 cURL 包装器方法 HTTPS POST SOAP 请求 但不断收到以下 cURL 错误 错误 1 不支持的协议 https 有什么想法为什么会发生这种情况吗 目标 URL 很好 我可以通过命令行访问它 c
  • 什么是tcp_autocorking(tcp自动开塞)

    从内核 3 14 开始 我发现还有另一个 TCP 优化 称为 tcp autocorking tcp cork 和 tcp autocorking 之间的实际区别是什么 它只是 tcp cork 的自动化版本吗 除了这个链接我找不到任何有价
  • 为什么写入一个关闭的 TCP 套接字比读取一个更糟糕?

    当您读取关闭的 TCP 套接字时 您会收到一个常规错误 即它返回 0 表示 EOF 或 1 以及错误代码errno可以打印perror http www opengroup org onlinepubs 000095399 function
  • TCP 与 UDP - 什么是 TCP 连接? [复制]

    这个问题在这里已经有答案了 TCP 连接到底是什么 据我所知 从客户端到服务器没有物理连接 此连接是否只是客户端的套接字与服务器在三次握手后创建的新套接字链接 此后 一旦建立了 连接 连接两端的套接字就知道将其数据包发送到哪里 除了与 TC
  • 使用中间服务器创建点对点连接

    我想连接两个客户端 通过 TCP IP 套接字 客户端可以使用中间服务器发现彼此 一旦客户端发现彼此 服务器就不应该有任何参与 我对此做了一些研究 发现很多人建议JXTA 但我想自己从头开始创建协议 因为将来我可能也必须使用 WebSock
  • SCTP 与多宿主作为 TCP 的直接替代品

    SCTP具有本机多宿主支持 如果我理解正确的话 如果主接口出现故障 它将自动通过辅助 NIC 重新路由您的数据包 我通过编写一个自定义路由守护程序来使用 TCP 复制此功能 以便在我的主 NIC 出现故障时修改路由表 我想尝试使用SCTP反
  • 基于流的路由和开放流

    这可能不是典型的 stackoverflow 问题 我的一位同事一直猜测基于流的路由将成为网络领域的下一个重大事件 Openflow http www openflow org提供在大型应用 IT数据中心等中使用低成本交换机的技术 取代Ci
  • IPv4 允许的最大 TCP/IP 网络端口号是多少?

    可以使用的最大端口号是多少 端口号是一个无符号 16 位整数 即 65535
  • TCP和UDP如何检测传输错误?

    我想知道这些协议如何检测数据传输过程中出现错误 谢谢 可能会发生不同的错误 数据包顺序不正确 数据包丢失 数据包内的数据损坏 幻像数据包 接收方收到从未发送过的数据包 UDP 仅提供一种克服数据损坏的机制 这是 IPv4 中的可选功能 在
  • 如何在 PHP 中知道种子/对等点的数量

    当您放置一个 torrent文件在您的网站上下载 您如何获取该 Torrent 的种子和同级数量并通知用户 您必须联系 torrent 文件中显示的跟踪器 如果跟踪器支持 抓取 这可能就是您想要的请求 否则 由跟踪器决定要返回多少个对等点给
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建

随机推荐

  • 将数字拆分为总和部分

    有没有一种有效的算法可以将数字分成N分段 以便数字之和等于原始数字 并具有最小基数 例如 如果我想将 50 分成 7 个小节 并且最小基数为 2 我可以这样做10 5 8 2 3 5 17 以及任何其他数量的组合 我想将数字保留为整数 并且
  • 每个日志级别应包含哪些信息? [复制]

    这个问题在这里已经有答案了 可能的重复 日志记录代码应该放在哪里 什么级别 https stackoverflow com questions 3658527 where what level should logging code go
  • 可迭代对象的正确 phpdoc 注释?

    我在尝试为以下代码示例获得正确的自动完成功能时遇到了一些问题 我在 Win7 机器上使用 PHPStorm 7 首先只是一个简单的课程 Class myObject class myObject some method public fun
  • 更多 C# 自动转换为 Excel

    这将启动一个新的 Excel 工作簿 Excel Application oXL Excel Workbook oWB oXL new Excel Application oXL Visible true oWB Excel Workboo
  • 在 EF 查询中添加 DateTime 和 TimeSpan 的代码示例

    我正在寻找这个问题的代码示例 将 DateTime Add TimeSpan 与 LINQ 结合使用 https stackoverflow com questions 16781587 using datetime addtimespan
  • 将“浮动”内容放置在文本段落的右下角

    这是代码 http jsfiddle net ym2GQ http jsfiddle net ym2GQ p background lightblue end background orange float right display in
  • Firebase 存储的上传/下载速度非常慢

    故事 我在应用程序中使用 Firebase Storage 将大文件上传到 Firebase 存储中 文件大多是视频 有时甚至超过 2 GB 我做了什么 这就是我所做的 UploadTask originalUpload originalD
  • Python 根据另一个列表对一个列表进行排序

    我有两个列表 第一个列表是键顺序 第二个列表是元组列表 colorOrder red blue yellow green tupleList 111 red 222 pink 333 green 请注意 这两个列表不是一对一的关系 有些颜色
  • 从表中显示 MySQL 数据的 C++executeQuery() 错误

    我需要一些帮助 我有这段代码 如下 将数据添加到 MySQL 表 然后返回同一个表 代码运行良好 当我运行它时 它将列添加到 MySQL 表中 但它停止了 并出现错误 SQL error Error message 字面意义上的空白 如果我
  • C 为什么函数指针作为参数而不是仅仅作为函数?

    我一直在阅读有关以函数作为参数的函数 特别是在 C 中 它们使用函数指针 假设我想实现牛顿拉夫森方法 以简单的方式 来计算非线性方程中的零点 double derivative double f double double x double
  • 如何在 React 中播放 blob 对象的音频?

    我正在尝试使用 ReactJS 创建一个录音机应用程序 我使用了 npm 包反应麦克风 https www npmjs com package react mic服务于目的 但录音被保存为blob object 如何在浏览器中播放录制的文件
  • 断言可以用在常量表达式中吗?

    The assert 宏来自
  • 使用 Knockout 将任何键(通过键码)绑定到操作

    我正在寻找一种方法将许多不同的键绑定到我的视图模型中的不同操作 功能 我找到了这个example http geekswithblogs net michelotti archive 2011 10 11 knockoutjs custom
  • 如何在 Python 中交错字符串? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何在 Python 中交错字符串
  • ANT 有没有一种方法可以从 JAR 中提取一个类文件并将其放入另一个 JAR 中?

    我的 ANT 构建脚本使用名为 createEJBStubs 的 WebSphere 命令 该命令生成一个 JAR 文件 其中包含所有内容以及一个新生成的类 即 com myapp services User Service Stub cl
  • 批处理脚本 - 对目录中的每个文件运行命令

    我需要将一些 xls 文件转换为 xlsx 文件 我可以通过在 cmd 提示符 Windows 中运行以下命令成功地将一个 xls 文件转换为 xlsx ssconvert inputFileName xls outputFileName
  • 由于新的 couchbase 安装,将数据恢复到 couchbase

    我们有一个 couchbase 服务器 不知何故进行了全新安装 并且我们在那里的所有数据都丢失了 我已经设法备份了 opt couchbase var lib couchbase data 现在 当我尝试将数据复制回来时 它没有显示 cou
  • 自动选择毒理学部分中的平台(或其他)条件

    我想专门运行某个有毒部分 然后在特定平台上自动决定 如果我刚刚运行 下面的示例代码片段可以正常工作tox e ALL 然后平台条件可以很好地找出正确的平台 然而 我想only地址并运行特定部分 例如类似的内容tox e other not
  • 如何使用 C# 裁剪图像

    我有一张用相机拍摄的文档照片 现在我要做的就是从该图像中仅裁剪文档 请任何人建议我如何最好地做到这一点 或者首先是否可能 Edit 欲了解更多信息 我的下一个问题如何获取图像的边缘坐标 https stackoverflow com que
  • Bittorrent 协议如何处理数据块?

    BitTorrent 协议中如何处理数据块 当客户想要下载时 例如Linux 发行版中 跟踪器是否返回对等点列表 然后客户端连接到该列表并向每个对等点请求块 或者跟踪器是否返回对等点列表以及哪个对等点具有哪些数据的信息 数据块在哪里管理或处