日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux BT下载(1)-基础入门

發(fā)布時(shí)間:2024/3/26 linux 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux BT下载(1)-基础入门 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是BT軟件

很多人用過比特彗星、迅雷下載,PPLive等軟件它們都采用了BT協(xié)議,故可以稱為BT軟件。

什么是BT協(xié)議

2003年,軟件工程師Bram Cohen發(fā)明了BitTorrent協(xié)議,即BT協(xié)議。BT是一種互聯(lián)網(wǎng)上新興的P2P傳輸協(xié)議,全名叫"BitTorrent",中文全稱:"比特流" 。BT下載通過一個(gè)P2P下載軟件(點(diǎn)對點(diǎn)下載軟件)來實(shí)現(xiàn),克服了傳統(tǒng)下載方式的局限性,具有下載的人越多,文件下載速度就越快的特點(diǎn)。
此圖描述的普通下載方式
此圖描述的P2P下載


BitTorrent協(xié)議

概念

BT是一種文件分發(fā)協(xié)議,屬于P2P協(xié)議。它通過URL識別文件內(nèi)容并和網(wǎng)路結(jié)合。其優(yōu)勢是,同時(shí)在一個(gè)文件的下載者在下載的同時(shí)也在不斷的互相上傳數(shù)據(jù),使文件源可以在很有限的負(fù)載增加的情況下支持大量下載者同時(shí)下載。其特定是下載的人越多下載的速度越快,其原因就是每個(gè)下載者將自己已下載的數(shù)據(jù)提供給其他下載者下載,它充分利用用戶的上載帶寬。

工作原理

BT由如下幾個(gè)部分組成:.torrent文件、種子提供站點(diǎn)、目錄服務(wù)器和內(nèi)容分發(fā)者/下載者。更為確切的說有:一個(gè)Web服務(wù)器,一個(gè)種子文件,一個(gè)Tracker服務(wù)器,一個(gè)原始文件提供者,一個(gè)網(wǎng)路瀏覽器,一個(gè)或多個(gè)下載者。 Web服務(wù)器保存種子文件以供下載者下載,下載者可以通過瀏覽器從此處下載種子文件。 .torrent文件(種子)是一種文本文件,包含了tracker信息和文件信息兩部分。種子文件一般非常小,一般大小為1GB的共享文件,其種子文件不足100KB。 Tracker服務(wù)器保存當(dāng)前下載某共享文件的所有下載者的IP地址和端口。 提供者提供完整的共享文件以供其他下載者下載。我們把某個(gè)下載者本身稱為客戶端,把其他下載者稱為peer。 BT的主要原理是把提供下載的文件虛擬分成大小相等的塊,塊大小必須為2Kbyte的整數(shù)次方,并把每個(gè)塊的索引信息和Hash驗(yàn)證碼寫入種子文件中,so,.torrent文件就是被下載文件的“索引”。種子提供站點(diǎn)也是.torrent文件提供站點(diǎn),為下載者提供下載.torrent文件的下載服務(wù)。 我們稱BT下載軟件(即客戶端)為下載者。BT客戶端下載一個(gè)共享文件的過程是:客戶端首先解析種子文件,獲取待下載的共享文件的一些信息,其中包括Tracker服務(wù)器的地址。然后客戶端連接Tracker獲取當(dāng)前下載該文件的所有下載者的IP和端口。之后客戶端根據(jù)IP和端口連接其他下載者,從它們那里下載文件,同時(shí)把自己下載的部分給其他下載者下載。 共享文件的虛擬分成的塊一般大小為256KB。對于共享文件文件第1字節(jié)到256字節(jié)為第一個(gè)piece,之后是第2個(gè)piece。BT協(xié)議規(guī)定使用Shal算法對每個(gè)piece生成20字節(jié)的hash值,作為每個(gè)piece的指針。每當(dāng)客戶端下載完一個(gè)piece時(shí),即對該piece使用Shal算法計(jì)算其hash值,并與種子文件保存的該piece的hash值進(jìn)行比較。在實(shí)際的上傳和下載中,每個(gè)piece又被劃分為大小相同的slice,每個(gè)slice的大小固定為16KB。peer之間傳輸以slice為單位。
下載地址:https://github.com/CLQM/Linux_BT

總結(jié)

以上是生活随笔為你收集整理的Linux BT下载(1)-基础入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。