經常使用下載方式的區別-BT下載、磁力連接、電驢

出處:https://www.jianshu.com/p/72b7a64e5be1html


 

打開 115 離線下載的窗口,看到支持這麼多種連接,你都清楚他們是什麼原理嘛?接下來咱們一個一個說。程序員

1、HTTP(超文本傳輸協議)/ HTTPS

將文件放到服務器上,而後由服務器傳送到不一樣的用戶機器上,稱爲 Client–Server Model 簡稱 C/S 模式,或者叫一對多模式。緩存

若是同一時刻同一文件下載的用戶太多,會影響到下載速度。安全

例如:華軍軟件園下載比特彗星:服務器

獲得下載連接:網絡

http://sqdownd.onlinedown.net/down/bitcomet_setup150.exe

2、FTP(文件傳輸協議)/ SFTP

跟 HTTP 同樣,將文件放到服務器上,而後由服務器傳送到不一樣的用戶機器上。分佈式

不一樣的是,FTP 須要輸入用戶名和密碼來驗證通訊安全的過程。 不過大多的 FTP 下載站會採用 Anonymous FTP 來跳過驗證的過程。這樣也就跟 HTTP 差很少的體驗了。工具

例如:電影天堂下載《阿甘正傳》:測試

獲得下載連接:網站

ftp://4:4@dx.dl1234.com:8006/阿甘正傳BD雙語雙字[電影天堂www.dy2018.com].mkv  

3、BT

BitTorrent 是用於對等文件共享(P2P)的通訊協議,其用於經過因特網分發數據和電子文件。不少網友戲稱爲「變態下載」。

注1:不要跟點對點協議 PPP(Point-to-Point Protocol)混淆,那個爲撥號上網協議。

 

注2:P2P借貸(Peer-to-Peer Lending)也是基於 Peer-to-Peer 模式。

問:什麼是 P2P(Peer-to-Peer)?  

答:性質:

(1)它是無中心服務器的對等網絡系統,而上文說的 C/S 模式是有中心服務器的中央網絡系統

(2)對等網絡的每一個用戶端既是一個節點,也有服務器的功能。因此用戶便可如下載文件也能夠上傳文件給別人。

(3)因此它叫用戶羣對用戶羣( peer-to-peer )模式。用戶越多,下載同一文件的人越多,下載該文件的速度就越快

注:BT 下載講究共享精神,這跟互聯網的共享精神一脈相承。因此建議不要限制上傳速度
通常的 BT 客戶端程序,默認設置都未對下載速度和上傳速度進行限制,這是由於BT 軟件會給上傳速度較快的用戶優先提供服務,也就是說上傳速度越快,下載速度也越快,所以若是你帶寬過剩的話,下載時就不要去限制上傳速度了。

好處:

(1)。減小了網路傳輸節點。適合用在相似 VoIP( Voice over Internet Protocol - 基於 IP 的語音傳輸)等對數據通訊實時性要求比較高的應用場合。

(2)保護隱私。與有中央服務器的網絡系統不一樣,BT 下載節點能遍及整個互聯網,給包括開發者在內的任何人、組織、或政府帶來監控難題。

(3)減輕服務器壓力。若是某公司有新版本軟件推出(如魔獸世界遊戲更新新版本)時,服務器一定會人山人海,而使用 BT 能大大減輕服務器的負擔,節約服務器的購置成本。

壞處:

(1)盜版氾濫,你懂的。

下載原理

下載者要下載文件,須要先獲得相應的種子文件,而後使用BT 客戶端軟件(迅雷、比特彗星等)進行下載。

下載時,BT客戶端首先解析種子文件獲得 Tracker 地址,而後鏈接Tracker 服務器。Tracker 服務器迴應下載者的請求,**提供其餘下載者(包括髮布者)的IP **。下載者再鏈接其餘下載者,根據種子文件,二者分別告知對方本身已經有的塊,而後交換對方所沒有的數據。此時不須要其餘服務器參與,分散了單個線路上的數據流量,所以減輕了服務器負擔。

