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 协议如何处理数据块? 的相关文章

  • 如何将从 sha1 字节数组生成的字符串返回到该字节数组?

    首先很抱歉英语不好 好吧 我想从 torrent 文件中读取片段哈希信息 目前 我正在使用https github com hyPiRion java bencode这个 Bencode 库来解码信息 但我的问题是当我想将片段字符串转换为字
  • 最新的 BitTorrent DHT 实施建议是什么?

    我正在努力实现另一个 BitTorrent 客户端 目前正在与 DHT 作斗争 是按照这个规范来实现的http www bittorrent org beps bep 0005 html但开始调试它时 我注意到网络上其他节点的响应有所不同
  • 如何使用java从磁力链接创建torrent文件?

    所以我想开发一个新的Java项目 将magnet URI转换为 torrent文件 但是我找不到方法来做到这一点 基本上我把magnet URI分成了几部分 使用的URI magnet xt urn btih d2474e86c95b19b
  • 为什么网络字节顺序定义为大端? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在通过本地主机传输期间,OSI 模型使用了哪些层?

    通过 localhost 地址或 127 0 0 1 传输数据时 OSI 模型中使用了哪些层 我相信通信从应用程序层开始 一直向下直到某个层 但没有数据经过物理层 或者有吗 到 127 0 0 1 的流量将由 TCP IP 模型的互联网层环
  • 在单个 DNS 查询中请求 A 和 AAAA 记录

    我正在用 C 语言实现 DNS 查询 并且有兴趣在单个查询数据包中请求 A 和 AAAA IPv4 和 IPv6 记录 但是当我将两个查询放在一起时 我没有从名称服务器获得任何响应像这样的一包 我尝试将查询发送到几个不同的名称服务器 本地和
  • 创建 torrent 哈希信息

    如何在 torrent 文件上生成 torrent 哈希信息 我一直在看这个例子 如何使用 Java 计算 torrent 的哈希值 https stackoverflow com questions 3436823 how to calc
  • 防火墙是否会阻止端口 80 上的非 HTTP 流量?

    谁能确认在端口 80 上使用持久传出 TCP 连接不会被绝大多数消费者防火墙阻止 这是基于 HTTP 在 TCP 上运行这一事实的假设 但当然理论上可以分析数据包 问题是大多数消费者防火墙是否这样做 该功能称为 ALG 应用层网关 这是防火
  • 如何进行网络跟踪或调试WebRTC点对点连接

    我想知道有什么工具或任何方法可以让我看到底层的 WebRTC 对等连接是什么 举个简单的例子 如果我使用 webrtc 实现视频聊天 所有连接 offer answer ice 都已建立 但我看不到视频流 我如何调试并查看这些连接之间是否有
  • IP分片与重组

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

    All 我尝试通过 PHP 的 cURL 包装器方法 HTTPS POST SOAP 请求 但不断收到以下 cURL 错误 错误 1 不支持的协议 https 有什么想法为什么会发生这种情况吗 目标 URL 很好 我可以通过命令行访问它 c
  • 在 Windows 中检查端口可用性的 VBS 脚本

    我正在尝试检查某个软件的先决条件 我有一组脚本来检查并检查磁盘空间 内存可用性等内容 我需要创建一个脚本来检查某些端口是否打开且可访问 我正在使用 WMI 检查其他网络配置项 但找不到任何检查端口可用性的参考 任何人都知道我可以在哪里找到
  • 为什么 UDP 在其数据包中有两次“UDP 长度”字段?

    为什么 UDP 在其数据包中有两次 UDP 长度 字段 这不是多余的吗 如果需要进行某种错误检查 请提供示例 你的观察是正确的 长度字段是多余的 因为IP头和UDP头都有长度字段 我对这种冗余原因的唯一猜测是 它发生是因为 UDP 是在当时
  • 面向消息的协议与面向流的协议之间的区别[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我试图理解之间的区别message oriented and stream oriented协议 我四处搜寻 没有发现两者之间的明确解释或
  • 为什么写入一个关闭的 TCP 套接字比读取一个更糟糕?

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

    这个问题在这里已经有答案了 TCP 连接到底是什么 据我所知 从客户端到服务器没有物理连接 此连接是否只是客户端的套接字与服务器在三次握手后创建的新套接字链接 此后 一旦建立了 连接 连接两端的套接字就知道将其数据包发送到哪里 除了与 TC
  • Bittorrent:为什么peers字段的值是二进制的,而不是Bencoded列表?

    我正在尝试用 C 语言实现 Bittorrent 首先 在编写代码片段之前 我尝试使用网络浏览器将以下消息 URL 发送到跟踪器服务器 你可以试试这个网址 http torrent ubuntu com 6969 announce info
  • IPv4 允许的最大 TCP/IP 网络端口号是多少?

    可以使用的最大端口号是多少 端口号是一个无符号 16 位整数 即 65535
  • 将下载的 torrent 保存在内存中而不是文件 libtorrent

    使用 Rasterbar libtorrent 我不希望下载的数据放在我的硬盘上 而是放在管道或变量或软的东西上 这样我可以将其重定向到其他地方 Mysql 甚至垃圾 如果它不是我想要的 有没有如果不是使用 Libtorrent 在 C 中
  • 基于非 HTTP 协议的 REST 示例

    REST 在 HTTP 之外的其他协议上的工作效果如何 对于使用 REST 或可能使用 REST 的协议 是否有任何好的示例 我认为你不会找到很多 但是here https datatracker ietf org doc draft ie

随机推荐

  • 将数字拆分为总和部分

    有没有一种有效的算法可以将数字分成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 发行版中 跟踪器是否返回对等点列表 然后客户端连接到该列表并向每个对等点请求块 或者跟踪器是否返回对等点列表以及哪个对等点具有哪些数据的信息 数据块在哪里管理或处