人人都是 LSP?—— 種子與文件下載的相愛相殺

2021-02-25 01二進位

前言

世界上根本沒有 LSP,又或者,人人都是 LSP。

說起種子,你會想到什麼?

是農民伯伯春天播下,秋天就會收穫果實的東西?還是以.torrent結尾的文件?

如果是前者,那你一定是一個熱愛大自然的人。如果是後者,你一定是一個「熱愛生活」的人。

不過今天我們要聊的不是大自然的那個種子,而是 LSP 們喜聞樂見的這個種子。

P2P 與 BitTorrent 協議

所謂「種子」(或者叫種子文件),其實就是以.torrent結尾的文件,而他之所以叫種子,是因為這個文件裡包含了你需要獲取的文件的相關信息。就和自然界中的種子一樣,包含了日後形成一顆果實所需要的最基本的成分。

而這個.torrent後綴其實指的是支持 BitTorrent 協議的文件。BitTorrent 簡稱 BT,俗稱比特流。看到這,想必你已經有些印象了吧,我們常說的 BT 種子和種子其實是一種東西。

那麼這個 BitTorrent 協議是什麼?

不急,在介紹 BitTorrent 之前,先讓我們夢回高中課堂,回想一下以前抄作業的時光。

抄作業的例子

如上圖所示,學霸在寫完作業後,要把作業借給同學抄,但是一次只能借給一個人,且其他人只能抄學霸的作業,那麼如果想要讓學霸在內的 7 個人都寫完作業,取決與學霸寫作業的速度和每個同學抄作業的速度。我們知道,這樣的效率一定是很低下的,所以聰明的學霸想出了第二個辦法。如下圖所示:

學霸的辦法就是,把作業分成幾塊,讓每個人抄不同的部分,比如 A 抄單選題、B 抄多選題、C 抄填空題……然後每個人再把自己抄到的作業和其他人抄到的作業互換,這樣,所有人都可以在規定時間內把所有的作業都抄完了,以此實現效率的提升。

P2P 與文件下載

之所以要先提抄作業這個事情,是因為這兩種方案和下載文件頗為相似。

傳統的文件下載就和上面的第一種方案類似,如上圖所示,客戶端向伺服器發送「我要下文件」,伺服器便將文件再發給客戶端,這是一個很常見的場景,在這個場景中,客戶端下載文件的速率取決於兩個因素:伺服器的上傳帶寬和客戶端的下載帶寬。帶寬是指在單位時間(一般指的是 1 秒鐘)內能傳輸的數據量。

而一旦需要下載的文件數量是多個時,下載的總時間便受到下載數量 N 的限制,即越多的人下載某一個文件時,理論上所需要的下載時間就越長,如下圖所示:

這種用戶體驗顯然是很糟糕的,那麼有沒有什麼好的方法解決這個問題呢?這就要請出我們本期的「天降猛男」——P2P(peer-to-peer)

這裡的 P2P,和點對點(point-to-point)的協議程序不同,它是用戶群對用戶群(peer-to-peer),當然也不是我們前幾年經常聽見的暴雷的 P2P(網際網路金融點對點借貸平臺)。

本文所說的 P2P 是一種架構模式,就和我們之前說過的 C/S(客戶端/服務端)架構類似。

在 P2P 模式中,服務和資源分布化,資源不集中存儲在某些設備上,而是分散存儲在運行 P2P 程序的設備上,每一個對等方都可以為其他對等方提供服務。

還是拿抄作業這個例子來說,學霸的第二個方案就是一個很典型的 P2P 模式。他將自己的作業分成填空、選擇、單選、多選等部分,然後分別送給 6 個人,這樣當每個人都有自己的一部分副本後,就可以不用再找學霸本人要作業了,直接找其他擁有和自己副本不同的人索取然後互換資源即可。

在網際網路,P2P 模式也有一個非常重要的,乃至影響了所有 LSP 的應用,即 BitTorrent,也就是本文開篇所說的種子。

BitTorrent 協議

維基百科對 BitTorrent 的解釋是:

BitTorrent 協議(簡稱 BT,俗稱比特洪流、BT 下載)是用在對等網絡中文件分享的網絡協議程序。和點對點(point-to-point)的協議程序不同,它是用戶群對用戶群(peer-to-peer)。

