BT下载的原理 和疑问
我心中有几个疑问,同时也搜索了点素材,肯能对理解问题有帮助。
BT下载,即P2P下载,是一种不需要中心化服务器的下载,实现原理是,每个客户端在下载的时候也作为服务器。
我的疑问是,P2P各个节点是如何发现彼此的,我猜想是这样的,一个节点把信息发送到服务器,然后服务器维护一个列表,这个列表包含了拥有资源的客户端信息,其它节点从服务器读取这个列表,连接下载。可是我说的这个过程是需要用到服务器的,和P2P的概念是冲突的。我又猜测了一种方法,就是种子(种子中包含节点的IP 端口等信息?我不太确定,假设有),拥有资源的节点用户在各种社交平台发布种子文件,然后其它节点的用户下载这个种子之后就能连接上了资源节点了。可是其它客户端怎么更新种子信息呢?因为有人已经下载过了,下载过的节点也就可以作为P2P的节点了,得把这个信息告诉所有的P2P节点啊,要不然还是只能从最开始发布种子的那个节点下载。
这里有个链接:软件是如何连接到DHT网络的
https://www.zhihu.com/question/28235205
BT种子原理是什么
https://www.zhihu.com/question/49829233
我觉得有必要研究一下种子文件的结构
google上能搜索到几篇文章,感觉很有用
聊聊 GFW 如何封杀 Resilio Sync(BTSync)?以及如何【免FQ】继续使用?
扫盲 BTSync(Resilio Sync)——不仅是同步利器,而且是【分布式】网盘
聊聊分布式散列表(DHT)的原理——以 Kademlia(Kad) 和 Chord 为例
BT下载的原理 和疑问的更多相关文章
- 关于BT下载的一点事儿
之前一直对BT下载很的好奇,今天迅雷出现了一些问题,于是上网了解了一下BT下载的原理,果然还是有所收获的. 1.为什么BT下载用户越多下载,速度越快? 答:BT全名为BitTorrent. 在传统下载 ...
- BT下载原理分析
版权声明:本文为博主原创文章,未经博主允许不得转载. BitTorrent协议. BT全名为BitTorrent,是一个p2p软件,你在下载download的同时,也在为其他用户提供上传upload, ...
- BT Tracker的原理及.Net Core简单实现Tracker Server
最近很忙,自上次Blog被盗 帖子全部丢失后也很少时间更新Blog了,闲暇在国外站点查阅资料时正好看到一些Tracker 的协议资料,也就今天记录并实践了下,再次分享给大家希望可以帮到需要的小伙伴. ...
- 搭建自己的BT下载平台服务器
[原理基础] BT(Bit Torren比特流)是由国外的一名叫Bram Cohen的程序员开发的下载软件,可以说它是目前网络是非常流行的一个多点下载的P2P软件,它最显著的特点就是:下载的人越多,速 ...
- 常用下载方式的区别-BT下载、磁力链接、电驴
出处:https://www.jianshu.com/p/72b7a64e5be1 打开 115 离线下载的窗口,看到支持这么多种链接,你都清楚他们是什么原理嘛?接下来我们一个一个说. 一.HTTP( ...
- Transmission : 如何在Fedora下使用BT下载
先讲讲BT协议的名词: Glossary of BitTorrent terms Transmission 介绍 BT下载客户端 特点: 支持BT下载(.torrent 种子) 或者 磁链( magn ...
- 【转】与BT下载相关的概念
1. DHT DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法.在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整 ...
- NAS4Free 配置BT下载
NAS4Free 9.3.0.2 开启BT下载功能 Services|BitTorrent 选中右上角的复选框 Peer port 是监听端口,用于接受外部连接,需要在路由器配置该端口到服务器,才能提 ...
- vs2017_enterprise正式版离线安装包bt下载
vs2017_enterprise正式版离线安装包bt下载 点击这里下载种子 磁力链接 安装前请先打开certificates目录,安装里面的三个证书 离线下载教程 : https://docs.mi ...
随机推荐
- HTTP Status 500 - Error instantiating servlet class XXXX
问题描述 web项目中请求出现错误,如下: HTTP Status 500 - Error instantiating servlet class XXXX类 type Exception rep ...
- Yii登录验证和全局访问用户ID
注意:Yii默认的代码,Yii::app()->user->id返回的不是我们想要的用户ID,而是用户名.因此在useridentity类中要用一个变量来存储登录用户的ID,然后重载get ...
- Python学习笔记之selenium 定制启动 chrome 的选项
在自动化中,默认情况下我们打开的就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用.所以使用 selenium 时,我们可能需要对 chrome ...
- git常用命令小结
1.ssh连接方式 公钥生成ssh-keygen -t rsa -C "764432054@qq.com"在用户家目录下的.ssh目录下生成 id_rsa ,id_rsa.pub ...
- unittest框架,调用函数类 和 调用函数外的 方法
- 事务之二:spring事务(事务管理方式,事务5隔离级别,7个事务传播行为,spring事务回滚条件)
事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性. spring支持编程式事务管理和声明式事务管理两种方式. 编程式事务管理使用TransactionTemplate或 ...
- NOIP2008普及组第3题 传球游戏
NOIP2008普及组第3题 传球游戏 时间限制: 1 Sec 内存限制: 128 MB提交: 29 解决: 16[提交][状态][讨论版][命题人:外部导入] 题目描述 上体育课的时候,小蛮的老 ...
- 支付宝pc端支付接入PHP实现
引入支付宝接口 放入一个插件库中,方便管理 创建支付类 1.发起支付 public function init() { $order_id = $_REQUEST['order_id']; $orde ...
- ARM-Linux内核移植之(二)——Linux2.6.22内核移植
平台:mini2440 交叉工具链:arm-linux-gcc-4.3.2 一.内核移植基本知识 移植内核也叫构建BSP(boardsupprot packet).BSP的作用有两个:一是为内核运行 ...
- JavaScript笔记——BOM的操作和浏览器的检测
BOM的操作 BOM 也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM 缺少规范,每个浏览器提供商又按照自己想法去扩展它,就可能存在浏览器不兼容的情况,那么浏览器共有对象就成了事实的 ...