首頁 系統教程 Linux Torrents(種子)檔案的原理

Torrents(種子)檔案的原理

Jun 01, 2024 pm 02:22 PM
linux linux教程 紅帽 linux系統 linux指令 linux認證 紅帽linux linux視頻

Torrents(種子):你需要知道的一切事情

Torrents(種子) — 每次聽到這個詞時,在我的腦海裡想到的唯一的事情就是免費的電影、遊戲、和被破解的軟體。但是我們並不知道它們是如何運作的,在「種子」中涉及各種概念。因此,透過這篇文章我們從技術的角度來了解種子下載是什麼。

「種子」是什麼?

#「種子」是一個到因特網上文件位置的連結。它們不是一個文件,它們只是動態指向到你想去下載的原始文件。

例如:如果你點擊 Google Chrome[1],你可以從Google的伺服器上下載 Google Chrome 瀏覽器。

如果你明天、或下週、或下個月再去點擊那個鏈接,這個文件仍然可以從谷歌伺服器上去下載。

但是當我們使用「種子」下載時,它並沒有固定的伺服器。檔案是從以前使用「種子」下載的其它人的個人電腦上下載的。

Torrents 是如何運作的?

Torrents(種子)檔案的原理

##假設 ‘A’ 上有一些視頻,它希望以「種子」方式去下載。因此,他創建了一個“種子”,並將這個連結發送給 ‘B’,這個連結包含了那個影片在因特網上的準確 IP 位址的資訊。因此,當 ‘B’ 開始下載那個檔案的時候,‘B’ 連接到 ‘A’ 的電腦。在 ‘B’ 下載完成這個影片之後,‘B’ 將開始做為種子,也就是 ‘B’ 將允許其它的 ‘C’ 或 ‘D’ 從 ‘B’ 的電腦上下載它。

因此每個人先下載檔案然後會上傳,下載的人越多,下載的速度也越快。而且在任何情況下,如果想停止上傳,也沒有問題,隨時可以。這樣做並不會成為什麼問題,除非很多的人下載而上傳的人很少。

播種者與索取者

Torrents(種子)檔案的原理

##下載完成特定檔案的使用者將會立即做為上傳者,因此,可以被新使用者下載的已下載者稱為播種者。

而一些還沒有完成特定檔案的下載者,而且也正在下載的使用者稱為索取者。

區塊

Torrents(種子)檔案的原理

#所有的「種子」檔案都獨立分割成固定大小的資料包,因此,它們可以非線性順序和隨機順序下載。每個區塊都有唯一的標識,因此,一旦所有的區塊下載完成之後,它們會被拼接出原始檔案。

正是因為這種機制,如果你正在從某人處下載一個文件,假如這個時候因某些原因他停止了上傳,你可以繼續從其它的播種者處繼續下載,而不需要從頭開始重新下載。

對端

對端是指目前連結到你的索取者。一個正在上傳的索取者,不論它下載了多少塊,它就是一個對端。

例如:

一個已經下載了文件的前 50 個區塊的使用者就是一個索取者,但是,他又同時上傳這些文件,而你只有前 10 個區塊,因此,你可以從他那裡下載最多 50 個區塊。這時候他就成了你的對端。

最佳實踐

當你下載一個「種子」時,總是選擇最大的播種者。這就是最佳經驗。

這裡沒有最小的標準,但是只要確保你選擇的是最大的那一個播種者就可以了。

「種子」相關的法律

Torrents(種子)檔案的原理

##「種子」相關的法律和其它的法律並沒有什麼區別,對受版權保護的其它任何東西一樣,侵權行為會受到法律的製裁。大多數的政府都攔截「種子」網站和協議,但是「種子」下載本身並不是有害的東西。

「種子」對快速分享檔案是非常有用的,而且它們被用來共享開源社群的軟體,因為它們能節約大量的伺服器資源。但是,許多人卻因為盜版而使用它們。

結束語

Torrenting 是降低伺服器上負載的一個非常完美的技術。 「種子」下載可以使我們將下載速度提升到網路卡的極限,這是非常好的。但是,在這種非中心化的伺服器上,盜版成為必然發生的事。限制我們分享的內容,從不下載盜版的東西,這是我們的道德責任。

請在下面的評論中分享你使用「種子」的心得,分享你喜歡的、法律許可下載的「種子」網站。


以上是Torrents(種子)檔案的原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1672
14
CakePHP 教程
1428
52
Laravel 教程
1332
25
PHP教程
1277
29
C# 教程
1257
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

如何設置重要的 Git 配置全局屬性 如何設置重要的 Git 配置全局屬性 Apr 17, 2025 pm 12:21 PM

自定義開發環境的方法有很多種,但全局 Git 配置文件是最有可能用於自定義設置(例如用戶名、電子郵件、首選文本編輯器和遠程分支)的一種。以下是您需要了解的有關全局 Git 配置文件的關鍵事項。

See all articles