Chord is a simple protocol and scalable distributed search in P2P networks linking key (keys) with nodes. It is designed to operate in a decentralized (ie, no privileged nodes), and its operation can end with a thorough search.
It is considered a network of 2m nodes, which can be active or absent from the network. Given a set of keys in the network, the Chord protocol is responsible for allocating the keys to the nodes existing assets and keep those assignments dynamically, ie as nodes go in and out of the network. All other tasks related to network-authentication, data storage, interface, etc .- are the responsibility of higher levels of architecture.
The assignment of identifiers to nodes and keys is done through a hash function consistent. Indeed, when a node or enter the network key, receive an identification (ID) that is obtained by calculating the hash (SHA-1) of the IP node or key value. This hashing are randomized access to the system, so it is difficult for an attacker nodes or straight key or strategic position in the network.
A k key id is assigned to node id k if it is active in the network. If k is not, it finds the first node after k is active and assigned to the key: this replaced node is called k successor (successor (k)).
When k is connected to the network, its successor node will transfer the keys that were meant for him. When a node leaves the network, transferring the keys we took over to his successor, ie the node with id next to yours. With these mechanisms, ensuring the network self-regulation and maintenance of the keys even in a context of mobility of participating nodes.