CN104038547A - Method for effectively resolving multi-Sybil node penetration conflict in P2P network - Google Patents

Method for effectively resolving multi-Sybil node penetration conflict in P2P network Download PDF

Info

Publication number
CN104038547A
CN104038547A CN201410269637.0A CN201410269637A CN104038547A CN 104038547 A CN104038547 A CN 104038547A CN 201410269637 A CN201410269637 A CN 201410269637A CN 104038547 A CN104038547 A CN 104038547A
Authority
CN
China
Prior art keywords
node
sybil
kademlia
network
turn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410269637.0A
Other languages
Chinese (zh)
Other versions
CN104038547B (en
Inventor
刘波
王怀民
王天佐
鲁强
肖哲锋
张天
马晓龙
于洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201410269637.0A priority Critical patent/CN104038547B/en
Publication of CN104038547A publication Critical patent/CN104038547A/en
Application granted granted Critical
Publication of CN104038547B publication Critical patent/CN104038547B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a method for effectively resolving multi-Sybil node penetration conflict in the P2P network. The method aims to solve the problem that the integral penetration effectiveness is reduced in the process of Sybil node penetration to Kademlia due to penetration conflict between nodes. According to the technical scheme, by dividing penetration areas and grouping the Sybil nodes, divided-zone penetration is achieved, and penetration conflict between the Sybil nodes in each group is avoided; and by reasonably distributing node marks for the Sybil nodes, effectiveness conflict between the Sybil nodes in each group is avoided. By adopting the method, the overall penetration effectiveness of a plurality of Sybil nodes can be improved, resource waste and effectiveness loss caused when the Sybil nodes perform disorder penetration to the Kademlia network can be avoided, and the penetration effectiveness of the Sybil nodes can be guaranteed in the Kademlia network dynamic change process.

Description

In P2P network, effectively clear up the method for many Sybil node infiltration conflict
Technical field
The present invention relates to improve the method for many Sybil node to Kademlia network penetration usefulness, espespecially in Kademlia network, effectively clear up the method for many Sybil node infiltration conflict.
Background technology
Kademlia is a kind of structural P 2 P agreement that the people such as the Petar Maymounkov of New York Univ USA proposed in 2002; P2P network based on Kademlia protocol construction is called Kademlia network.Kademlia agreement is a kind of typical DHT (Distributed Hash Table, distributed Hash table) agreement, is widely used in and builds extensive, pure distributed P2P (Peer to Peer) network, as electric donkey, BitTorrent etc.Kademlia distributes unique, random node identification, i.e. a nodeID to each node; For each object distributes a similar object identity, i.e. objectID (being called again key).These marks generate with this one-way hash function of SHA-1 conventionally, and the distance between ID adopts XOR to measure.
In Kademlia network, each object is stored in node identification and approaches most on K node of its object identity.K is a constant, and general value is 20.
The routing table of each Kademlia node is by the individual chained list composition of L (L equals the number of bits of node identification, conventionally value be 128), and each chained list is called one " K-bucket ", for record network to own XOR distance in interval [2 i, 2 i+1) (the sequence number that i is K-bucket, 0≤i < L) in the information of neighbor node, every information is with tlv triple < IP address, udp port number, and nodeID > form represents and stores.Kademlia agreement regulation, K-bucket length is taking K as the upper limit.Whenever Kademlia node is received the message from other nodes, it just according to this message sending node to the < IP address in oneself XOR distance and message, udp port number, nodeID > information is upgraded the record in K-bucket, and this is called piggybacking (piggybacking).The routing table of a Kademlia node of L K-bucket composition, therefore routing table also claims " K-buckets ".L K-bucket in a routing table distinguishes by continuous sequence number i.
Kademlia agreement is by four RPC (Remote Process Call, remote procedure call are a kind of orders) composition, and its title is respectively PING, STORE, and FIND_NODE, FIND_VALUE, their work is as follows:
PING: survey a node whether online;
STORE: indicate < key of a node storage, value > couple, so that data acquisition in the future.Key is object hashed value, i.e. obiectID, and value is real data object (or its index);
FIND_NODE: taking ID as parameter, the recipient of FIND_NODE RPC is with < IP address, udp port number, the form of nodeID > return known to him from K nearest node of Target id;
FIND_VALUE: taking key as parameter, find value corresponding to key.
The former finger of Sybil node has the single entity node of multiple identities, conventionally the false node in network is all called to Sybil node at present.For the Sybil node in Kademlia network, its importance major embodiment is the neighbor node that can become how many nodes, i.e. the in-degree size of this Sybil node.The importance that improves fast Sybil node, contributes to utilize the active situation that Sybil node is more, know more efficiently great deal of nodes in network, thereby for finding fast and containing that the rogue activity in network provides technical support.
The lifting of Sybil node importance, mainly depends on as much as possible self joining in the routing table of Kademlia network node, i.e. infiltration.But in the process of infiltration, multiple Sybil nodes may enter in the same K-bucket of same Kademlia node; When this node is in the time that this K-bucket carries out some network activity, message can send to multiple Sybil nodes simultaneously.Like this, the activity of a node, by the perception of multiple Sybil node institute, has caused in fact the redundancy of perception.This situation is called the infiltration conflict between Sybil node, and infiltration conflict causes the decline of infiltration usefulness.Because Kademlia network size is generally all larger, quantity and the performance of Sybil node are limited, therefore should avoid permeating the situation that usefulness clashes as far as possible, to improve the entirety infiltration usefulness of multiple Sybil nodes.
P2P web crawlers refers to the software systems for obtaining each nodal information of P2P network and topological structure thereof.This software systems send particular message to the known node in P2P network iteratively, obtain new node; Repeat again to send particular message to new node, just can obtain whole topology of networks and each nodal information.P2P web crawlers can be used in the nodal information and the topological structure that obtain Kademlia network.
Still do not eliminate at present the open report of the method for Sybil node infiltration conflict for Kademlia network.
Summary of the invention
The technical problem to be solved in the present invention is: for multiple Sybil nodes in the process of permeating to Kademlia, may be because of the problem that occurs that between node, infiltration conflict causes entirety infiltration usefulness to decline, propose effectively to clear up in Kademlia network a kind of method of many Sybil node infiltration conflict, make multiple Sybil nodes by avoiding infiltration conflict each other to optimize entirety infiltration usefulness.
For solving the problems of the technologies described above, technical scheme of the present invention is: by dividing permeable areas and Sybil node being organized into groups, realize subregion infiltration, avoid, between each group of Sybil node, infiltration occurs and conflict; By being the mark nodeID of Sybil node reasonable distribution node, avoid organizing between interior Sybil node usefulness conflict occurs, nodeID is L bit, and L is positive integer, and value is 128 conventionally.
Be the Kademlia network of L bit for nodeID, node identification space is 2 l, the quantity of Sybil node can be set to q2 q(" " represents multiplying, and q is integer, and general value is 5).Concrete steps of the present invention are as follows:
The first step, divides permeable areas.Whole Kademlia network node identifier space is on average divided into 2 qindividual permeable areas, now these permeable areas can be expressed as { [j2 l-q, (j+1) 2 l-q) | 0≤j≤2 q-1, j is integer }, wherein each element is an interval, the node identification in the corresponding permeable areas of integer in each element, note [j2 l-q, (j+1) 2 l-q) be j permeable areas.
Second step, the marshalling of Sybil node.It is 2 that all Sybil nodes are compiled qindividual group, every group of q Sybil node, and successively with 0 to (2 q-1) this 2 qindividual integer is as group number.
The 3rd step, arranges the mark nodeID of Sybil node.Be p (0≤p≤2 for group number q-1) Sybil node marshalling, will gather 2 l-q| 0≤a≤q-1, a is integer } ( represent XOR, by 2 adistinguish distance with the XOR of group number p, guarantee group in different Sybil nodes appear in the different K-bucket of Kademlia node) in this q value distribute to q Sybil node in group as nodeID.
The 4th step, obtain the routing table of all nodes in whole Kademlia network by P2P web crawlers (as Emule client-side program, Nutch, Crawler4j etc. of increasing income), it is the < IP address of the neighbor node of each node, udp port number, nodeID >, and obtain the node degree d (being the number of neighbor node in the routing table of node) of each node by routing table.
The 5th step, to 2 qnode in individual permeable areas, carries out descending according to the size of node degree d respectively, forms 2 qindividual list, wherein each list is called the node descending list of corresponding permeable areas; Successively the node descending list of j permeable areas being sent to group number is the each Sybil node in the Sybil marshalling of j, and concrete steps are as follows:
5.1 make j=0.
5.2 the node descending list of j permeable areas is sent to group number is q Sybil node in the Sybil marshalling of j.
5.3j=j+1。
5.4 judge whether j equals 2 qif, equal, turn the 6th step, otherwise, turn 5.2).The 6th step, arranges global counter N g, and be local counter N of each Sybil Node configuration r(0≤r≤q2 q-1), N g, N rall be initialized as 0, all Sybil node executed in parallel following steps:
6.1 send PING probe command to the first node in the node descending list of receiving in the 5th step, then this head node are deleted from the list of node descending.
Whether 6.2 decision node descending lists are empty.Empty if, N r=N r+ 1, N g=N g+ 1 and turn the 6.3rd step; Otherwise, turn the 6.1st step.
Whether all Sybil nodes have all completed step 6.1-6.2 in 6.3 inquiries, judge N gwhether equal q2 q.To turn the 7th step; Otherwise turn 6.3 after carrying out a do-nothing operation.
The 7th step, it is T hour that timer is set, T can value be 6.
The 8th step, intermittently t second, t can value be 5.
The 9th step, judges whether to receive END instruction from system process: be to turn the 11 step; Otherwise turn the tenth step;
The tenth step, judges whether that the timer time is finished: be to turn the 4th step; No, turn the 8th step.
The 11 step, finishes.
Adopt the present invention can reach following technique effect:
By Kademlia network node and Sybil node being carried out to Scientific grouping in the first step and second step, and the nodeID value of each Sybil node is rationally set in the 3rd step, effectively clear up the infiltration conflict between multiple Sybil nodes, improve the overall penetration usefulness of multiple Sybil nodes, avoided the wasting of resources and usefulness that multiple Sybil nodes cause when carry out unordered infiltration to Kademlia network to run off.By obtaining the up-to-date routing table of each node in network in the 4th step, can make Sybil node in the process of Kademlia network dynamic change, still can ensure its infiltration usefulness.
Brief description of the drawings
Fig. 1 is general flow chart of the present invention.
Embodiment
1, divide permeable areas.Whole Kademlia network node identifier space is on average divided into 2 qindividual permeable areas, now these permeable areas can be expressed as { [j2 l-q, (j+1) 2 l-q) | 0≤j < 2 q, j is integer }, wherein each element is an interval, the node identification in the corresponding permeable areas of integer in each element, note [j2 l-q, (j+1) 2 l-q) be j permeable areas.
2, Sybil node marshalling.It is 2 that all Sybil nodes are compiled qindividual group, every group of q Sybil node, and successively with 0 to (2 q-1) this 2 qindividual integer is as group number.
3, the mark nodeID of Sybil node is set.Be p (0≤p≤2 for group number q-1) Sybil node marshalling, will gather 2 l-q| 0≤a < q, a is integer } ( represent XOR, by 2 adistinguish distance with the XOR of group number p, guarantee group in different Sybil nodes appear in the different K-bucket of Kademlia node) in this q value distribute to q Sybil node in group as nodeID.
4, obtain the routing table of whole Kademlia nodes by P2P web crawlers (as Emule client-side program, Nutch, Crawler4j etc. of increasing income), it is the < IP address of neighbor node, udp port number, nodeID >.
5, to 2 qnode in individual permeable areas, carries out descending according to the size of node degree d respectively, forms 2 qindividual list, wherein each list is called the node descending list of corresponding permeable areas; Successively the node descending list of j permeable areas being sent to group number is the each Sybil node in the Sybil marshalling of j.
6, global counter N is set g, and be local counter N of each Sybil Node configuration r(0≤r≤q2 q-1), N g, N rall be initialized as 0, all Sybil node executed in parallel following steps:
6.1 send PING order to the first node in the node descending list of receiving in step 5, then this head node are deleted from the list of node descending.
Whether 6.2 decision node descending lists are empty.Empty if, N r=N r+ 1, N g=N g+ 1 and go to step 6.3; Otherwise, go to step 6.1.
Whether all Sybil nodes have all completed step 6.1-6.2 in 6.3 inquiries, judge N gwhether equal q2 q.To go to step 7; Otherwise turn 6.3 after carrying out a do-nothing operation.
7, timer being set is T hour, and T can value be 6.
8, t second intermittently, t can value be 5.
9, judge whether to receive END instruction from system process: be to go to step 11; Otherwise go to step 10;
10, judge whether that the timer time is finished: be to go to step 4; No, go to step 8.
11, finish.

