[發明專利]一種P2P下載文件完整性校驗方法有效
| 申請號: | 200910091937.3 | 申請日: | 2009-09-01 |
| 公開(公告)號: | CN101651709A | 公開(公告)日: | 2010-02-17 |
| 發明(設計)人: | 王勁林;賀鵬程;鄧浩江;孫鵬 | 申請(專利權)人: | 中國科學院聲學研究所 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06;G06F11/00 |
| 代理公司: | 北京法思騰知識產權代理有限公司 | 代理人: | 楊小蓉 |
| 地址: | 100190北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 p2p 下載 文件 完整性 校驗 方法 | ||
技術領域
本發明涉及網絡通信P2P數據分發領域,特別涉及一種P2P下載文件完整性校 驗方法。
背景技術
P2P下載是目前互聯網文件下載的主要方式,不同于傳統的C/S模式,P2P下載 的數據來自多個不同的節點,而且沒有辦法確保所有的節點都可信,因此必須對下 載的文件進行完整性校驗。目前主流的P2P下載協議,如eMule和BitTorrent,大多 通過將一個文件分成不同的文件塊,每下載完成一個完整的文件塊后,對其采用MD4 或者SHA1哈希算法進行完整性校驗,以便于快速定位出現錯誤的文件塊,從而保 證整個文件的完整性。
對于特定平臺,TCP異步接收緩沖區的大小和哈希計算的能力通常是固定的。 同時,對于大文件的下載,為了減少傳輸原始文件塊哈希值帶來的通信開銷,文件 塊也不可能過小。例如:eMule的文件塊大小固定為9.28MB;BitTorrent的文件塊大 小根據文件大小確定,一個4GB的大文件,其文件塊大小通常為2MB或者4MB。 特別的,對于嵌入式平臺上的P2P下載,由于其計算能力低下,如果要使哈希計算 的時間足夠短,必須使文件塊的大小足夠小,如16KB,直接減小文件塊大小顯然不 是可行辦法。因此,理論上,現有的文件完整性校驗帶來的時間延遲主要由兩部分 構成:
1)哈希計算時間。由于MD4和SHA1這類哈希算法的時間復雜度通常為O(n), 其中n是文件塊字節數,文件塊越大,時間開銷越大。例如,100Mbps的網絡上傳 輸4MB的數據塊,理論最短傳輸時間大約是320毫秒;一臺主頻為2.4GHz的普通 計算機計算一個大小為4M的文件的SHA1哈希值,其總時間開銷大約是75毫秒; 而在一臺主頻為200MHz的嵌入式設備上,時間開銷則達到700毫秒。
2)傳輸時間開銷。文件完整性校驗大多是分塊校驗,在每一個分塊校驗過程中, 應用程序將會暫停接收數據,如果暫停時間過長,可能使發送節點將接收節點從發 送服務隊列中移除甚至斷開與節點的傳輸連接。最終使得節點必須再等待一段時間 才能夠獲取發送節點的服務。因此,這部分的時間開銷如果過大,將進一步降低文 件傳輸的性能。
另外,也可以采用開啟額外線程來進行哈希計算,使得哈希計算與數據接收并 行進行。但是,一方面開啟新線程來進行文件完整性校驗會增加系統軟件的復雜度; 另一方面由于P2P下載過程中,節點需要同時從多個伙伴節點下載數據,將導致開 啟過多線程,反而可能會增加系統開銷,降低效率。一些文獻結合其提出的校驗框 架和協議,提出了基于塊的概率校驗算法,其思想是選擇性的對部分文件塊進行校 驗以減少整個文件完整性校驗過程中的計算開銷,但并不能完全避免漏檢,因此, 并不適合于可靠性要求很高的文件下載。
發明內容
本發明的目的是,針對現有的文件完整性校驗方法的不足,提出一種P2P下載 文件完整性校驗方法,在P2P下載過程中,利用TCP異步接收緩沖區隱藏P2P下載 過程中的文件完整性校驗延遲,提高P2P下載的效率,特別是提高哈希計算能力低 下的嵌入式P2P下載的效率。本發明可以應用于BitTorrent協議以及其它類似的P2P 下載協議。
由于TCP基于滑動窗口的流量控值機制,運行于操作系統內核的TCP協議棧, 對于每一個TCP連接通常都有一個TCP異步接收緩沖區;所謂的TCP異步接收緩 沖區是指,當上層應用在處理其它事務而沒有從TCP協議棧讀取網絡數據時,TCP 協議棧依然保持正常的數據接收,并將數據緩存在操作系統內核的一塊內存區。TCP 異步接收緩沖區的大小取決于具體的協議棧實現,通常為65535字節左右。因此, 如果應用程序暫停接收數據的時間足夠短,使得這段時間內TCP異步接收緩沖區沒 有填滿,那么底層的數據接收實際是不受影響的。換句話說,如果每一次哈希計算 的時間足夠短或者TCP異步接收緩沖區足夠大,前面提到的文件完整性校驗延遲是 可以完全隱藏的。
為了實現上述目的,本發明提供一種P2P下載文件完整性校驗方法,該方法根 據下載客戶端的特征參數將文件塊分為子數據塊,當接收到一個子數據塊時,利用 哈希算法,計算該子塊的哈希摘要,并更新文件塊的哈希向量;當下載并計算完最 后一個子塊的哈希值時,隨即生成文件塊的哈希值,在下載過程中對文件完整性校 驗延遲進行隱藏;
所述的P2P下載文件完整性校驗方法包括以下步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院聲學研究所,未經中國科學院聲學研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910091937.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種大機組推力盤與聯軸器同時液壓拆裝結構
- 下一篇:便攜式無繩水泵





