欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA].torrent文件該如何理解?BT種子的技術原理是什么?

admin
2019年3月27日 21:43 本文熱度 3257

看到很多咨詢BT種子原理的問題,在這里整理些資料,希望對需要的朋友有幫助。

可以分兩個層面來分析一下:

1、torrent文件的原理:如果這個問題是指torrent文件本身,那么,當你對一個文件(或者文件夾)制作成.torrent文件,實際上生成的.torrent文件里面主要包括了這些信息:

  A)這個文件(文件夾)中數據的SHA1值,比如一個1G的文件,如果按1M每塊進行分塊,則會被分為了1000塊,torrent中就會有這1000個數據塊的指紋值(SHA1的hash值),這個占據了torrent文件的絕大部分空間。這些值的目的是為了下載的過程中進行數據校驗,確保數據收到的和當時源頭制作torrent時的源文件100%一致,防止惡意數據攻擊。

  B)一般制作torrent文件時,還會要指定一個或者多個Tracker的地址,比如http://www.a.com:8080/announce這種地址.torrent里面一般也會存儲了這個信息,這個其實也尤為重要。相當于記錄了一個問詢服務器的地址,這個問詢服務器的作用,后面我再解釋。

  C)文件或者文件夾內每個文件的名字,方便下載文件時,磁盤上直接命名好跟原始數據一樣的目錄結構、文件名。

  D)其它一些輔助和可擴展的信息,比如可以配置一個P2SP的http地址輔助下載,比如制作軟件的名字、備注……。 E)上面信息生成后,torrent會把A)里面的這些信息,以及torrent里面的文件名等關鍵信息,再進行一次Hash,生成一個新的SHA1值,作為torrent的HASH值,也就是我們經常看到的下載軟件里面對這個種子命名的一個唯一的hash值,也有的在magnet這種磁力鏈接中可以看到這個值,這就是torrent的唯一標記。

  以上就是.torrent文件的內容,可以用記事本打開,但可能看到亂碼。這個文件的編碼遵循了bencode編碼規則。但實際內容就主要是上面這些。所以,torrent可以理解為對原始數據的一些記錄。

  2、如果這個的問題是指,BT是如何通過.torrent開始進行下載的,那么這個的原理大概是這樣的:

  A)下載軟件拿到.torrent文件后,先進行打開,讀取里面的這些信息,載入內存。

  B)torrent中有Tracker的地址,下載軟件拿到后,會去跟Tracker進行通訊,告訴Tracker:我要下載這個文件(通過hash值作為標記); Tracker收到請求后,會記錄這個客戶端的公網IP(記錄這廝在下載這個文件),同時呢,會返回給他:我這邊還知道哪些人也在下載這個文件,一般是會返回200個IP(如果不夠,當然就有多少返回多少)。當然了,如果下載過程中,協議要求你必須5分鐘跟tracker通訊一次,如果太久不通訊,tracker就認為你下線了,會把你從節點列表中刪除的。

  C)客戶端拿到了一堆IP后,就開始挨個去嘗試連接,連上后就開始互相通訊了。比如告訴對方,我有哪些分塊,問問對方有哪些,然后把我有的給對方;讓對方把他有的某一塊給我,這樣就你來我往開始了下載。當然,如果很悲催的情況下,此時沒別人在線,那就只能沒速度了,就只能不停的找啊找啊找朋友,直到找到一個好朋友。

  D)當然,如果torrent中有一個P2SP的Http地址輔助下載,那么也可以同時從這個Http服務器要數據,也會把這個服務器當成一個普通的節點,每次要1塊數據,通過Http協議里面的Range標記,指定只要一部分數據過來輔助下載。

  整個BT的基本原理和過程就是這樣,當然,這只是BT的基本原理,要做好一個完善的BT還是有很多路要走的。比如:

  1)如果Tracker服務器出問題了,連不上這個問詢的服務器,就拿不到周圍的鄰居節點,怎么辦?---NB的BT發明者提出了DHT的概念,就算Tracker連不上了,也可以通過分布式哈希表DHT技術,通過DHT網絡慢慢的尋找志同道合的鄰居節點,只是沒有Tracker那么直接那么快速,但慢一些總還是有機會找到鄰居的。

  2)網絡是復雜的,特別是各個聰明的運營商,為了不讓自己的用戶消耗太多帶寬,很多地區的運營商對P2P是有封鎖的,比如某城寬帶等。他們的做法早期是分析協議里面的握手消息,BT的握手消息是明文的Bittorrent Protocol,粗暴的運營商看到剛建立完連接就發這個明文會立即斷開連接;文明點的運營商看到后不斷開連接,但會限速到20K讓你慢慢下載。當然,BT后來也發明了加密協議,運營商也升級了封鎖的設備,也開始模擬自己是一個客戶端,嘗試分析加密后的協議,精彩紛呈。所以,要做一個穩定的靠譜的P2P系統還是有不少坑要趟的。

  3)還有很多其他的,比如BT對磁盤的調度、緩存的機制、文件分塊的調度算法、服務器對幾百萬幾千萬用戶量時的性能提升等等。

  另外,如果您需要一個完整的BT系統或者P2P分發數據下載系統,也可以看看點量BT ,已經歷經10幾年的改進和上百家用戶的使用,包括搜狐暢游、上海征途等眾多知名的大公司。目前應該是最穩定和完善的P2P商業內核,很方便內嵌到自己的軟件系統中,不再需要從頭制造輪子。


該文章在 2019/3/27 21:43:24 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved