Classifications of peer-to-peer networks
Peer-to-peer networks can be classified by what they can be used for:
* file sharing
* telephony
* media streaming (audio, video)
* discussion forums
Other classification of peer-to-peer networks is according to their degree of centralization.
In ‘pure’ peer-to-peer networks:
* Peers act as equals, merging the roles of clients and server
* There is no central server managing the network
* There is no central router
Some examples of pure peer-to-peer application layer networks designed for file sharing are Gnutella and Freenet.
There also exist countless hybrid peer-to-peer systems:
* Has a central server that keeps information on peers and responds to requests for that information.
* Peers are responsible for hosting available resources (as the central server does not have them), for letting the central server know what resources they want to share, and for making its shareable resources available to peers that request it.
* Route terminals are used addresses, which are referenced by a set of indices to obtain an absolute address.
e.g.
* Centralized P2P network such as Napster
* Decentralized P2P network such as KaZaA
* Structured P2P network such as CAN
* Unstructured P2P network such as Gnutella
* Hybrid P2P network (Centralized and Decentralized) such as JXTA (an open source peer-to-peer protocol specification)