BitTorrent 協議是架構於 TCP/IP 協議之上的一個 P2P文件傳輸通信協議,處於 TCP/IP 結構的應用層。

簡而言之就是 BitTorrent 是一個用來傳輸文件的協議,和第二個抄作業案例的特性類似,該協議的特點是,用戶越多,即下載同一文件的人越多,下載該文件的速度越快。且下載後,繼續維持上傳的狀態,就可以「分享」,成為其用戶端節點下載的種子文件(.torrent),同時上傳及下載。

在大多數人感覺中 BitTorrent 與 P2P 成了對等的一組概念,而它也的確將 P2P 技術發展到了近乎完美的地步。

原理

介紹完 BitTorrent 協議後,我們來說說他的原理吧。

其實和學霸將作業分成選擇題、填空題等給其他人抄的道理一樣,BitTorrent 協議也是將需要下載的文件虛擬分成大小相等的塊,這些塊的大小被要求成 2k 的整數次方(由於是虛擬分塊,硬碟上並不產生各個塊文件),並把每個塊的索引信息和 Hash 驗證碼寫入 .torrent 文件(即種子文件,也簡稱為「種子」)中,作為被下載文件的「索引」。  下載者要下載文件內容,需要先得到相應的 .torrent 文件,然後使用 BT 客戶端軟體進行下載。

而.torrent 文件其本質就是一張信息清單,存儲了一些信息,如下圖所示,其中就包括了文件大小、哈希值、tracker 地址等信息。

下載時,BT 客戶端首先解析 .torrent 文件得到 Tracker 地址,然後連接 Tracker 伺服器。Tracker 伺服器回應下載者的請求,提供下載者其他下載者(包括發布者)的 IP。或者,BT 客戶端也可解析 .torrent 文件得到 nodes 路由表,然後連接路由表中的有效節點,由網絡節點提供下載者其他下載者的 IP。

下載者再連接其他下載者,根據 .torrent 文件,兩者分別對方告知自己已經有的塊,然後交換對方沒有的數據。此時不需要其他伺服器參或者其他網絡節點的參與,分散了單個線路上的數據流量,因此減輕了伺服器負擔。

下載者每得到一個塊,需要算出下載塊的 Hash 驗證碼與 .torrent 文件中的對比,如果一樣則說明塊正確,不一樣則需要重新下載這個塊。

因此,下載的人越多,提供的帶寬也越多,種子也會越來越多,下載速度就越快。

如下圖所示:

從 BT 客戶端角度考慮,下載原理分為以下幾步:

1.根據 BitTorrent 協議,文件發布者會根據要發布的文件生成提供一個 .torrent 文件。客戶端可從 Web 伺服器上下載種子文件,並從中得到 Tracker 伺服器 URL。2.根據 Tracker URL 與 Tracker 伺服器建立連接,並從伺服器上得到 Peers 信息。3.根據 Peers 信息與一個 Peer 建立連接,依據 Peer wire 協議完成握手,並從 Peer 端下載數據文件。同時監聽 Peer 的連接,並給 Peer 上傳數據文件。

Tracker 沒了怎麼辦?

從上面的分析中我們得知,想要利用種子下載資源,第一步就是根據種子裡的信息獲取到 Tracker 地址,那麼這時候問題就來了,如果運營商掐斷了你和 Tracker 伺服器間的連接了怎麼辦?

有兩種解決方案:

PT

第一種是採用一種不會被運營商掐斷的 Tracker 伺服器,PT(英語:Private Tracker),即私有種子伺服器。他與 BT 最大的不同點為:可進行私密範圍下載。由於是私有的,所以一般的 PT 網站都是採用的邀請制,由已註冊的用戶向自己所信任的人發送邀請,以確保用戶質量。例如紫荊站就是南大人專屬的網絡資源的 PT 站點(需要在連接到校園網的狀態下登錄)。

說個題外話,紫荊花的花語是矢志不渝,而這個網站之所以叫紫荊,是因為開發者曾約定和他的女朋友一起在南大種一朵紫荊花,雖然最後因為學校的原因沒有種成,但意外誕生了紫荊 PT 來紀念他們的愛情。就像紫荊的作者說的,紫荊是胡同寫給他的領導「紫荊 MM」的一封情書,即「你的心裡,刻著我的名字」。

