written 8.3 years ago by |
Depending upon the listing of files Peer-to-Peer Architecture is classified as follows:
- Centralized (Hybrid)
- Decentralized
Decentralized:
a. No Central Server
b. Each node connected to many other nodes
c. May be pure peer -to-Peer or with super Peers
d. Example: Gnutella, BitTorrent
i. In any distributed system (such as a P2P network) there are usually trade-offs to be done in terms of efficiency, security, scalability, robustness and decentralization.
ii. P2P is never "pure' centralized (represented by a traditional client-server architecture) – In P2P approaches, it means hybrid systems, where several Meta information about the data and peers are stored on multiple "centralized / well-known server entities.
iii. These information sets may include parameters like the file availability, bandwidth, IP-addresses, latency value, etc. The data transmission (for the payload) is still organized in a decentralized process, directly from peer to peer.
iv. In a pure decentralized approach, the data exchange of this Meta information has to be managed without such well-defined server systems. Accordingly, each communication handshake process between the peers includes an information exchange these Meta data. By finishing the handshake process, each peer has knowledge about its "neighborhood".
BitTorrent:
i. Based on decentralized network files are divided into pieces or blocks.
ii. Pieces can be of size from 64 Kb to 4 Mb, Pieces can be further fragmented into blocks of 16 Kb.
- Trackers – tracks seeders, leechers and file pieces from different users
- Seeders – Hold complete files and shares with other peers
- Leechers – Download files from other peers
iii. Users download torrent files which includes meta-data information.
iv. Torrent files can have one or multiple trackers and files are downloaded in pieces or blocks. It implements file sharing fairness.
Difference between Centralize and Decentralize System:
- Centralized P2P systems use a centralized index for the files shared by each peer. It simplifies the direct exchange and the sharing of files between peers.
- However, it represents a single point of failure which reduces the reliability of the system. In completely decentralized P2P systems, a central authority for storing data and handling all the queries is not available.
- Interconnected peers are able to participate in transactions by interacting with each other and make local autonomous decisions to achieve their objectives. Peers are responsible for storing, sharing information and handling the queries.
- Peers act as clients and request services from other peers as well as servers and provide services to other peers. These systems provide improved robustness and enhanced scalability compared to centralized systems.
- The fundamental difference between the two approaches is that one prioritizes robustness, while the other prioritizes efficiency.
- A decentralized index approach tends to be more robust (no single point of failure), but it is usually tricky to make it as efficient as a centralized approach. In terms of scalability, decentralized approaches have a bigger potential, but it is not trivial to ensure that a given decentralized system actually scales well from both a theoretical and a practical point of view.