下載者每獲得一個塊(塊一般是非順序下載的),須要算出下載塊的哈希值與種子文件中的對比,若是同樣則說明塊正確,不同則須要從新下載這個塊。這種規定是爲了解決下載內容準確性的問題。

一樣,BT 下載也自然支持斷點續傳功能。

總結幾個關鍵概念

(1)種子.torrent 文件。種子文件本質上是文本文件,包含Tracker 信息(上面提到的提供其餘下載者(包括髮布者)的 IP )和文件信息(上面提到的下載塊的哈希值`)兩部分。

(2)Tracker 服務器:Tracker 服務器是 BT 下載中必須的角色。一個BT client 在下載開始以及下載進行的過程當中,要不停的與 Tracker 服務器進行通訊,以報告本身的 IP 信息,並獲取其它下載 client 的 IP 信息

(3)作種:分爲兩種,第一是你做爲首位發佈者發佈,供給別人下載,這叫原始種子)第二種就是在你完成了 BT 下載任務後不關閉BT client,提供上傳供別人下載。

注:關於如何本身製做種子文件,看這裏的介紹:
https://jingyan.baidu.com/article/b24f6c82e06df186bfe5dad6.html

3、磁力連接 —— BT 下載新形式

隨着 BT 下載在全世界的風靡,也誕生了海盜灣這樣的巨頭,它是一個由瑞典的民間反版權組織海盜署成立於 2003 年的網站,號稱擁有世界最大的 BT 種子服務器,提供海量的資源下載,而這些資源大多都是盜版的。

 

這引發了版權擁有方們的強烈不滿,今後雙方官司不斷。具體能夠看這部紀錄片:

俗話說,「打蛇打七寸」,因而 Tracker 服務器成爲了版權組織打擊的重點,他們的想法很明確,只要除掉了 Tracker,BT 下載就完了。因而從 2009 年開始,不少 BT 服務器被關,不只不少種子沒法找到, Tracker 服務器也斷開解析工做,使得 BT 下載成爲很大難題。

 

然而魔高一尺道高一丈,這反而促使了 BT 技術的一次大升級。

一、DHT 網絡技術,能夠在無 Tracker 服務器的狀況下下載

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

有些軟件(如比特精靈)還會自動經過 DHT 搜索種子資源,構成種子市場,即搭建曾經形式的 BT 服務器。

二、磁力連接

爲了實現無需連上 Tracker服務器 便可下載這個新方式,磁力連接(Magnet URI scheme)應運而生,注意,磁力連接並非取代種子文件,而是在沒有 Tracker 服務器的狀況下,能夠用一小段連接方便的在 DHT 中 找到種子文件

原理

不一樣於以前的 BT 對每一個文件塊作哈希值,磁力連接是對整個文件作哈希,來惟一標識這個文件。

特色

(1)磁力連接是基於文件內容的,屬於統一資源名稱,理論上每一個文件都對應不一樣的 URI ,且不會重複

(2)任何人均可以經過一個磁力連接來確保該連接指向的資源就是他想要的,而和獲得該資源的方式無關,因此整個下載網絡的可靠性提升了,由於每個節點都是能夠被替代的。

(3)Magnet URI 只是一個字符串,自然具備跨平臺性,自然容易傳播

注:2012年2月14日,據美國科技博客 Mashable 報道,海盜灣宣佈從2012年2月29日起將再也不提供 BT 種子下載,全面轉向磁力連接。

例如:海盜灣下載一部電影:

獲得下載連接:

magnet:?xt=urn:btih:761185c0724de8db4362941571ea2c1e16ea950b&dn=Love%2C+Simon+%282018%29+%5BWEBRip%5D+%5B1080p%5D+English&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969

 

注:推薦一個磁力連接和種子互轉的工具:http://www.torrent.org.cn/

[拓展]

BitTorrent 也能夠用來實現文件同步

Resilio Sync(曾經名爲「BitTorrent Sync」)是由 BitTorrent 公司開發的專有的對等網絡數據同步工具,可在 Windows、OS X、Linux、Android、iOS 和 FreeBSD 上使用。其可在局域網、互聯網上經過安全的、分佈式的 P2P 技術在不一樣設備之間同步文件。

儘管 Resilio Sync 開發者不認爲這是 傳統文件同步工具(如Dropbox)的競爭者或替代品,但已有人開始注意到這個不同凡響的同步工具了。這主要是因爲 Resilio Sync 沒有常見的文件同步工具中所含有的問題,如文件存儲容量限制、私有/安全性、價格因素、同步速度因素,這正是它另闢蹊徑帶來的 優點

4、電驢 / 電騾 —— BT 曾經的挑戰者

不少人曾經都用過電驢 / 電騾 ,但你知道它們的區別嗎,你知道它們前世此生嗎,你知道這裏面有李逵李鬼的故事嗎?

一、電驢

eDonkey2000(又稱 eDonkey,可縮寫爲 eD2k,中文通常稱電驢,由於 Donkey 在英文中就是驢子的意思)是電驢最先的前身,它是由 MetaMachine 公司開發的一個可跨平臺運行於 Windows、Mac OS、Linux 等操做系統的閉源免費的 P2P 文件共享軟件。正如它的名字,他是在 2000 年發佈的。

注: eDonkey2000 比 BitTorrent 還要早一年誕生,BT 是由美國的程序員布萊姆·科亨於2001年4月時發佈,並於2001年7月2日時首次正式應用。

 

這裏須要理清 eDonkey 是由三個部分組成:

(1) eDonkey 網絡:基於 P2P 的文件共享網絡,目前使用最廣的文件共享網絡之一,後升級爲HDT網絡(下文會提到)

(2) eDonkey 軟件:即 eDonkey 網絡客戶端,全部可鏈接 eDonkey 網絡的客戶端軟件的統稱。包括 eDonkey2000、eMule(下文會提到)、aMule 等

(3) eD2k 連接:用於指示 eDonkey 網絡上文件的連接。是對文件內容提取出的哈希值。

由於電驢跟 BT 的技術很相仿,這些概念能夠放在一塊兒作比較:

例如:在電影港下載《河畔》:

獲得下載連接:

ed2k://|file|%E6%B2%B3%E7%95%94.720p.BD%E4%B8%AD%E5%AD%97[%E6%9C%80%E6%96%B0%E7%94%B5%E5%BD%B1www.66ys.tv].mp4|1284891202|5052C583C3EC5A5BC626F45847CB0340|h=5QE3DFPQBGH5JXPBSZ4P5IHVAUS3HWPY|/

然而2005年9月28日,在遭到美國唱片業協會的侵權控告並敗訴後,MetaMachine 公司關閉了 eDonkey2000 官方網站,以後又中止了 eDonkey2000 軟件的開發。可是 eDonkey2000 軟件的主要 P2P 網絡,同時也是 MetaMachine 公司爲 eDonkey2000 原創研究出的 eDonkey 網絡和 eD2k 連接,至今仍被普遍使用。

二、電騾

雖然 eDonkey2000 倒下了,可是後起之秀其實在它剛誕生1年就已經出現了,那就是 eMule,由於 eMule 在中文是騾子的意思,因此中文正式翻譯是電騾。它是一款開源軟件,它能夠看做是是商業軟件 eDonkey 的同人做品。

它除了支持 eDonkey 的網絡和 eD2k 協議以外,還新增了不少不同的功能,特別是 KAD 節點(相似 BT 的 HDT 網絡)的支持,讓 eD2k 完全成爲了徹底的 P2P 網絡。eDonkey 電驢所使用的 eDonkey 網絡,雖然也是基於 P2P 共享,可是仍然離不開中央服務器。一羣人使用 eDonkey 電驢進行文件共享,必需要有中央服務器來做爲通信中心,爲用戶提供查找文件等服務。而 KAD 則是更完全的 P2P,只須要用戶做爲節點,用戶之間可以直接鏈接,徹底脫離了中央服務器。這種方式其實也所以經受住了版權商的壓力而巍然不動,由於用戶之間共享盜版能夠推脫給用戶的自發行爲。

eMule 和 eD2k 很早就在國外廣爲流行,但因爲 eMule 是開源軟件、缺少商業推廣的緣由,在國內長時間內只是小衆的玩物。

三、easyMule —— VeryCD 電驢

上文提到國內的 eMule 發展的不溫不火,因而上海維西(VeryCD)公司看到了商機,由於 eMule 是開源的,因此2007年起開始將 eMule 的代碼拿來開發,更名叫 easyMule。easyMule 初版爲 eMule Mod,修改自官方 eMule,於是遵循 GNU GPL v2 協議,開放源代碼;第二版聲稱徹底自主開發而閉源,但其是否真正徹底自主開發尚存在爭議。VeryCD 公司宣傳稱 easyMule 爲「電驢」,此名稱存在較大爭議,由於明顯跟 eDonkey 電驢容易起混淆。

 

在起初,VeryCD 電驢還保留着 eMule 的大量功能,但到了後來,VeryCD 電驢將最精髓的 KAD 資源搜索等功能重重閹割(KAD 能夠搜索全球e Mule 共享的資源,VeryCD 電驢後來只能搜索本身官網的資源),並且宣傳上更是將本身當作是正牌電驢。在好長一段時間內,搜索引擎搜「電驢」、「電騾」、「eMule」,排名首頁的一度是 VeryCD官網而非 eMule-Project 官網。VeryCD 官網經過把 eD2k 資源進行了整合,創建起了 eD2k 分享平臺,一度成爲了中國大陸瀏覽量最大的資源分享網站之一。

實際上,國內抄襲 eMule 的並不止 VeryCD 電驢一家,好比一些所謂的種子搜索神器,並且爲了省事還在功能上作劣化和閹割,並在界面當中加入了廣告。

因此,eMule 不愧算是被國產軟件抄得最慘的開源項目之一了。

從 2009 年開始,中國增強了網絡版權把控,VeryCD 被迫轉型,撤下了幾乎全部的 eD2k 共享連接。但只要有人在用 eMule 共享文件,eDonkey 和 KAD 網絡就仍會在運行。

問:爲何電驢 / 電騾涼了,而 BT 在今天大行其道

(1)電驢 / 電騾 軟件使用複雜

eD2k 對應的客戶端如 eMule 電騾是共享軟件,而 Magnet 磁鏈對應的BT軟件則是下載軟件。這讓它們在使用上,有着不少根本性的區別。

好比,開啓 eMule 後,第一件事作的並非什麼下載,而是設置共享目錄,該目錄中的全部文件,都會實時共享到 eDonkey 和 KAD 網絡中。目錄中共享了的文件都會生成 eD2k 連接,全部人經過相應的 eD2k 連接,都可以拿到你共享的文件,一旦有人下載相應文件,那麼你的 eMule 客戶端就會上傳數據。咱們平時使用 eD2k 連接下載,資源也是來自他人 eMule 所共享的文件的。固然,共享目錄中也能夠啥都不放,但不少 eMule 客戶端都擁有隊列優先級機制,上傳得少,下載速度也會被限制。

(2)eD2k 連接要比 Magnet 磁鏈更加先進

具體體如今兩方面:

A. eD2k 連接基於文件的,而 BT 連接基於文件夾。

只須要一條 Magnet 磁鏈,就能夠下載到整堆的文件,這點 eD2k 連接作不到。

因此以下圖,要下載電視劇的話,不少集就對應了不少的 eD2k 連接,很累贅:

B. eD2k 網絡不只能夠共享文件,還支持資源搜索、通信等功能,可謂是個能脫離 HTTP 存在的理想 P2P 網絡。

6、其餘

迅雷連接、快車連接、旋風連接都不是協議,只是單純對字符串作一些編碼操做,好讓別的下載軟件識別不了,而自家的軟件由於知道解碼規則因此能夠。

可是網上有能夠解碼的工具:https://tool.lu/urlconvert/

例如:把 FTP 協議下載地址轉成這三個軟件各自支持的專有連接

7、拓展 —— 關於 BT 、電驢下載損害硬盤的問題

起初 BT 和 eMule 下載對硬盤都有損的。

後來這個問題慢慢不被人提起了,由於傷害已經下降了不少能夠忽略不計了,具體緣由是:

一、SSD(固態硬盤) 逐漸取代了傳統機械硬盤

BT 和 eMule 等 P2P 下載對硬盤有損的緣由是一般會在下載同時上傳數據,形成硬盤不間斷讀寫

而機械硬盤因爲須要高速旋轉,會出現過熱狀況,對硬盤壽命形成影響。但因爲 SSD 不須要旋轉,因此事實上 BT 下載對於 SSD 的影響主要就是集中在讀寫壽命上了。

可是網上有人作過測試,對於通常用戶來講(毛細血管而非大管),平常的 BT 等 P2P 下載對 SSD 的讀寫壽命影響微乎其微。實際上,操做系統比 BT 軟件對磁盤的操做更多,更毀硬盤。因此你們能夠打消這個顧慮。

二、緩存機制的應用

現代的 BT 軟件通常都會盡可能開闢更大的內存緩存,而避免頻繁讀寫硬盤。

三、何況下載軟件也會自帶上傳的限制

如迅雷的設置裏:

 

7、拓展 —— 盡惹是非的迅雷

小時候看着迅雷的誕生讓我很驚喜,一個下載速度很快的軟件,體驗真的不錯。但後來慢慢發現,迅雷原來以前惹出過那麼可能是非。

一、吸血問題

迅雷有吸血機制,例如從 eMule 拿數據,但並不回傳數據給 eD2k 網絡,不符合共享精神下完就跑,這讓不少 eMule、BitTorrent 客戶端封殺迅雷。這就致使很多人發現迅雷下 eD2k、磁鏈下不動,諷刺的是迅雷有錯在先。

二、開源問題

例如,有 eMule 用戶認爲迅雷於2007年加入的鏈接下載 eDonkey 網絡的功能可能使用參考了 eMule 的源碼,但未按協議開源,因此可能違反了該協議。這也是 eMule 官方屏蔽迅雷的除吸血外另外一個理由。

三、盜鏈問題

因爲迅雷的 P2SPPeer to Server and to Peer,即「點對服務器和點」技術)網絡須要蒐集來源,即用戶使用迅雷打開一個 URL 下載地址時,迅雷會將該 URL 來源上傳給迅雷服務器並儲存,將目標文件數據發送至迅雷服務器進行比對檢索,並在短期內返回大量擁有該文件的目標來源。這些目標來源多是存有該文件的傳統 HTTP/FTP 服務器或普通計算機。隨後,迅雷建立大量鏈接,從這些目標來源上下載目標文件。這有可能會對一些與這次下載無關,卻擁有一樣文件的服務器或普通計算機產生沒必要要的流量,將 URL 來源儲存於迅雷服務器上也可能侵犯了原文件所在服務器或普通計算機的隱私

注:因此 P2SP 技術會讓迅雷的下載速度比 BT 還要快

 

迅雷的「盜鏈」也曾經致使有用戶暴露了不想公開的服務器。而 2006 年也所以發生了抵制迅雷事件,但最終迅雷與華軍軟件園等站點和解。

因爲迅雷的「盜鏈」問題,有用戶開發出了「反迅雷」的服務器端插件,它可以識別出迅雷軟件的請求並進行阻止。

四、閹割問題

迅雷不像標準的 BT 客戶端那樣(例如 utorrent)具有所有 BT 的功能,只有下載 BT 功能, 缺乏了作種、添加 Tracker、下載私有的 BT(又稱 PT - Private Tracker,這裏就不延伸介紹它了 )等支持。

相關文章
相關標籤/搜索