teomores / chord_omnetpp

OMNeT++ implementation of the Chord P2P protocol as discussed in its original paper.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chord - OMNeT++

Overview

This is an optional project for the Distributed System course at Politecnico di Milano. It is an OMNeT++ implementation of the Chord P2P protocol as discussed in its original paper, also including the protocols to stabilize the network when new peers join or leave.

Implementation

I'm not gonna dive into the protocols details, I assume that if you are reading this README you perfectly know what the protocol does. In this section I wanted to only give an overview of how the various aspects of the protocol have been implemented.

Consistent Hashing

IP addresses are randomly generated and each IP address is associated to a unique node, which has its unique identifier given by the SHA-1 hash of the IP.

Successor List

The successor list has been treated as a vector of pairs: the key identifier and the node.

Finger Table

For the finger table we decided to use a deque, as we saw an similar implementation in the OverSim project and we really liked it.

Authors

License

This project is licensed under the Apache License 2.0.

External Resources

About

OMNeT++ implementation of the Chord P2P protocol as discussed in its original paper.

License:Apache License 2.0


Languages

Language:C++ 84.8%Language:Makefile 15.2%