本文参考来源:
B站视频(讲述了基本bt原理)
我们平时所说的 BT 种子,实际上指的是由 BitTorrent 协议所生成的一个包含资源信息的文件。与传统的网络传输协议不同,BitTorrent 协议是一种以 Peer-To-Peer(P2P) ,即 用户对用户 模式为主的资源分享协议,采用的是一种 去中心化 的思想,不需要一个专门的文件发布者或者发布平台。
直链下载
日常我们从网站上下载软件的安装包,例如从Google上下载Chrome,使用的是直链下载。
点击了网页按钮以后,浏览器上便会直接开始下载。
直链下载又称为http下载,实际上就是从网站的服务器上把文件传输到你的电脑上。
直链下载只能通过吃单个服务器的带宽来满足用户下载需求,如果同时下载人数过多或者单个下载文件过大,就会导致服务器带宽被吃满,再有用户加入下载的话平均到每个人的下载速度就慢了。
直链下载速度慢的根本原因是带宽不足,而“P2P下载”很好的解决了这个问题。
BT下载
BT下载是P2P下载的一种,P2P英文名peer to peer,大致原理就是将一台电脑的文件直接通过互联网传到另外一个电脑上。每个人都可以通过BT工具把自己电脑里的文件放到BT软件里生成种子文件或者磁力链接,将种子或者磁力发送给对方,对方通过在BT软件里输入种子或者磁力,便可以链接到你的电脑来下载你的文件,你的电脑把文件传输给对方的行为叫做种。
BT的优势
如果只是单一文件传输的话直链下载似乎没有什么区别,但是当文件分享给的人多的时候,BT的优势就体现出来了。当你将文件A进行做种,下载此文件的用户也可以将自己已经下载到的部分进行做种,去上传给别的用户,一份文件就可以有多个地方共同上传,后来的用户加入下载便可以从不同的做种用户上获得文件的一部分最终拼成一个完整的文件。以上过程均由BT软件自动完成,用户只需要将文件放入BT软件进行做种,下载的用户只要输入磁链下载即可。
BT本质上是端到端传输,中间不会经过它人之手,因此传输盗版资源等不会经过审查,这也是为什么大部分盗版组会选择将他们的盗版作品以磁力链接或者种子的形式发布。当然这也不是完全隐蔽的手法,版权方若是真想抓人,技术手段总是有,一个都跑不掉。
BT的局限性
- 死种
做种需要电脑一直开着,很多下载者为了快速下载大文件,会开着电脑一整夜,但下载完就删种或只在白天做种。这样就造成上传者很少,下载者很多,每个下载者的速度就降低了。越到后来做种者越少,下载越慢,单个做种者提供的上行带宽压力越来越大,越来越劝退做种者,形成恶性循环,久而久之做种者便寥寥无几,后来的下载者会发现下载速度低的可怜甚至没有下载速度,于是这便成了死种。 - 对公网IP的依赖
什么是公网IP?对BT的作用?
公网IP就像是一个独立的房子,有自己的门牌号,可以直接被外面的人找到和访问。如果你想要和其他人分享或下载文件,你只需要告诉他们你的门牌号,他们就可以直接来敲你的门,或者让你去敲他们的门。没有公网IP就像是住在一个大公寓里,有很多人共用一个门牌号,但是每个人都有自己的房间号。如果你想要和其他人分享或下载文件,你不仅要告诉他们你的门牌号,还要告诉他们你的房间号,而且还要让公寓的管理员(路由器)同意你们之间的通信。这样就会增加很多麻烦和延迟,导致速度变慢。bt下载是一种点对点(P2P)的方式,就是说每个下载者都可以成为上传者,互相分享文件的一部分。如果有很多人都有公网IP,那么他们之间就可以很容易地建立连接,提高下载速度。但是如果很多人都没有公网IP,那么他们之间就很难建立连接,只能依赖少数有公网IP的人来上传文件,这样就会降低下载速度。本质上还是跟NAT层有关,BT软件需要长期保持一个端口的开放。有关NAT层请移步
大部分中国家宽没有公网IP
拿一张New Bing的对话来说明:
中国目前正在面临非常严重的IPv4资源枯竭,别看人均IPv4还算凑合,这其中大部分是运营商拿去卖给网络服务商用的,真正分配给家宽的少之又少,我们通常只能申请到上下行不对称的家宽,下行高上行低,并且大部分人申请不到免费的v4公网,目前电信和联通还可以打电话试试,移动完全没戏。虽然有IPv6并且正常家宽默认给公网,但是v4依旧是主流。