AICH

AICH

AICH損壞的處理,eMule 使用各種的方式來確保文件在網路共享及下載沒有錯誤. 萬一錯誤發生, 稱為損壞, eMule 有進階功能以最小的額外重新下載資料量來修正這個損壞。文件哈希值和 ICH- 智慧型損壞處理。

損壞處理的概念


AICH即損壞的處理,eMule使用各種的方式來確保文件在網路共享及下載沒有錯誤。萬一錯誤發生,稱為損壞,eMule有進階功能以最小的額外重新下載資料量來修正這個損壞。文件哈希值和ICH-智慧型損壞處理

進階智慧型損壞處理


標準的ICH是相當有效的雖然它有它的限制只在整個9.28MB能被驗證並且沒有完美的區塊。假如超過一個以上的位置是損壞或是惡意客戶端一再的散布損壞的資料或甚至是假的部分哈希值,ICH再也沒有能力去處理。在這裡AICH將會考慮完全的完整資料用一個最小重新下載量或者由建立非常完美的哈希值來管理。根哈希值,區塊哈希值&AICH片段哈希值
這次我們的起點是在一個文件的9.28MB部分。每個部分是被分割成180KB的區塊,在每個部分將會產生53個區塊並且每個區塊使用SHA1切細運算方式計算出哈希值。那些值稱為區塊哈希值並且根據一個低標準的一個完整AICH片段哈希值.
一個完整的哈希值樹狀圖如何建立在一個完整4部分文件的區塊。每個部分包含53個區塊產生出212個區塊哈希值其中建立在一個切細樹狀的第七層直到根哈希值到達時。這整個樹狀稱為AICH片段哈希值。綠色和黃色點顯示小型的區塊哈希值到根哈希值之數學相關性。這個表示假如我們有一個可信任的根哈希值整個樹狀能被逆向的來驗證它.eMule能建立包含根哈希值的鏈接,例如ed2k://|file|name|12043984|6744FC42EDA527B27F0B2F2538728B3E|h=A2NWOTYURUU3P3GCUB6KCNW3FTYYELQB|/
其中h=是根哈希值。由提供一個可信賴的根哈希值併發布它應該能有明顯的改善文件的損壞抵抗性。閱讀根哈希值的信任從一個損壞還原無論何時eMule在一個部分偵測到一個損壞它需要用一個完整AICH哈希值資料從隨便一個客戶端中取得一個還原封包。這個還原封包包含在切細樹狀整體損壞部分的全部53個區塊哈希值和一個驗證哈希值的號碼。上面圖片顯示一個4部分文件的一個還原封包。驗證哈希值的號碼是由文件的分割部分數量來決定(2^x>='部分數量',用x=驗證哈希值號碼).
接收還原封包之後eMule檢查驗證哈希值逆向確認它的根哈希值。假如它們相符,eMule從還原封包的區塊哈希值逆向檢查損壞部分的全部53個區塊.AICH能還原全部區塊用它們的區塊哈希值逆向相符來讓只有損壞的區塊重新下載.

損壞處理方式


最佳的方式是從有根哈希值的鏈接來下載。假定這個鏈接的來源是可信任的根哈希值而一但受信任將會把這個文件的根哈希值儲存在磁碟.
假如不是由鏈接提供的根哈希值而是由文件的來源送出的eMule也會去信任這根哈希值。它只會在一個根哈希值最少10個不同的來源送出相同的值和最少全部92%的來源同意這個值才會去相信它是真的。因為這個根哈希值不是那麼可靠它只有效於目前工作階段並且不能儲存也不能用根哈希值建鏈接.
一旦eMule建立整個AICH片段哈希值,例如:文件已經完成,它將開始傳播根哈希值給其他的客戶端.

損壞處理的注意


·新釋放或罕見的文件將也許沒有足夠的完整來源來產生一個可信任的根哈希值。建議釋放文件時包含這個哈希值.
·在一般情況下假如在那裡沒有根哈希值或甚至是一個偽造的eMule將能夠成功下載並且完成這個文件。而AICH特性不能使用在這種情況.
·如同AICH片段哈希值能非常大他們不儲存在內存但存在known2.met並且只能做讀取需求.
·AICH將只能在eMule客戶端v.44a及更新版本有效但保留舊客戶端的向下相容性.

相關詞條


BSMAPBROWSERBISYNC
BSIDBRODERNODEBIST
BSC6800BPCBIM