Claims (2)

1. a method of effectively clearing up many Sybil node infiltration conflict in P2P network, is characterized in that comprising the following steps:
The first step, divides permeable areas: whole Kademlia network node identifier space is on average divided into 2 qindividual permeable areas, these permeable areas are expressed as { [j2 l-q, (j+1) 2 l-q) | 0≤j < 2 q, j is integer }, wherein each element is an interval, the node identification in the corresponding permeable areas of integer in each element, note [j2 l-q, (j+1) 2 l-q) be j permeable areas; Kademlia network node mark is called nodeID, and nodeID is that the node identification space of the Kademlia network of L bit is 2 l, L is positive integer, the quantity of Sybil node is q2 q, " " represents multiplying, q is integer;
Second step, Sybil node marshalling: it is 2 that all Sybil nodes are compiled qindividual group, every group of q Sybil node, and use successively 0 to 2 q-1 this 2 qindividual integer is as group number;
The 3rd step, arranges the mark nodeID of Sybil node: the Sybil node that is p for group number marshalling, 0≤p≤2 q-1, will gather 2 l-q| 0≤a < q, a is integer } in this q value distribute to q Sybil node in group as nodeID; represent XOR, by 2 adistinguish distance with the XOR of group number p, guarantee that in group, different Sybil nodes appears in the different K-bucket of Kademlia node; The routing table of each Kademlia node is made up of L chained list, and each chained list is called one " K-bucket ", for record network to own XOR distance in interval [2 i, 2 i+1) in the information of neighbor node, the sequence number that i is K-bucket, 0≤i < M; Every information is with tlv triple < IP address, udp port number, and nodeID > form represents and stores, and K-bucket length is taking K as the upper limit, and K is a constant; Whenever Kademlia node is received the message from other nodes, it just according to this message sending node to the < IP address in oneself XOR distance and message, udp port number, nodeID > information is upgraded the record in K-bucket, and this is called piggybacking piggybacking; The routing table of a Kademlia node of L K-bucket composition, routing table also claims " K-buckets ", L K-bucket in a routing table distinguishes by continuous sequence number i;
The 4th step, obtain the routing table of all nodes in whole Kademlia network by P2P web crawlers, it is the < IP address of neighbor node, udp port number, nodeID >, and obtain the node degree d of each node, the number of neighbor node in the routing table of node degree dactylus point, i.e. list item number in the routing table of node by routing table;
The 5th step, to 2 qnode in individual permeable areas, carries out descending according to the size of node degree d respectively, forms 2 qindividual list, wherein each list is called the node descending list of corresponding permeable areas; It is the each Sybil node in the Sybil marshalling of j that the node descending list of j permeable areas is sent to group number, and concrete steps are as follows:
5.1 make j=0;
5.2 the node descending list of j permeable areas is sent to group number is q Sybil node in the Sybil marshalling of j;
5.3j=j+1;
5.4 judge whether j equals 2 qif, equal, turn the 6th step, otherwise, turn 5.2);
The 6th step, arranges global counter N g, and be local counter N of each Sybil Node configuration r, 0≤r≤q2 q-1, N g, N rall be initialized as 0, all Sybil node executed in parallel following steps:
6.1 send PING probe command to the first node in the node descending list of receiving, then this head node are deleted from the list of node descending; PING probe command is a kind of remote procedure call in Kademlia agreement;
Whether 6.2 decision node descending lists are empty, empty if, N r=N r+ 1, N g=N g+ 1 and turn the 6.3rd step; Otherwise, turn the 6.1st step;
6.3 judge N gwhether equal q2 q, be to turn the 7th step; Otherwise turn 6.3 after carrying out a do-nothing operation;
The 7th step, it is T hour that timer is set, T value is 6;
The 8th step, intermittently t second, t value is 5;
The 9th step, judges whether to receive END instruction from system process: be to turn the 11 step; Otherwise turn the tenth step;
The tenth step, judges whether that the timer time is finished: be to turn the 4th step; No, turn the 8th step.
The 11 step, finishes.
2. the method for effectively clearing up many Sybil node infiltration conflict in P2P network as claimed in claim 1, is characterized in that described L value is that 128, q value is that 5, K value is 20.
CN201410269637.0A 2014-06-17 2014-06-17 Method for effectively resolving multi-Sybil node penetration conflict in P2P network Active CN104038547B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410269637.0A CN104038547B (en) 2014-06-17 2014-06-17 Method for effectively resolving multi-Sybil node penetration conflict in P2P network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410269637.0A CN104038547B (en) 2014-06-17 2014-06-17 Method for effectively resolving multi-Sybil node penetration conflict in P2P network

Publications (2)

Publication Number Publication Date
CN104038547A true CN104038547A (en) 2014-09-10
CN104038547B CN104038547B (en) 2017-04-12

Family

ID=51469135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410269637.0A Active CN104038547B (en) 2014-06-17 2014-06-17 Method for effectively resolving multi-Sybil node penetration conflict in P2P network

Country Status (1)

Country Link
CN (1) CN104038547B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635072A (en) * 2014-11-06 2016-06-01 阿里巴巴集团控股有限公司 Controlled account identification method and device
CN109819498A (en) * 2019-01-23 2019-05-28 欧普照明股份有限公司 A kind of smart machine, the automatic distribution method and system of smart machine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094494A1 (en) * 2005-10-26 2007-04-26 Honeywell International Inc. Defending against sybil attacks in sensor networks
CN101478756A (en) * 2009-01-16 2009-07-08 南京邮电大学 Method for detecting Sybil attack
CN102186171A (en) * 2011-03-11 2011-09-14 北京工业大学 Anti-attack reliable wireless sensor network node positioning method
CN103067521A (en) * 2013-01-08 2013-04-24 中国科学院声学研究所 Distributed-type nodes and distributed-type system in a crawler cluster

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094494A1 (en) * 2005-10-26 2007-04-26 Honeywell International Inc. Defending against sybil attacks in sensor networks
CN101478756A (en) * 2009-01-16 2009-07-08 南京邮电大学 Method for detecting Sybil attack
CN102186171A (en) * 2011-03-11 2011-09-14 北京工业大学 Anti-attack reliable wireless sensor network node positioning method
CN103067521A (en) * 2013-01-08 2013-04-24 中国科学院声学研究所 Distributed-type nodes and distributed-type system in a crawler cluster

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱俊虎,李鹤帅,王清贤,邱菡,: "" 基于Kademlia协议的高生存性P2P僵尸网络 "", 《计算机应用》 *
杨丞,张刚林,刘光灿,王路露,: ""一种针对P2P网络优化的Kademlia路由算法"", 《微电子学与计算机》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635072A (en) * 2014-11-06 2016-06-01 阿里巴巴集团控股有限公司 Controlled account identification method and device
CN105635072B (en) * 2014-11-06 2018-11-27 阿里巴巴集团控股有限公司 Regulated account recognition methods and device
CN109819498A (en) * 2019-01-23 2019-05-28 欧普照明股份有限公司 A kind of smart machine, the automatic distribution method and system of smart machine

