BitTorrent概述(选自维基)

BitTorrent 技术简介 BitTorrent是一种高效的点对点文件分发协议,采用"人人为我,我为人人"的共享机制。其核心特点是用户同时在下载和上传数据,通过种子文件或磁力链接获取资源,依赖Tracker服务器或DHT网络连接节点。相比传统下载方式,BT具有下载人数越多速度越快的优势,且包含完整性校验和公平激励机制。虽然常被用于盗版传播,但该技术在Linux发行版分发等合法领域也发挥着重要作用。 阅读详情
 

BitTorrent

維基百科,自由的百科全書

跳转到: 导航, 搜尋
此文是論及BitTorrent協議。如要查看軟體請到BitTorrent軟體。

BitTorrent協議(簡稱BT,俗稱比特洪流、BT下載、變態下載)是一個網路文件傳輸協議,它能夠實現點對點文件分享的技術。比起其他點對點的協議,它更有多點對多點的特性,這個特點簡單的說就是:下載的人越多,速度越快。下載完不馬上關閉BitTorrent軟體,就可以成為種子(擁有完整的檔案者)分流讓其他人下載。

目錄

[隱藏]

[編輯] 原理簡述

BT原理
BT原理

普通的HTTP/FTP下載使用TCP/IP協議,BitTorrent協議是架構於TCP/IP協議之上的一個P2P文件傳輸協議,處於TCP/IP結構的應用層。 BitTorrent協議本身也包含了很多具體的內容協議和擴展協議,併在不斷擴充中。

根據BitTorrent協議,文件發佈者會根據要發佈的文件生成提供一個.torrent文件,即種子文件,也簡稱為「種子」。

.torrent文件本質上是文本文件,包含Tracker信息和文件信息兩部分。Tracker信息主要是BT下載中需要用到的Tracker伺服器的地址和針對Tracker伺服器的設置,文件信息是根據對目標文件的計算生成的,計算結果根據BitTorrent協議內的B編碼規則進行編碼。它的主要原理是需要把提供下載的文件虛擬分成大小相等的塊,塊大小必須為2k的整數次方(由於是虛擬分塊,硬碟上並不產生各個塊文件),並把每個塊的索引信息和Hash驗證碼寫入.torrent文件中;所以,.torrent文件就是被下載文件的「索引」。

下載者要下載文件內容,需要先得到相應的.torrent文件,然後使用BT客戶端軟體進行下載。

下載時,BT客戶端首先解析.torrent文件得到Tracker地址,然後連接Tracker伺服器。Tracker伺服器回應下載者的請求,提供下載者其他下載者(包括發佈者)的IP。下載者再連接其他下載者,根據.torrent文件,兩者分別對方告知自己已經有的塊,然後交換對方沒有的數據。此時不需要其他伺服器參與,分散了單個線路上的數據流量,因此減輕了伺服器負擔。

下載者每得到一個塊,需要算出下載塊的Hash驗證碼與.torrent文件中的對比,如果一樣則說明塊正確,不一樣則需要重新下載這個塊。這種規定是為了解決下載內容準確性的問題。

一般的HTTP/FTP下載,發佈文件僅在某個或某幾個伺服器,下載的人太多,伺服器的頻寬很易不勝負荷,變得很慢。而BitTorrent協議下載的特點是,下載的人越多,提供的頻寬也越多,種子也會越來越多,下載速度就越快。

而有些人下載完成後關掉下載任務,提供較少量數據給其他用戶,為盡量避免這種行為,在非官方BitTorrent協議中存在超級種子的演算法。這種演算法允許文件發佈者分幾步發佈文件,發佈者不需要一次提供文件所有內容,而是慢慢開放的下載內容的比例,延長下載時間。此時,速度快的人由於未下載完必須提供給他人數據,速度慢的人有更多機會得到數據。

[編輯] DHT網路

目前,又發展出DHT網路技術,使得無Tracker下載成為可能。

DHT全稱為分散式哈希表(Distributed Hash Table),是一種分散式存儲方法。在不需要伺服器的情況下,每個客戶端負責一個小範圍的路由,並負責存儲一小部分數據,從而實現整個DHT網路的定址和存儲。使用支持該技術的BT下載軟體,用戶無需連上Tracker就可以下載,因為軟體會在DHT網路中尋找下載同一文件的其他用戶並與之通訊,開始下載任務。