不說了,這就去吃檸檬。

DHT 網絡

第二種解決方案便是 DHT 網絡了,維基百科對他的解釋是:

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

不知道上面這種解釋能否理解,我換個說法,大家可能就清楚了。

曾經有一個非常著名的理論:最多通過五個人你就能夠認識世界上任何一個陌生人,即六度分離理論。在 DHT 網絡中,每個節點就跟人一樣,你可以通過你的朋友,或者你朋友的朋友,或者你朋友的朋友的朋友,只需要不斷遞歸即可找到你想要的資源地址。這樣的話,在一個網絡中也就不需要 Tracker 伺服器了,又或者說,在這個網絡中,所有的機器都充當了 Tracker 伺服器。再回顧開篇說的那句,世界上根本沒有 LSP,又或者,人人都是 LSP。這麼一想,是不是有那味了。

而這也是磁力連結的原理。所以其實磁力下載和種子下載的本質都是 P2P 下載,都是讓每個下載者分享資源片段,從而拼湊出一個完整的資源,下載者既是資源的消費者,又是資源的傳播者。他們之間的區別僅僅是尋找其他下載者的方式不同。由於篇幅的原因,本文便不詳細介紹磁力連結查找下載者的方式了,有興趣的小夥伴們可以搜索相關的資料學習下。

發展

看到這想必你對 BT 種子已經有了一定的了解了。其實 BT 技術早已涉及我們生活的方方面面了,以在線遊戲為例,有些在線遊戲的在線更新(如魔獸世界)就是採用 BT 的技術。所以當每次有改版時,動輒數百 MB 的更新檔,透過遊戲廠商所提供的更新程序,以 BT 的方式進行下載分流。這為以往的其他種在線遊戲,每次重大改版就必須重新壓制光碟,或是等待單一下載點的下載方式,帶來另一種節省成本的經營模式。

技術是把雙刃劍,利用 BT 傳播非收費性內容的好處有目共睹,但利用 BT 免費發布著作權內容肯定損害著作權所有者的合法權益,因此是否應因此立法全面禁止 BT 仍然是一個焦點問題。

對於大多數 85 後,90 後來說,第一次接觸 BT 種子想必和一個名為「快播」的播放器是脫不了干係的,我至今仍然記得王欣的那句技術本無罪。其實 Facebook 創立之初就是為了找到好看的女生,BT 的也是靠著他的作者科亨收集了些免費的色情電影才吸引到更多的人來測試他的程序,不得不說,某種程度上,ghs 真的促進了網際網路技術的發展。

最後

以上就是本文的全部內容了,如果你覺得還不錯的話,歡迎點讚關注轉發支持一波,你們的支持是我肝文的最大動力。

