Peercast implements P2P-related transmission functions using an open protocol, Gnutella. The following describes the Gnutella protocol.
Gnutella is an open protocol that is completely distributed and has no central server. Each node is both a client and a server, called servents.
Protocol definition:
Ping: client activation discovery
Pong: Responding to ping
Query: network retrieval mechanism
Queryhit: Response to query
Push: a mechanism used to allow clients in the firewall to provide file-based data files to the network.
Two node locating models: multicast model and Network Model
Query mechanism: Flooding
The traditional guntella network adopts a flooding query mechanism. The query mechanism is as follows:
(1) When querying resources, a query message is formed based on the query content of any host on the guntella network.
(2) The query source host sends the query message to other hosts directly connected to the network.
(3) The host that receives the query message searches for its own resources. If there is a resource that matches the query message, a queryhit message is formed, send the query message to the Source Query host based on the query message path. Design and Implementation of the P2P network model of guntella protocol and Division Technology
(4) The host that receives the query message forwards the message to other hosts except the host that sent the message.
(5) Repeat Steps 3 and 4.
Control Mechanism:
1. TTL
2. Message identifier
3. Path identifier
Defects:
Defects:
1. Extensive traffic consumption of Bandwidth
2. the TTL settings allow Gnutella to be used only in a small range.
3. Security mechanisms cannot be guaranteed