有些軟體(比特精靈)還會自動通過DHT搜索種子資源,構成種子市場。

另外,這裡使用的DHT演算法叫Kademlia(在eMule中也有使用,稱為KAD,具體實現協議有所不同)。

這種技術好處十分明顯,就是大大減輕了Tracker的負擔(甚至不需要)。用戶之間可以更快速建立通訊(特別是與Tracker連接不上的時候)。

[編輯] BT中相關概念

Tracker:收集下載者信息的伺服器,並將此信息提供給其他下載者,使下載者們相互連接起來,傳輸數據。

種子:指一個下載任務中所有文件都被某下載者完整的下載,此時下載者成為一個種子。發佈者本身發佈的文件就是原始種子。也指.torrent文件。

做種:發佈者提供下載任務的全部內容的行為;下載者下載完成後繼續提供給他人下載的行為。

[編輯] BitTorrent與自由軟體

BitTorrent對於大型文檔和自由軟體如Linux、FreeBSD的發佈幫助很大。對於發佈數百MB以至數GB的檔案時,如Fedora的光碟鏡像格式檔,BitTorrent的使用能大大減低伺服器的數據流量從而減低發佈的成本。另外,一般有新版本軟體推出時,伺服器必定人山人海,使用BitTorrent也能大大減低繁忙時間伺服器的負擔。

[編輯] 優秀的BT軟體

[編輯] 歷史

2002年,布萊姆·科亨在CodeCon初次露面,發表首個BT軟體BitTorrent。它以Python寫成,以MIT許可證發布。

[編輯] 負面影響

BT下載方式目前引起社會的廣泛討論。

利用BT免費發佈版權內容肯定損害版權所有者的合法權益,但傳播非收費性內容的好處有目共睹。爭論的焦點是,是否應因此立法全面禁止BT,並且對從事BT下載的人作出懲罰。但到目前為止,中國大陸和西歐國家等,如德國,對BT仍沒有任何法律上的約束。而在香港,已經有人(綽號為古惑天皇)因為發佈電影的種子而被海關拘捕。2005年10月24日,香港司法機關裁定「古惑天皇」的侵權罪成立,需要即時「監禁」三個月。香港工商貿易部門領導曾俊華與「海關關長」湯顯明對今次裁決感到歡迎,並表示香港將不容忍任何侵權行為的存在,同時政府亦會隨時與商人合作打擊侵權行為。而在台灣,由於需受到美國特別301條款報復的壓力,因此經常與IFPI及商業軟體聯盟(BSA)等商業版權組織合作查緝提供BT來源的網站及討論區,台灣論壇首度因為供應BT下載遭到被捕,卡提諾王國為全台灣最大的BT以及違法分享最大的分享平臺,也於不久後被法務部調查。

[編輯] 支援BT下載協定的瀏覽器

  • Opera 8.10 Preview 2 (正式版未發佈該功能)

[編輯] 外部鏈接

小知识·BitTorrent 简介 BitTorrent 简介 阅读详情

相关推荐

bittorrent协议

简述 Bittorrent(BT) wiki:https://wiki.theory.org/index.php/BitTorrentSpecification 文件分发协议,下载过程主要包括:BT客户端Peer(有.torrent文件)首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应Peer的请求,提供下载者其他Peer(包括发布者)...

dlphay的博客 1508

BitTorrent P2P技术

P2P技术     改文章对该技术介绍较好。 http://blog.chinaunix.net/uid-11572501-id-2868678.html 搜集的一些内容 BitTorrent 需要一个tracker服务器,为什么被称作去中心化呢? 之前说的BT去中心化是指传输文件数据不依赖服务器,tracker服务器只是索引。 现在有DHT网络加持,tracke

thanklife的专栏 2150

PeerSim进行BitTorrent仿真(二)—— BitTorrent变量

