從零開始編寫一個BitTorrent下載器
阿新 • • 發佈:2021-03-15
# 從零開始編寫一個BitTorrent下載器
## BT協議
### 簡介
> BT協議Bit Torrent(BT)是一種通訊協議,又是一種應用程式,廣泛用於對等網路通訊(P2P)。曾經風靡一時,由於它引起了巨大的流量,對因特網的運營、維護和管理都產生了重要的影響。
BT協議的典型特徵就是沒有中心伺服器。BT協議中,作為參與者的機器被稱為**peers**。**peer**之間的通訊協議又被稱為**peer wire protocal**,即**peer連線協議**,是一個基於TCP協議的應用層協議。
BT協議在20年裡不斷髮展(從2001年開始),加入加密、私有種子等設計,也擴充套件了搜尋peer主機的方法。
### 連線
由於沒有中心伺服器,參與者需要使用另外的方法取得他人的地址,以建立對等連線,確定自己的機器應當從何處下載需要的檔案。傳統的BT協議使用中介伺服器**trackers**來告知每個參與者如何進行下載。**trackers**伺服器是基於HTTP的,這類伺服器本身不託管檔案資源,僅為每個參與者分配peers。
在BT協議網路中傳播違法資源的現象十分常見,這導致其中介伺服器常常會受到法律制裁,查封事件屢見不鮮。要解決這一問題,就需要將主機搜尋的工作下放到每個參與者的機器,即**分散式處理(distributed process)**。BT協議未來的核心就是[DHT](https://baike.baidu.com/item/DHT/1007999)、PEX、[磁力鏈](https://baike.baidu.com/item/磁力連結)。
## \.torrent檔案解析
以debian釋出的映象檔案種子為例。
![image](data:image/jpeg;base64,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VWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/dX8j/AI0f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/wCNVaKALX9oSf3V/I/40f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/dX8j/AI0f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/wCNVaKALX9oSf3V/I/40f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/dX8j/AI0f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/wCNVaKALX9oSf3V/I/40f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/dX8j/AI0f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/wCNVaKALX9oSf3V/I/40f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/dX8j/AI0f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/wCNVaKALX9oSf3V/I/40f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/dX8j/AI0f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/wCNVaKALX9oSf3V/I/40f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/dX8j/AI0f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/wCNVaKALX9oSf3V/I/40f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/dX8j/AI0f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/wCNVaKALX9oSf3V/I/40f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/dX8j/AI0f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/wCNVaKALX9oSf3V/I/40f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/dX8j/AI0f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/wCNVaKALX9oSf3V/I/40f2hJ/dX8j/jVWigC1/aEn91fyP+NH9oSf3V/I/41VooAtf2hJ/d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vw3pWgaN4w8E2ekaXaxWVnb/APCH3z+VDGoRF3Nq5Y4UAZJJPc1riMVhfZVIUcTFylypylCS5kozTuuR2d5K2r1ipXukJQlzXa0107aR/VN/M4z4UeEfFHi3RYvFtl401ptatPGOqwtbajqc0lg+mxavcRSWxg5ViIVby3I3KQgDBF21ha9rnjzxF418bX2g6V441HV9F19bHSrjTtVsrfQ4YY0gZ4p7aS6Qy7t0hd2hdhvGxhgY9N8MfDf4leDdMk0/R/F/gmzs5Lq4vWj/AOEQvnzNPM88zZbVyfmkkdsZwM4AAAFc5rX7OXirxD4oPiC/1/wTNqLyxzzKvhbU47a5lj2+XJPbrrIimddq4aRGI2rg8CuylmOC+t1q1WtBxd+S8Juyck+VpKOltH7z3as0xVKc5RajdO/lt73r3XR7Lsg8aaNqfi3x18Vo/wDhLPEWjw6JpNhd6bFpOpSW6QXBhuGMhVTtcEouY2BRv4lbjGT8TvB8XxQ8M/BzxLquseILPUNUvNJSePSdburKAGSGSRpFiikVVkyxxIBuA4ziu1b4XfEZr/XL0+LfBP2nW4I7bUJP+ERv/wB9GiuqLj+18LgSOMrg8/SqGt/BPx14i8F2nhO+8U+C5NDs44Y7aGPwrqMUkHlACJkmTWBIrKAMMGDe9Y0cdhqM6Uo4pR5OVXUZ3S5FGVvcV7yV7X16tMXJNpq26mvvty/dqeu+F/DsPhPQbXSbe71C+htwQtxql7LeXDZYn55pWZ3645J4AHatWuR+FnhHVvAvhGDRNW1Wz1drV2FvNZ211FtiOCFc3N1cySPuLneZOhUYG3J66vhcTb283GfOrv3tVfzs9dTrhpFaWCiiiuYsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo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Ik/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJqa0idbhCUYDnkj2rSooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDH8iT/nm3/fJo8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAx/Ik/55t/3yaPIk/55t/3ya2KKAMfyJP+ebf98mjyJP8Anm3/AHya2KKAMfyJP+ebf98mjyJP+ebf98mtiigDNtInW4QlGA55I9qh8iT/AJ5t/wB8mtiigDH8iT/nm3/fJo8iT/nm3/fJrYooAx/Ik/55t/3yaPIk/wCebf8AfJrYooAhtFK26Agg88H60VNRQB//2Q==)
一個\.torrent檔案描述了可下載檔案的內容以及需要連線到的tracker中介伺服器的資訊,其編碼格式為**Bencode**。
檔案的頭部資訊可以直接以文字形式檢視:
```
d8:announce41:http://bttracker.debian.org:6969/announce7:comment35:"Debian CD from cdimage.debian.org"13:creation datei1612616380e9:httpseedsl146:https://cdimage.debian.org/cdimage/release/edu//srv/cdbuilder.debian.org/dst/deb-cd/weekly-builds/amd64/iso-cd/debian-edu-10.8.0-amd64-netinst.iso146:https://cdimage.debian.org/cdimage/archive/edu//srv/cdbuilder.debian.org/dst/deb-cd/weekly-builds/amd64/iso-cd/debian-edu-10.8.0-amd64-netinst.isoe4:infod6:lengthi425721856e4:name35:debian-edu-10.8.0-amd64-netinst.iso12:piece lengthi262144e6:pieces32480:[每個部分的hash,以二進位制表示]
```
之後的內容為二進位制,無法直接檢視。
美化一下這個部分的資訊,可以發現清晰的結構特徵:
```json
d
8:announce
41:http://bttracker.debian.org:6969/announce
7:comment
35:"Debian CD from cdimage.debian.org"
13:creation date
i1612616380e
9:httpseeds
l
146:https://cdimage.debian.org/cdimage/release/edu//srv/cdbuilder.debian.org/dst/deb-cd/weekly-builds/amd64/iso-cd/debian-edu-10.8.0-amd64-netinst.iso
146:https://cdimage.debian.org/cdimage/archive/edu//srv/cdbuilder.debian.org/dst/deb-cd/weekly-builds/amd64/iso-cd/debian-edu-10.8.0-amd64-netinst.iso
e
4:info
d
6:length
i425721856e
4:name
35:debian-edu-10.8.0-amd64-netinst.iso
12:piece length
i262144e
6:pieces
32480:[每個部分的hash,以二進位制表示]
e
e
```
其中包含了tracker伺服器的URL、建立事件(Unix時間戳)、檔名和檔案大小、以及一系列表示每個檔案塊的**SHA\-1**雜湊值的二進位制片段(檔案塊是指檔案被等量拆分後形成的幾個部分)。每個種子中檔案被拆分的大小依據是不同的,但基本處在**一個區間內(256KB到1MB)**。因為這樣的設計,大型檔案將會被拆分成眾多碎片。在實際下載中,下載執行者會從能夠連線的那些peers主機下載檔案塊,並且根據種子檔案校驗其雜湊值,最後拼接成完整的檔案。
這種機制能夠確保每個檔案塊的完整性,抵禦裝置故障或惡意投毒(torrent poisoning)造成的損害。如果攻擊者不能破解SHA\-1進行[原像攻擊](https://zh.wikipedia.org/wiki/原像攻擊)(preimage attack),那麼下載取得的檔案就是安全可靠的。
### Bencode編碼
從已知的資訊可以看出,\.torrent檔案中的元資料均以“鍵:值”形式儲存,故可以將整個內容理解為一個經過特殊編碼的字典,或者一個近似的JSON。
Bencode中,數字採用十進位制編碼,相比純二進位制編碼顯得效率較低,但保證了良好的跨平臺性(無大小端儲存問題)。
Bencode支援四種類型的資料:string、int、Dictionary\、List\