[發明專利]一種Kademlia網絡的節點標識符生成方法有效
| 申請號: | 201610049893.8 | 申請日: | 2016-01-25 |
| 公開(公告)號: | CN105472060B | 公開(公告)日: | 2018-12-11 |
| 發明(設計)人: | 吳創豪 | 申請(專利權)人: | 互聯天下科技發展(深圳)有限公司 |
| 主分類號: | H04L29/12 | 分類號: | H04L29/12;H04L12/24 |
| 代理公司: | 北京聯瑞聯豐知識產權代理事務所(普通合伙) 11411 | 代理人: | 張清彥 |
| 地址: | 518000 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 kademlia 網絡 節點 標識符 生成 方法 | ||
本發明公開了一種Kademlia網絡的節點標識符生成方法,具體包括以下步驟:獲取節點的內網IP地址和占用的內網端口以及公網IP地址和NAT類型;獲取節點的內網標志,獲取節點的防火墻標志,對公網IP地址進行SHA1運算,得到節點的原始節點標識符,查詢公網IP地址所屬的ICP信息和區域信息;獲取節點的路由信息,設定節點的級別信息,最終得到節點的節點標識符。本發明的節點之間計算出來的距離跟現實網絡環境更為接近,從而提高效率。
技術領域
本發明涉及網絡通信技術領域,特別是指一種Kademlia網絡的節點標識符生成方法。
背景技術
Kademlia技術的其中一個重要組成要素是節點標志符(Node ID)與節點間的“距離”,節點間的距離是通過兩個節點標符識的異或(XOR)計算出來。
現有的節點標志符是采用隨機算法結合安全哈希算法(Secure Hash Algorithm,簡稱SHA1算法)生成。國內的eMule采用的是128bit的節點標志符,也是采用隨機算法生成的。
傳統的節點標志符生成機制在進行“距離”計算時,其“距離”跟現實網絡環境中節點之間的“距離”沒有任何聯系,帶來的是效率問題。典型的例子是在同一局域網內的兩個節點(假設兩個節點分別定義為Na、Nb),計算出來的距離具有不確定性,有可能是非常遠的(兩個節點標識符異或后的值非常大),這樣節點Na可能永遠不知道節點Nb的存在。在實際應用中,在同一局域網內的兩個節點之間的網絡速度,遠遠要大于互聯網中兩個節點之間的網絡速度。假如節點Na需要某一資源R,資源R同時存在于節點Nb與節點Nc(Nc與Na不在同一局域網內),則Na使用Kademlia網絡搜索算法找到的資源R的存儲位置可能是Nc而不是Nb。造成這個問題的主要原因就是上面所述的節點標志符是隨機性的,所計算出來的“距離”并不能代表兩個節點在現實網絡環境中的“距離”。
以上所說的現實網絡環境中的“距離”是這樣一種概念,在同一局域網內的兩個節點之間的“距離”較近,不同局域網內的兩個節點之間的“距離”較遠;處于同一ICP(如電信)的兩個節點之間的“距離”比處于不同ICP(如一個在電信,一個在網通)的兩個節點之間的“距離”要近;在同一ICP情況下,處于同一城市的兩節點之間的“距離”比處理不同城市的兩節點之間的“距離”要近。
發明內容
本發明提出一種Kademlia網絡的節點標識符生成方法,節點之間計算出來的距離跟現實網絡環境更為接近,從而提高效率。
本發明的技術方案是這樣實現的:
一種Kademlia網絡的節點標識符生成方法,具體包括以下步驟:
(1)在Kademlia網絡設置若干節點,獲取節點的內網IP地址和占用的內網端口;
(2)獲取節點的公網IP地址和NAT類型;
(3)判斷節點是否處于內網,得出節點的內網標志;
(4)判斷節點是否處于防火墻后,得出節點的防火墻標志;
(5)對公網IP地址進行SHA1運算,得到節點的原始節點標識符,原始節點標識符占用160bit;
(6)根據公網IP地址從公網IP地址數據庫查詢該公網IP地址所屬的ICP信息和區域信息;
(7)測試節點分別到各網絡運營商的節點的網速,得到節點的路由信息;
(8)設定節點的級別信息;
(9)將級別信息、內網IP地址、內網端口、公網IP地址、NAT類型、ICP信息、內網標志、防火墻標志、區域信息和路由信息與原始節點標識符進行或運算,得到節點的節點標識符;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于互聯天下科技發展(深圳)有限公司,未經互聯天下科技發展(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610049893.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:溫度處理方法及裝置
- 下一篇:DNS遞歸服務器分層緩存方法和系統