public class BitTorrent implements EDProtocol { /** * 配置文件中读取的文件大小 * @config */ private static final String PAR_SIZE="file_size"; /** * The Transport used by the the protocol. * @config ...

qq_33670304的博客 303

BitTorrent协议规范

鉴定 BitTorrent是由布莱姆·科恩设计的一个端对端(peer to peer)文件共享协议,此协议使多个peers通过不可信任的网络的文件传输变得更容易。 目的 此规范的目的是详细介绍 BitTorrent 协议规范 v1.0 。Bram 的协议规范网站 http://www.bittorrent.com/protocol.html 简要地叙述了此协议,在部分范围缺少详细的行

dps game 1795

VL53L0X测距不准?手把手教你做RefSPAD校准与环境补偿(附Arduino/STM32代码)

本文详细解析了VL53L0X激光测距传感器精度不足的原因,并提供了RefSPAD校准与环境补偿的完整解决方案。通过Arduino和STM32代码示例,手把手教你实现毫米级测距稳定性,适用于机器人避障、工业检测等场景。

weixin_28744423的博客 256

Lumerical官方案例、FDTD时域有限差分法仿真学习(十八)——Y分支粒子群算法优化

组件优化是任何致力于开发高性能光子器件的设计过程的关键步骤。 此绝缘体上硅 Y 分支示例演示了适用于任意优化例程的通用组件形状参数化方法。 此示例中的算法是 Lumerical 的内置粒子群优化 (PSO),可通过用户界面轻松设置。 此外,建议的优化过程展示了如何将 varFDTD 与全 3D FDTD 求解器相结合,以显着减少优化时间,同时保持高精度。

weixin_45719141的博客 1万+

BitTorrent概述

BitTorrent是流行的分布式文件系统。基本上,BT中文件的共享过程如图4所示,可以按以下五个步骤描述: 1 Peer A与Web服务器交互并下载.torrent文件。 2 Peer A和其在*.torrent文件中找到的追踪者互动,并请求一组在Torrent网络中的对等方。 3 追踪者发送一组有具体数量的在Torrent网络中的对等方。 4 Peer A随机从名单中选择一部分参与者节点作为其邻居节点并建立与它们的联系 5 Peer A可以利用swarming技术和其邻居交换文件片段的数据。 在Bit

小楼一夜听春雨 1682

Vivado IP核与License许可全解析:从免费到收费,从评估到部署

本文全面解析Vivado IP核与License许可机制,从免费到收费IP核的选型指南到License的申请与部署策略。详细介绍了Xilinx官方IP核的优势与局限,第三方IP核的风险与应对,以及实战中的资源优化技巧和版本兼容性问题,帮助开发者高效利用Vivado工具链。

weixin_29169505的博客 366

BitTorrent

BitTorrentBitTorrent protocolKey terms BitTorrent protocol BitTorrent protocol is a peer-to-peer file sharing protocol. It works very differently from the traditional p2p files sharing protocol. Traditional file sharing protocol uses client-server model, w

每天进步一点点。 677

ADS(Arm Developer Suite)安装的坑!

实验课老师让我们区安装ADS,作为嵌入式开发的工具,原本以为这只是一个简单的软件,但是当我安装的时候,我才发现这软件太难了!安装了我大半天,看了其他的博客之后,最终才安装成功???????? 安装过程的一个巨坑就是:安装路径!以及安装许可注册文件 如果没有注意路径,最后安装成功以后打开软件就是蜜汁报错???? 报错了怎么办?删掉已安装的东西,重新安装吧,而且要删干净 再次安装的时候,打开安装包是这个提示...

weixin_42795819的博客 8218

Anthropic发布10款金融AI智能体模板深度解析:重构华尔街工作范式

摘要:2026年5月,Anthropic发布10款金融AI智能体模板,标志着AI从辅助工具升级为"虚拟同事"。这些智能体深度集成到Word、Excel等办公软件中,覆盖投行、商行、资管三大场景的核心工作流,预计可提升效率35-85%。技术架构基于Claude3.5Sonnet模型,具备200K上下文窗口和95%+的财务图表解析准确率,并与彭博等金融数据源直连。发布引发传统金融数据服务商股价下跌,摩根大通等机构则视其为成本优化工具。落地需分四阶段推进,关键在于数据治理和复合型人才培养。未来

yyq916的博客 634

利用python的BitTorrent扩展库,解析BitTorrent文件

根据BitTorrent文件的格式,用C++写一个也不难,主要是逐个读和解析,发现python有这库就更好了,下一个BitTorrent的bencod第三方库,其中主要是bencode.py,把它放到工程就行,写了个简单的python就可解析了: import bencode def torrent2dict(filename):     f = open(filename, '

2982

BERT之提取特征向量 及 bert-as-server的使用

本文内容列表提取句向量1、句向量简介1-1传统句向量1-2、BERT句向量2、 extract_features.py源码分析2-1 main函数 前一篇文章 BERT介绍及中文文本相似度任务实践 简单介绍了使用BERT进行中文文本相似度计算的方法,这篇文章着重对特征提取方法进行讲述。 提取句向量 1、句向量简介 1-1传统句向量 更多采用word embedding的方式取加权平均,该方法的一大...

ling620的专栏 1万+

bittorrent下载_面向初学者的BitTorrent:如何开始下载Torrent

bittorrent下载Image by jacobian 图片来自jacobian Heard of BitTorrent, but not quite sure how to use it, or wonder whether you should use it at all? Here’s a quick guide for newbies on how it works and how...

culinxia2707的博客 3193

使用C#实现的多人语音视频系统:WebSocket与WebRTC集成

通过上述的代码示例,我们可以使用C#编写一个多人语音视频系统,该系统集成了WebSocket和WebRTC技术。当然,这只是一个简单的示例,实际的多人语音视频系统可能需要更多的功能和优化。通过结合这两种技术,我们可以实现实时的语音和视频通信,支持多人同时参与。在上述代码中,我们创建了一个WebSocket服务器,监听在本地的8080端口,并创建了一个WebRTC连接。接下来,我们将详细介绍如何使用C#编写一个多人语音视频系统,包括使用WebSocket建立连接和使用WebRTC进行实时通信。

TjsReact的博客 1633

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

BitTorrent详解

一、什么是BitTorrent 一般来说,我们认为BitTorrent是一个P2P下载软件(点对点下载软件),你在下载的同时,也在为其他用户提供该文件的上传,因为大家是“互相帮助”,所以不会随着用户数的增加产生服务器拥塞而降低下载速度。 但是严格的来说,BitTorrent是一种用来在网络上传输文件的协议(Protocol),它本质上是分布式系统的P2P(点对点)传输文件协议...

weixin_34221073的博客 2211

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

什么是BitTorrent协议

一般的下载服务器为每一个发出下载请求的用户提供下载服务,而BitTorrent的工作方式与之不同。分配器或文件的持有者将文件发送给其中一名用户,再由这名用户转发给其它用户,用户之间相互转发自己所拥有的文件部分,直到每个用户的下载都全部完成。

hongchangfirst 4125

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

BitTorrent协议详解

原文见http://bitconjurer.org/BitTorrent/protocol.html作者Bram Cohen孤波享有对该翻译版本解释权修改权非商业引用请注明译者目前处在Beta测试中,很不完善,请不要转贴或引用希望高人提出建议和指出错误错误不断完善尤其请注意后面几段,我都不知道自己翻译的什么我将在尽量3天内发出正式版本。BitTorrent协议详解BitTrrent

坚持到底 2096

BitTorrent Tracker 搭建及使用

BitTorrent Tracker 搭建及使用(Linux)安装xbt-Tracker安装相应的库下载源码安装安装MySqlxbt-tracker配置服务启停(Linux)安装BitTorrent客户端Transmissionyum repo下载安装transmission-deamon服务启停Transmission配置制作种子并发布transmission-create制作种子添加种子发布种...

threeboss的博客 6395

bittorrent_如何匿名和加密您的BitTorrent流量

bittorrentWhether you’re trying to dodge an angry government, a connection throttling ISP, or the watchful gaze of media conglomerates, anonymizing and encrypting your BitTorrent traffic can help. Rea...

2702

[Tracker] linux 搭建 BitTorrent

虚拟机: vmware 15 虚拟机系统:ubuntu 20.04 本机系统: win10 Ubuntu 搭建BitTorrent 本文是在虚拟机中搭建 bitrtorrent 和 web 平台,生成BT种子后,在本机可以下载 一. 安装 BitTorrent 1. 安装 python (如果已有 python 则跳过此步) sudo apt-get install python 2. 通过命令安装 BitTorrent sudo apt-get inst...

就是那个党伟 2363

BitTorrent協議規範(转自維基百科)

BitTorrent協議規範  目錄 [隱藏] 1 目的 2 應用範圍 3 約定

1489
上一篇: BitTorrent協議規範(转自維基百科)
下一篇: ADSL路由猫端口映射集结
Pregunta
博客等级 码龄23年 6粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值