相關焦點

  • 磁力或者種子文件常見的下載工具介紹
    xt=urn:btih:FA62DEF2C2703F6ADF88B4355989A10B4079BA6這個就是一個完整的磁力連結,通常都是以「magnet」開頭。同時磁力和種子之間可以通過在線網站直接轉換:磁力連結轉種子的網站,www.torrent.org.cn/可以達到順暢轉換。
  • 種子(BT)文件使用教程
    為了防止和諧,我們會給大家提供除視頻外的兩種文件——壓縮包和種子(BT)文件。但是挺多小夥伴都不知道壓縮包和種子(BT)文件。資源補上後,在分享出去的文件中找不到視頻,仍然以為資源失效。今天,小編就為大家帶來種子(BT)文件使用教程。不會用的小夥伴們認真看仔細了!
  • 玩客雲在角落吃灰 如何巧妙用玩客雲下載BT種子文件
    最近,區塊鏈真的是好不熱鬧,大家都在跟風的蹭熱點,打著各種區塊鏈遊戲,發行各種各樣的代幣,感覺都快有點烏煙瘴氣了。讓玩客君又突然想起了那早已變成了炮灰的玩客雲(鏈克)。隨著各種政策的導向,玩客雲以及鏈克的價格都經歷了一場像過山車一樣刺激的波動,最後就像浪花一樣被狠狠的拍在了沙灘上。偶爾想起來那躺在角落吃灰的玩客雲,玩客君覺得還是要發揮一下「廢物利用」的精神,爭取榨乾最後的利用價值。大家都知道,在使用玩客雲的雲添時,大部分都是在下方點「+」,然後雲添加,搜索相關資源,然後下載。這樣雖然可以下載,但貌似無法直接使用BT種子文件。
  • 阿里騰訊的相愛相殺,關鍵轉折點都是如此同步
    你是不是偶爾也會有這樣的疑惑,為什麼哪裡都有騰訊阿里?這不是錯覺。騰訊與阿里相愛相殺看電影的時候也經常看到阿里影業與騰訊影業,看綜藝幾乎不是阿里資助,就是騰訊資助。現在坐公交也處處不離阿里,騰訊就連長租公寓蛋殼爆雷才發現蛋殼背後竟然是阿里投資的。
  • 相愛不相殺
    它的海報上有這樣一句話:我和我媽,相愛相殺。      接著我還看了反映同一主題的影片《春潮》,它的海報上寫的是:你與母親的關係就是你與世界的關係。      這兩部影片,雖然講述的都是親子關係,但是觀影過程中卻鮮有親子之間溫情脈脈的感受。真實、絕望、市儈、算計、糾纏、攻擊、醜陋、陰暗、病態,是影片給我留下的整體印象。
  • 「新晉網紅」薛之謙與「會長」馬睿相愛相殺
    「新晉網紅」薛之謙痛訴心酸創業史,與「關八會長」馬睿相愛相殺;更有張國榮舊友香港「老炮兒」鍾偉強再掀搖滾狂潮;神曲鼻祖彩鈴界三巨頭齊聚,現場比試洗腦神功。    明星與「爆料王」同臺 薛之謙馬睿相愛相殺    一個是新晉網紅薛之謙,一個是靠爆料八卦吃飯娛樂圈的搬運工「關八會長」馬睿,冤家一對。
  • 袋鼠下載最快的BT種子,磁力連結下載工具
    老黑可以這麼跟大家說,用了這個,下載一個片子只需要15秒鐘!   工具名稱:小獸磁力大全 軟體支持:迅雷+捷徑 支持設備:IOS   首先這個組合需要用到兩個應用。   一個是「捷徑」,這個大家可以直接在App Store搜索關鍵詞捷徑即可下載。   另一個就是「IOS迅雷」,這很多小夥伴應該都裝過,沒有安裝的...
  • 人人影視被關站,教你如果下載美劇
    推薦到國外的各種非營利網站上去下載片源文件(比如神網站:http://eztv.it,下文有詳細介紹)這些網站很多都是國外片源壓制組在維護的,清爽無廣告,而且不會被各種淨網行動查封3、國外網站下載的資源,字幕怎麼辦?從http://addc7ed.com或者到字幕組的官方網站上下載字幕組製作好的字幕配合觀看。
  • 相愛相殺的姐妹情
    相親亦相殺,相殺亦相愛這會,她懂了,她又哭了,又笑了。她太感動又太驚喜了。朵兒再也不能找回來了,但是姐姐們會永遠陪著她愛著她。儘管多年以後,她才明白,不管是姐姐,還是父母,都不可能永遠陪著她。然而,朝朝暮暮心相伴,年年歲歲愛依舊!親人之間的牽絆是不變的。
  • 通過BT種子下載145部盜版視頻,男子被判賠70萬
    然而與此同時,通過其他渠道下載視頻的方式仍然備受觀眾青睞。對於許多老司機們來說,應該都對BT下載不陌生了,它依然是目前網際網路最熱門的應用之一。相比國內外各大正版在線視頻網站而言,BT最大的殺傷力莫過於其擁有無窮無盡的盜版資源。 豐富的資源,加上優秀的速度,這就是BT下載至今長盛不衰的最大原因。
  • 小米MIUI7下載BT種子和磁力連結方法
    小米MIUI7如何下載BT種子呢?最新版本的MIUI7.1穩定版系統新增BT種子和磁力連結下載功能,可以自動識別BT種子和磁力連結並基於迅雷加速技術實現高速下載功能。下面小編就與大家分享一下小米MIUI7手機下載BT種子和磁力連結的具體方法。
  • 相愛相殺的星座組合,相愛容易相處難
    在這個世界上,人與人之間的關係是很微妙的,有些緣分是命中注定的,有些緣分是相愛相殺的,一起來看看幾組最具有代表性的相愛相殺星座組合。
  • 朱棣與朱允文的相愛相殺(原創歷史小說,每日更新中)
    本系列為《朱棣與朱允文的相愛相殺(原創歷史小說,每日更新中)》   回復編號對應文章如下:   【11756】朱棣與朱允文的相愛相殺(原創歷史小說,每日更新中)【1】   【11757】朱棣與朱允文的相愛相殺(原創歷史小說,每日更新中
  • 風雲際會:一代賢相與梟雄的相愛相殺
    其中,謝安與桓溫,更是上演了一出相愛相殺的好戲。出身豪門的謝安,對仕途不屑一顧,過著隱居東山(會稽郡)的生活,雖然各路高官甚至朝廷都想徵召謝安,可他根本不理不睬,到處遊山玩水。昇平三年(359年),謝安的弟弟謝萬因為一次軍事行動失敗,被貶為庶人。
  • 迪米與達尼相愛相殺這兩年
    這正是他們「相愛」的體現。達尼是為數不多的年輕教練,而迪米也比達尼小五歲而已,他們年齡相差不大,在網壇可謂是良師益友,所以他們的親密程度可見一斑。至於「相殺」,那還不明顯嗎?比賽的緊要關頭,迪米狀態起伏不定,手感忽冷忽熱,內心緊張,這對於達尼來說更是一種折磨,以至於本來一張poker face被迪米活生生逼成了表情包,然後就有了「drama queen」的美譽。
  • 《天狼》和《天才玩偶》:既相愛又為何相殺?
    相愛相殺啊!《天才玩偶》如果《天狼》註定是兩兄弟相愛相殺的故事,那《天才玩偶》就註定是兩姐妹相愛相殺的故事。雖然小愛和小町沒有血緣關係,但前面兩話能看出她們也不是塑料姐妹花,只不過第三話發生惡偶超市燒毀事件,小愛沒能立即拯救小町,就被羅正和羅布帶走脫離火場,結果小町對小愛的仇恨因此產生。
  • 《反貪風暴2》古天樂張智霖「相愛相殺」
    同時發布的「相愛相殺」重磅預告,揭秘古天樂、張智霖這對「古仙CP」在影片中的複雜關係。兩人從一開始的針鋒相對、互不退讓到面對周渝民時的警廉合作、默契配合,將三人對決的緊張刺激淋漓盡致地表現出來,全新劇情值得期待。《反貪風暴2》由黃百鳴監製、林德祿執導,古天樂、張智霖、周渝民、蔡少芬、陳靜、盛君與林保怡聯袂出演,將於9月14日18點登陸全國院線。
  • 一鍵離線下載小電影!BT種子磁力搜索App
    ,那麼今天A哥什麼都不說,你知道這款APP是幹什麼用的嗎?作者:Aimo來源:PConline原創很多朋友都喜歡用手機看視頻,例如小電影什麼的,最適合躺在床上看了。那麼問題來了,看到老司機發車,要怎樣才能搭上車?這時候就需要一個可以BT磁鏈種子搜尋引擎,如果搜索的結果可以直接離線下載,那就更好了。
  • 漢堡王與麥當勞相愛相殺的劇情,終結篇?
    01.  我們更為熟悉的是漢堡王與麥當勞的「相愛相殺」:高速公路上高如天際廣告牌、情人節的漢堡王廣告嘲笑麥當勞叔叔是單身狗……如果失去漢堡王,估計「喊麥cp」的粉絲們會很失望。 相愛相殺的廣告牌 02. 會不會吃不到漢堡王了? 就在近期,網友發現了一則驚人的消息:麥當勞漢堡王破產了?
  • 相愛相殺,還捨不得分開的星座配對,虐戀情深
    戀人之間的相處方式分為好多種,有的是親密無間型,不管做什麼都會一起,有的則是互不打擾型,各自保持一定的空間和距離,還有的是虐戀型,在一起相愛相殺,但是還捨不得分開