作者:@老鐵的最新號外
No.247 - 常說的BT下載、磁力鏈接、ed2k都是什么?
內(nèi)容方向:Win11更新推送動態(tài)、App軟件工具應(yīng)用、Excel實操技巧教程 。
正 文
我們經(jīng)常在網(wǎng)絡(luò)上下載資源,點一個鏈接,然后下載一個文件。不知道大家有沒有觀察過那個下載鏈接地址,如下:
△ 幾種下載鏈接形式
這里第一條鏈接代表的是最常見的http/https下載方式,第二條鏈接代表的是ftp/sftp下載,第三條是P2P下載中的磁力下載方式。
網(wǎng)絡(luò)資源下載的幾種方式:http/https、ftp/sftp、BT、磁力下載、ed2k下載。http/https和 ftp/sftp屬于"中心化下載",后面三種下載方式屬于"去中心化下載"。
中心化下載,即:文件資源均存儲在中心服務(wù)器上,所有的客戶端的都需要去中心服務(wù)器上下載,這種下載方式就是"中心化下載"方式。中心化下載是Client-Server模式,簡稱:CS模式
去中心化下載:與中心化下載不同,此種下載方式?jīng)]有提供文件資源的中心服務(wù)器,網(wǎng)絡(luò)中的所有參與的節(jié)點既可以作為客戶端進行文件的下載,也可以作為服務(wù)器進行文件的上傳。去中心化下載是Peer to Peer模式,簡稱P2P。沒錯,這里的P2P就是下載里常說的P2P下載,P2P是一種下載模式,并非具體的下載方式。
下面具體說一下每種下載方式。
▍①HTTP下載
http下載是最常見的一種下載方式。因為文件資源放在WEB服務(wù)器上,所以所有的客戶端都需要向服務(wù)器發(fā)送請求。http下載方式就是簡單的:客戶端 - 服務(wù)器。可以想象,如果請求數(shù)量過多,而服務(wù)器的上行帶寬是有限的,就會造成下載速度變慢。http下載的鏈接地址樣式如上圖的第一個地址。
HTTP與下面的FTP下載方式不同:http是單向系統(tǒng),只是將數(shù)據(jù)從WEB服務(wù)器傳輸?shù)娇蛻舳恕V唤?shù)據(jù)連接。適合傳輸較小的文件。
△ HTTP下載方式
▍②FTP下載
FTP:File Transfer Protocol,即:文件傳輸協(xié)議。FTP下載和HTTP下載一樣,也是中心化下載,基于的是客戶端-服務(wù)器(C/S)模型設(shè)計的。只是與HTTP下載不同,使用FTP協(xié)議進行文件傳輸時,會建立兩個連接(數(shù)據(jù)連接+控制連接),F(xiàn)TP適合傳輸較大的文件,F(xiàn)TP在進行文件傳輸時會進行身份驗證,這一點HTTP是沒有的。
FTP下載在鏈接地址中會以:ftp開頭,而HTTP下載是以http或者http開頭。
△ ftp和http在鏈接地址上的不同
△ ftp是一個雙向系統(tǒng)
△ 電影網(wǎng)站中的ftp下載鏈接
▍③BT下載
BT:Bit Torrent,中文名:比特流,是P2P文件傳輸協(xié)議。對于傳統(tǒng)下載方式(HTTP,F(xiàn)TP)來說,下載人數(shù)越多,下載的速度就會越慢,前面說了,因為服務(wù)器的上行帶寬不可能是無限的。那要如何去解決下載速度的瓶頸?采用BT下載的方式,就可以解決。
BT下載是P2P下載模式其中的一種,這里的P2P(Peer to Peer)并非金融上的P2P,而是指數(shù)據(jù)傳輸不再通過服務(wù)器,網(wǎng)絡(luò)用戶可以直接進行數(shù)據(jù)傳輸?shù)囊环N對等網(wǎng)絡(luò)。P2P模式中無中心服務(wù)器,網(wǎng)絡(luò)中的每個節(jié)點即可以作為客戶端進行下載,也可以作為節(jié)點服務(wù)器提供給他人下載。這種下載方式的特點是文件下載的人數(shù)越多,下載的速度就越快。
△ HTTP/FTP下 載(左) - BT下載(右 )
BT下載過程解析:
下載者會先得到一個.torrent的種子文件。"種子文件"本質(zhì)上是一個文本文件:由Tracker信息和文件信息兩部分組成。
其中Tracker(譯:追蹤者)信息就是在整個BT下載過程中非常重要的Tracker服務(wù)器的信息。包含Tracker服務(wù)器的地址和服務(wù)器相關(guān)的設(shè)置。而文件信息對應(yīng)的是我們需要下載的文件的相關(guān)信息,包含文件塊的大小,塊索引,Hash驗證碼等。
下載者使用BT客戶端軟件進行下載,BT客戶端會先對torrent文件進行解析,得到Tracker地址,根據(jù)地址連接到Tracker服務(wù)器。Tracker服務(wù)器會返回信息告知下載者,該文件其他下載者(此時其他下載者作為服務(wù)器)的IP地址。下載者根據(jù)ip地址連接"其他下載者",下載者之間相互交換對方?jīng)]有的文件塊。在BT下載過程中,每個文件塊的下載都會有驗證和對比,確保數(shù)據(jù)下載的準確性。
在整個下載過程中,沒有中心化的WEB服務(wù)器介入,全程點對點,用戶對用戶,只有一個Tracker服務(wù)器提供其他用戶的ip地址。傳統(tǒng)下載方式中服務(wù)器上行帶寬的壓力,在BT下載中不存在。參與下載的用戶自行解決。
▍④磁力下載
BT下載有其優(yōu)勢,也有缺點。文件傳輸不經(jīng)過中心化的服務(wù)器,無法進行管控,文件的安全性沒有保障,盜版和非法的文件橫行。BT下載遭到打壓。而對于BT下載來說只需要將Tracker服務(wù)器關(guān)掉就可以阻斷下載。
雖然BT下載是去中心化下載,但Tracker服務(wù)器還是一個中心化的環(huán)節(jié)。有沒有一種方法,可以延續(xù)P2P下載的優(yōu)勢,還能不需要Tracker服務(wù)器這類中心化的組件,答案是:有,DHT網(wǎng)絡(luò)技術(shù)。
解釋DHT技術(shù):
解析磁力鏈接:
△ 磁力鏈接解析
磁力鏈接的工作流程:
當我們點擊某個磁力鏈接地址,然后在某個下載軟件sw中打開。sw會實例化一個DHT節(jié)點并加入,將磁力鏈接中的40個字符提取并處理得到20字節(jié)的infohash,向距離該infohash最近的幾個節(jié)點發(fā)送get_peers請求,得到節(jié)點回復(fù)的peers列表,sw軟件會實例化一個BT客戶端并向這些peers請求下載種子文件。得到種子文件,其中如果包含tracker,就像BT下載那樣下載數(shù)據(jù)。如果其中不包含Tracker,那其中會有真正資源的node列表,則會向這些node節(jié)點發(fā)送下載請求,下載資源。
舉例:
你問A要C的微信,A不知道,但是A認識B,你問B要,B知道C的微信,這樣你就順利拿到了C的微信。
通過以上的內(nèi)容不難發(fā)現(xiàn),磁力下載方式,并不是取代BT種子文件的下載方式。只是在沒有Tracker服務(wù)器的情況下,通過DHT網(wǎng)絡(luò)找到種子文件進行下載,DHT的作用是將所有節(jié)點變成Tracker服務(wù)器。
▍⑤ed2k下載
ed2k:eDonkey2000.NETwork,一種分布式文件共享網(wǎng)絡(luò),文件基于P2P原理存放在用戶的電腦上,客戶端程序連接到這個網(wǎng)絡(luò)來共享文件。共享文件夾中的的文件會生成ed2k鏈接,其他人通過該鏈接就可以拿到共享文件夾中的文件。
ed2k常見的客戶端:eDonkey2000,eMule,VeryCD等。
edek的客戶端說白了,其實是一個共享軟件。而BT和磁力下載對應(yīng)的是下載軟件。
ed2k鏈接:
ed2k://|file|<文件名>|<文件大小>|<文件Hash>|/
例如:ed2k://|file|eMule0.49c.zip|2868871|0F88EEFA9D8AD3F43DABAC9982D2450C|/
▍Tips:
① windows11 & 10正式版、預(yù)覽版-純凈原版iso鏡像---> 公眾號回復(fù):windc6 或者 windc68
② Windows軟件、工具、瀏覽器插件、圖片壁紙---> 公眾號回復(fù):wincmd68 。