S/Kademlia2007 ??????
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了S/Kademlia2007 ??????相关的知识,希望对你有一定的参考价值。
??????????????? ?????? ????????? and ?????? ?????? UNC ?????? blank
S/Kademlia???????????????Key?????????????????????
??????
???????????????????????????P2P??????????????????????????? ?????????????????????????????????????????????Key????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????Kademlia?????????Key??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ID?????????????????????????????????????????? ??????????????????????????????????????????????????? ????????????????????????????????????Kademlia????????????????????????????????????????????????????????????????????????????????????????????????????????????
1??????
??????????????????Chord [18]???Pastry [14]??????????????????P2P?????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????Internet???????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????P2P??????????????????????????????????????????????????????
???????????????P2P????????????????????????????????????????????? ????????????????????????????????????P2P?????????????????????[3,16,17]??? ????????????????????????????????????????????????????????????????????????????????????????????????P2P?????????????????????????????????
??????????????????????????????????????????????????????????????????????????????BitTorrent???OverNet???eMule????????????Kademlia [11]?????????????????????????????????[5]???????????? ?????????????????????????????????Kademlia???????????????????????????????????????????????????
??????????????????????????????????????????2?????????????????????????????????????????????P2P????????????????????????????????????Kademlia????????? ??????3???????????????????????????Kademlia?????????????????? ?????????Kademlia?????????????????????????????????4?????????????????????5?????????????????????????????????????????????????????? ????????????6???????????????????????????7????????????
2??????
?????????????????????????????????????????????P2P???????????????????????????????????????Kademlia??????????????????????????????????????????P2P????????????????????????????????????Key???????????????KBR???[6]?????????????????????????????????????????????Key????????????????????????????????????????????????n??????????????? ???n = 128???160??????????????????????????????????????????????????????id????????????????????????nodeId????????????????????????????????????nodeIds?????????IP????????????????????????????????????????????????????????????????????????????????????Bruijn????????????????????????????????????????????????????????????????????????ID??????????????????nodeId???????????????????????????????????????????????????????????????????????????????????????Key?????????ID??????????????????KBR??????????????????????????????????????????key?????????KBR?????????????????????????????????????????????????????????????????????
?????????Chord???Pastry???Kademlia??????????????????P2P????????????????????????KBR????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????Kademlia [11]???????????????????????????????????????????????????????????????????????????????????????
???1. Kademlia????????????????????????nodeId?????????0011?????????
2.1. Kademlia
Kademlia [11]??????????????????????????????????????????Chord [18]???????????????????????????????????????????????????????????????????????????????????????XOR????????????????????????????????? ??????XOR????????????????????????Kademlia?????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????Chord??????????????????????????????XOR??????????????????????????????????????????x?????????????????????y???????????????d???x???y?????? ?????????????????????Key???????????????????????????????????????????????????????????????????????????????????????????????????
???Kademlia???????????????????????????????????????160???nodeId????????????????????????160???k-buckets????????????????????? ??????k-buckets????????????k?????????????????????????????? ??????k????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????????????? ??????nodeId?????????0011?????????????????????????????????1???????????????????????????????????????????????????????????????ID?????????bucket????????? ?????????U?????????????????????C????????????U??????C???nodeId????????????C???????????????bucket?????? ????????????bucket????????????k???????????????bucket???????????????U?????????nodeId??????buckets?????????????????????buckets??? ????????????????????????????????????
????????????ID??????????????????????????????????????? ???????????????????????????bucket???????????????????????????????????????????????????k????????? ???2???????????????????????????????????????nodeId?????????00?????????U???????????????????????????????????????????????????????????????01?????????????????????bucket???k???????????? ?????????????????? ??????????????????????????????U???????????????????????????010??????????????????????????????????????????????????? ???????????????????????????Kademlia?????????????????????????????????????????????U???nodeId????????????????????????bucket???????????????U???nodeIdbucket????????????????????????????????? bucket??????????????????????????????????????????????????????????????????4.2????????????????????????????????????
???2.?????????????????????Kademlia????????????????????????
3. ??????Kademlia
????????????????????????????????????Kademlia?????????Key????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Kademlia???????????????????????????????????????
3.1. ??????????????????
????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????IP??????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????
3.2.??????????????????
???????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????ID??????????????????????????????????????????????????????????????????????????????????????? ??????Kademlia??????K-BUCKETS????????????????????????????????????????????????????????????bucket????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????nodeIds?????????????????? ?????????????????????????????????nodeIds???????????????????????????????????????????????????????????????????????????Douceur [8]???????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????CPU?????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????Kademlia?????????????????????????????????????????????????????????????????????Kademlia?????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????Key???????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????Key???????????????????????????????????? ??????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? ???????????????m???????????????????????????d?????????????????????????????????hi??????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
3.3. ????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????
??????????????????????????? ??????Key???????????????????????????????????????????????????????????????????????????????????????DHT?????? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????Key??????????????????????????????Key?????????????????????
4. ??????
??????????????????????????????????????????????????????Kademlia????????? ??????4.1????????????????????????????????????????????????nodeIds???????????? ????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????
4.1. ?????????nodeId??????
???3.2??????????????????????????????????????????nodeIds???Sybil?????????????????????????????????nodeId???Eclipse?????????????????????nodeId?????????????????????????????????????????????????????????????????????nodeId????????????????????????????????????????????????????????????IP???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????IP????????????nodeId???????????????????????????????????????????????????????????????????????????IP?????????NAT?????????????????????????????????????????????nodeIds?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????nodeId??????????????????????????????????????????????????????????????????????????????????????????????????????????????????
? ????????????????????????????????????????????? ????????????IP?????????????????????????????? ??????????????????????????????????????? ??????????????????IP???????????????????????????????????? ????????????????????????????????????????????????????????????????????? ?????????????????????FIND NODE???PING????????????????????????????????????????????????????????????
? ??????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????RPC????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????SybIL?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???[3]??????????????????????????????nodeId??????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????nodeId????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????3????????????????????????????????????NodeId????????????????????????????????????????????????????????????nodeIds???????????????H?????????????????????????????????????????????????????? ?????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????nodeId???????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????
???3. ??????nodeId??????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????O(1) ???????????????????????????????????????O(2c1 + 2c2)????????????
4.2. ??????????????????
??????????????????????????????DHT????????????????????????????????? ???Kademlia??????????????????????????????????????????k??????????????????????????????????????????k???bucket???????????? ????????????????????????????????????bucket??????k???????????????????????????????????????????????????????????????s??? ??????????????????????????????????????????????????????????????????????????????????????????DHT??????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????DHT??????????????? ??????Kademlia??????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????? ?? s????????????????????????????????????????????????????????????????????????????????????????????????????????????ID??? ?????????????????????????????????????????????????????????????????Gai???Viennot???????????????Broose DHT???????????????????????????????????????[10]???????????????????????????????????????????????? ???????????????????????????????????????Chernoff???????????????????????????????????????
???1.?????????????????????????????????
???????????????XOR??????????????????????????????????????????????????????x????????????????????????y????????? ??????????????????????????????ID??????????????????ID????????????ID???????????????n?????????ID????????????????????? ???N?????????????????????????????????????????????????????????XOR????????????????????????.??? ??????????????????
???????????????nodeId x???y?????????x???y????????????????????????N(x, y)???E[N(x, y)] = ????????????????????x???y?????????????????????????????? ??????nodeIds???????????????????????????x???y???????????????????????????????????????????????????????? ??????????????????(cs)???x???y????????????s????????????????????????????????????
?????????s> 0????????????????????????????????????????????????????????????
????????????Chernoff??????????????????????????? ?????????????????????????????????????????????1??????????????????N = ?????????????????????????????????c???s??????????????????
?????????????????????[10]??? ????????????????????????????? ??? (2??c) ??? 5???????????????????????????????????????w.h.p.
????????????S/Kademlia????????????????????????????????????d????????????d < , 0???i???n????????????k???bucket?????????????????????????? ?? s??? ????????????????????????????????????2.1???????????????????????????????????????????????? ??????Kademlia???????????????????????????????????????????????????????????????????????????????????????????????????????????????Kademlia???k-bucket?????????????????????????????????????????????????????????
4.3. ???????????????
Kademlia????????????????????????????????????????????????XOR?????????????????????????????????????????????????????????Kademlia??????????????????RPCs??????????????????????????????????????????S/Kademlia?????????????????????????????????????????????????????????????????????????????????RPC???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????nodeId???????????????4.1????????????????????????????????????????????????RPC??????????????????????????????????????????????????????????????????????????????Kademlia?????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????? ??????nodeId????????????????????????????????????????????????? > 32??????????????????????????????????????????????????????bucket?????? ?????????????????????????????????????????????????????????????????????nodeId???????????????????????????bucket???nodeId????????????????????????nodeId???bucket??????Kademlia?????????????????? ?????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????ping RPC???????????????????????? ?????????????????????????????????????????????????????????bucket??????????????????
4.4. ????????????????????????????????????
???3.2?????????????????????????????????????????????????????????????????????????????????????????????Key??????????????? ?????????Kademlia???????????????????????????FIND NODE RPC????????????????????????????????Key?????????k?????????????????????????????????????????????????????2.????????????????????????????????????RPC?????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????D??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????K???????????????????????????Key?????????????????????D??????????????????????????????????????????????????????????????????KMDELLA???????????????D????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????4.2????????????????????????????????????????????????????????????????????????????????????D???????????????????????????????????????Key?????????S????????????????????????k?????????1??????????????????????????????????????????
???4.????????????bucket??????k = 16??????????????????????????????
5. ??????
????????????????????????OverSim [2]?????????S/Kademlia??????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????
5.1. ????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????FIND NODE RPC???????????????????????????????????????????????????????????????nodeId?????????????????? ???????????????????????????????????????nodeIds??????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???5.???????????????bucket??????k = 2d??????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????4???????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
5.2. ????????????
?????????????????????????????????????????????????????????Kademlia???????????????????????????N??????????????????????????? ????????????????????????N???????????????????????????????????????????????? ????????????????????????5???????????????????????????90??????????????????????????? ?????????????????????????????????????????????????????= 1???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
5.3. ??????
????????????d ??? {1, 2, 4, 8} ??????????????????????????????????????????N = 10000????????????s = 16??????????????????????????? ??????4???????????????????????????????????????????????????k = 16????????????????????????????????????????????????d = 1????????????????????????Kademlia??????????????? ??????????????????????????????????????????????????????????????????d????????????????????????????????????????????? ???????????????????????????????????????d??????????????? ???????????????????????????k = 16??????k-buckets?????????????????????????????????????????????????????????
?????????????????????????????????k = 2 ?? d???????????????????????????????????????????????????????????????????????????????????????????????????????????? ???5???????????????????????????4??????????????????k??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????d = 4..8???k = 8..16???S/Kademlia?????????????????????????????? ?????????d???k?????????????????????????????????????????? ?????????k??????????????????????????????bucket??????????????????????????? ?????????????????????????????????????????????????????????
????????????????????????N = 10000??????????????????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????nodeId????????????b???????????? ????????????????????????????????????????????????????????????????????????
6. ????????????
Castro??????[3]???????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????? ???nodeIds????????????????????????????????????????????????????????????
Sit???Morris [16]???Chord???CAN???Pastry???????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????Key????????????????????????????????????
Srivatsa???Liu [17]???????????????DHT???P2P????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????nodeId???????????????????????????????????????????????????????????????
Awerbuch???Scheideler [1]???????????????????????????DHT??????????????????????????????????????????????????????????????????DHT????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????- ???????????????DHT???SChord [9]??????????????????????????????????????????????????????
Cerri??????[4]????????????????????????nodeIds????????????????????????Kademlia?????????????????????????????? ?????????????????????????????????IP????????????????????????nodeId??????????????????nodeId????????? ???????????????????????????????????????????????????????????????????????????????????????????????????Key?????????Key?????????????????? ????????????????????????????????????????????????Key???????????????????????????Key???????????????
?????????????????????????????????????????????????????????[13] Rowaihy ?????? ?????????????????????P2P????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????IP????????????????????????DHT?????? ???????????????????????????IP?????????nodeIds????????????????????????DHT??????????????????????????????????????????
Singh??????[15]??????Eclipse???????????????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????Eclipse?????????????????????????????????????????????
Nielson??????[12]?????????????????????????????? ????????????P2P??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
7. ??????
??????????????????????????????????????????Kademlia???????????????Key?????????????????? ????????????????????????????????????Kademlia???????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????Kademlia??????????????? ????????????????????????????????????????????????????????????????????????????????????nodeId????????? ???????????????????????????????????????Kademlia???????????? ????????????bucket????????????????????????????????????DHT??????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????????
S/Kademlia???????????????OverSim?????????????????????????????????20%???????????????????????????????????????????????????????????????99%?????????????????????????????????????????????Kademlia??????????????????????????????????????????????????????????????????Kademlia?????????
??????
?????????????????????????????????????????????????????????????????????ScaleNet??????01BU567???????????????????????????SpoVNet??????????????????BW-FIT???????????????
??????
[1] B. Awerbuch and C. Scheideler. Towards a scalable and robust dht. In SPAA ???06: Proceedings of the eighteenth annual ACM symposium on Parallelism in algorithms and architectures, pages 318???327, New York, NY, USA, 2006. ACM Press.
[2] I. Baumgart, B. Heep, and S. Krause. OverSim: A flexible overlay network simulation framework. In Proceedings of 10th IEEE Global Internet Symposium (GI ???07) in conjunction with IEEE INFOCOM 2007, Anchorage, AK, USA, May 2007.
[3] M. Castro, P. Druschel, A. Ganesh, A. Rowstron, and D. S. Wallach. Secure routing for structured peer-to-peer overlay networks. SIGOPS Oper. Syst. Rev., 36(SI):299???314, 2002.
[4] D. Cerri, A. Ghioni, S. Paraboschi, and S. Tiraboschi. Id mapping attacks in p2p networks. In Global Telecommunications Conference, GLOBECOM???05. IEEE, 2005.
[5] S. A. Crosby and D. S. Wallach. An analysis of two bittorrent distributed trackers. Presentation at the South Central Information Security Symposium (SCISS ???06), 2006.
[6] F. Dabek, B. Zhao, P. Druschel, J. Kubiatowicz, and I. Stoica. Towards a common api for structured peer-to-peer overlays. In Proceedings of the 2nd International Workshop on Peer-to-Peer Systems (IPTPS ???03), volume Volume 2735/2003, pages 33???44, 2003.
[7] J. Dinger and H. Hartenstein. Defending the sybil attack in p2p networks: Taxonomy, challenges, and a proposal for self-registration. ares, 0:756???763, 2006.
[8] J. R. Douceur. The sybil attack. In IPTPS ???02: Revised Papers from the First International Workshop on Peer-toPeer Systems, pages 251???260, London, UK, 2002. SpringerVerlag.
[9] A. Fiat, J. Saia, and M. Young. Making chord robust to byzantine attacks. In ESA, Lecture Notes in Computer Science, pages 803???814. Springer, 2005.
[10] A.-T. Gai and L. Viennot. Broose: a practical distributed hashtable based on the de-bruijn topology. In Fourth International Conference on Peer-to-Peer Computing, 2004, pages 167???174, aug 2004.
[11] P. Maymounkov and D. Mazires. Kademlia: A peer-to-peer information system based on the xor metric. In Peer-to-Peer Systems: First InternationalWorkshop, IPTPS 2002 Cambridge, MA, USA, March 7-8, 2002. Revised Papers, volume Volume 2429/2002, pages 53???65, 2002.
[12] S. Nielson, S. Crosby, and D. Wallach. A taxonomy of rational attacks. In 4th International Workshop on Peer-To-Peer Systems, Ithaca, New York, USA, February 2005.
[13] H. Rowaihy, W. Enck, P. Mcdaniel, and T. La-Porta. Limiting sybil attacks in structured peer-to-peer networks. Technical Report NAS-TR-0017-2005, Network and Security Research Center, Department of Computer Science and Engineering, Pennsylvania StateUniversity, University Park, PA, USA, 2005.
[14] A. Rowstron and P. Druschel. Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In Middleware 2001 : IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg, Germany, November 12-16, 2001. Proceedings, volume Volume 2218/2001, pages 329+, 2001.
[15] A. Singh, T.-W. J. Ngan, P. Druschel, and D. Wallach. Eclipse attacks on overlay networks: Threats and defenses. In In Proceedings of INFOCOM 06, Barcelona, Spain. April 2006, 2006.
[16] E. Sit and R. Morris. Security considerations for peer-topeer distributed hash tables. In IPTPS ???02: Revised Papers from the First International Workshop on Peer-to-Peer Systems, pages 261???269, London, UK, 2002. Springer-Verlag.
[17] M. Srivatsa and L. Liu. Vulnerabilities and security threats in structured overlay networks: A quantitative analysis. In ACSAC ???04: Proceedings of the 20th Annual Computer Security Applications Conference (ACSAC???04), pages 252???261, Washington, DC, USA, 2004. IEEE Computer Society.
[18] I. Stoica, R. Morris, D. Liben-Nowell, D. Karger, M. Kaashoek, F. Dabek, and H. Balakrishnan. Chord: a scalable peer-to-peer lookup protocol for internet applications. IEEE/ACM Transactions on Networking, 11(1):17???32, feb 2003.
?????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????: ???????????????
github: https://github.com/elninowang
telegram: @elninowang
twitter: @elninowang
medium: https://medium.com/@elninowang_cn
steemit: https://steemit.com/@elninowang
zhihu: https://www.zhihu.com/people/elninowang/activities
jianshu: https://www.jianshu.com/u/103321b574ba
以上是关于S/Kademlia2007 ??????的主要内容,如果未能解决你的问题,请参考以下文章
Access 2007 与 Sharepoint 2007 任务列表的集成