Also Published As

Publication number Publication date
CN104038547B (en) 2017-04-12

Similar Documents

Publication Publication Date Title
US7660320B2 (en) Communication network, a method of routing data packets in such communication network and a method of locating and securing data of a desired resource in such communication network
US20130198332A1 (en) Processing method, proxy processing agent, system and method for filling a routing table of a dht client node, router and dht client node
CN112565389B (en) Block chain based message broadcasting method and device, electronic equipment and storage medium
CN102780779A (en) Gateway equipment and method and device for optimization of campus network export P2P (peer-to-peer) traffic
Rana et al. Comparative study of PEGASIS protocols in wireless sensor network
CN103024085A (en) System and method for processing P2P (peer-to-peer) node request
WO2012095386A4 (en) Peer node and method for improved peer node selection
CN104967677A (en) File transmission method and apparatus based on NDN cache optimization
Scheideler et al. A distributed and oblivious heap
CN104038547A (en) Method for effectively resolving multi-Sybil node penetration conflict in P2P network
Benter et al. Ca-re-chord: A churn resistant self-stabilizing chord overlay network
Belblidia et al. Part-whole dissemination of large multimedia contents in opportunistic networks
CN103166860A (en) Method and device for peer-to-peer (P2P) overlay network data migration
Cherbal et al. A survey of DHT solutions in fixed and mobile networks
Tracey et al. Using a DHT in a Peer to Peer Architecture for the Internet of Things
CN103533048A (en) Hot seed file acquisition method in BT (BitTorrent) network
CN104010003B (en) Permeation method for improving Sybil node importance rapidly
Ghit et al. Using bio-inspired models to design peer-to-peer overlays
CN104009891B (en) Based on the method that multiprobe node detects P2P web search focuses
Aneeth et al. Energy-efficient communication in wireless sensor network for precision farming
Manousakis et al. Torrent-based dissemination in infrastructure-less wireless networks
Guiguis et al. Assignment and collaborative execution of tasks on transient clouds
Mei et al. Cross-layer optimized Chord protocol for separated ring convergence in MANET
Takeda et al. New structured p2p network with dynamic load balancing scheme
Mani et al. Efficient P2P service control overlay construction to support IP Telephony services over ad-hoc networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant