BT 增强建议之进阶改进方案

本文是 BT 系列文章中的一篇,主要介绍 BEP 中剩下的改进方案,有需要的话可以先阅读博文 BT 增强建议之概述。 进阶改进方案本节点详细介绍几个比较重要的进阶改进方案。剩余的只作简单归纳。 超级做种模式提高做种效率BEP16 - Superseeding 中起草的超级做种功能是一个来帮助初始做种者使用较少的流量来完成做种的算法。当一个做种客户端进入超级做种模式后,它将不会表现为一个标准的做种者,而是伪装成一个没有数据的正常 peer。当有其他 peer 连接时,它仅将一个从未发送过的片...

阅读全文

BT 增强建议之 DHT

BitTorrent 使用 DHT 网路来存储 peer 信息,以实现去 Tracker 化的种子。此时,每个 peer 都成了一个 Tracker。网络基于 Kademlia 算法实现,使用 UDP 进行传输。 本文主要对 BT 中的 DHT 网络实现与在博文 DHT 网络之 Kademlia 算法 中描述的 Kademlia 算法的区别进行总结。准确的说不能说是区别,而应该定义成实现细节,毕竟理论算法应用到实际时总需要因地制宜。 实现细节点key-value 对存储的内容BT 使用 D...

阅读全文

DHT 网络之 Kademlia 算法

本文是论文 Kademlia: A Peer-to-Peer Information System Based on the XOR Metric 的翻译。 Kademlia:一种基于 XOR 距离的 P2P 信息系统作者:Petar Maymounkov 以及 David Mazières Abstract(摘要)我们描述了一种在容易出错的环境下仍具有可证明的容错性和性能的 P2P 分布式散列表。我们的系统使用了一种基于 XOR 距离的新型拓扑来路由查询与定位节点的需求,该拓扑简化...

阅读全文

在 IPFS 上部署静态博客

本文主要记录在 IPFS 上部署博客的过程,用以熟悉 IPFS 的基本操作。https://ipfs.0ranga.com 就是博主博客在 IPFS 上部署的版本。 IPFS安装 IPFS首先得在计算机上安装 IPFS,博主 PC 的操作系统的 Arch,可以直接使用包管理器进行安装。如果之后需要为博客添加域名则需要在云服务器上部署 IPFS,博主选择的是 DightOcean 的 CentOS 7。所以提供了以上两种操作系统的安装方式,其他系统如何安装请自行探索。 123456789...

阅读全文

BT 增强建议之 Peer

本文是 BT 系列文章中的一篇,主要介绍 Peer 以及 Peer 间的通信,有需要的话可以先阅读博文 BT 增强建议之概述。 Peer 来源在讲 Peer 间的通信前,先总结一下 Peer 的来源。 Magnet:磁力连接中有 x.pe 参数可以预设一些 Peer; Tracker:Tracker 服务器的作用就是提供 Peer; Local Service Discovery(BEP14):通过对本地组播地址 239.192.152.143:6771 和 [ff15::efc0:98...

阅读全文

BT 增强建议之 Tracker

本文是 BT 系列文章中的一篇,主要介绍种子文件结构与磁力链接的原理,有需要的话可以先阅读博文BT 增强建议之概述。 p2p 是 peer-to-peer 的缩写,为了让网络中的一个 peer 如何才能找到另外志同道合的 peer,Tracker 扮演着至关重要的月老作用。Tracker 是一个 HTTP 或者 UDP 服务器,作用是帮助 peer 找到其他拥有相同资源的 peer。 后来有了 DHT 网络之后,Tracker 的作用逐渐弱化,但是 Tracker 代表的这种中心化一定程度...

阅读全文

BT 增强建议之 Metadata:Torrent 与 Magnet

本文是 BT 系列文章中的一篇,主要介绍 Tracker 服务器的工作原理,有需要的话可以先阅读博文BT 增强建议之概述。 在磁力链接出现前,BT 下载的第一步就是获取 Torrent(种子)文件。种子文件中包含了资源的最关键信息 —— Metadata(元数据)。Magnet(磁力链接)的引入则省去了获取种子文件这一步,但是仍然需要元数据,只是改为从 peer 处获取。有了元数据后,才能知道整个资源的概况,继而进行下载。 Torrent文件结构种子文件使用 bencode 进行编码,整个...

阅读全文

BT 增强建议之概述

在版权意识愈渐加强的今天,BT 流量占全球流量的比重不断下降,这种 p2p 技术的应用在逐渐衰落。但是请记住 “技术无罪”——纵然据说爱因斯坦也曾对“把原子弹送到了疯子手里”感到后悔。 “个体重复系统发育”:技术的变化会导致某些思想过时并迅速消失,这种情形经常发生。但是,技术的另一种变化还可能使某些思想再次复活。 Andrew Tanenbaum现代操作系统 总目录下面进入正题。一个使用 BT 进行下载的过程可以简短地描述如下: 当你获取了一个磁力链接或者种子文件,使用 BT 客户...

阅读全文

µTP 协议 —— 对 BEP29 的简要理解

在 TCP 温故知新中回顾了 TCP,而这篇文章主要讲用于 BT 网络的基于 UDP 的运输层协议 µTP,同时顺便回顾 UDP。下面的内容更多是基于对 BEP29 的理解。 名字探究  µTP 的主要文档 BEP29 的创建于 2009 年,姑且认为这也是设计完成的大致时间,µTP 在 uTorrent 的 1.8 中首次加入(2009 年)这个事实也佐证了这点。它的设计者包括: Ludvig Strigeus(μTorrent 作者,BitTorrent 公司 2006 年收购 μT...

阅读全文

TCP 温故知新

生产环境遇到些网络问题,知对 TCP 协议还是有些生疏,在此复习记录。 协议报文段格式TCP 协议报文段主要由首部(Header) 与数据(Data) 两部分组成。在计算校验和是还会加上虚拟的伪首部。此处主要说明首部的组成。TCP 在网络模型中属于运输层,用于提供进程与进程间的字节流通信服务,因此需要源 / 目端口(Source / Destination port) 以确定通信双方进程。使用序号(Sequence number,seq) 表明本报文段第一个数据字节的编号,初始序号由双方...

阅读全文


Powered by Hexo and Hexo-theme-hiker

Copyright © 2018 - 2020 Velih Dzen's Blog | BitJogger All Rights Reserved.

访客数 : | 访问量 :