Next: Pong caching schemes
Up: Gnutella
Previous: Bye message, version 0.6
  Contents
  Index
Ping and Pong optimizations
Since the original protocol specification ([Gnu00]) used
network resources very inefficiently [Gnu02] states some
optimizations for Ping and Pong messages. To avoid
unnecessary propagation of Ping broadcasts caching of
Pong messages is deployed.
If a Gnutella host conforms to the following requirements it is
considered Pong caching compatible and must provide the
following header when establishing a connection. Possibly a higher
number can be given if the caching scheme has a higher version number.
Pong-Caching: 0.1
- All Pong messages sent should have a high probability
of referring to connectable hosts and provide a good
distribution of hosts across the network.
- The bandwidth used by Ping and Pong messages
should be minimized.
- If a Ping message is received, with TTL
greater than 1 and it was at least one second since another
Ping was received on that connection, a servent must
(if possible) respond with a number of Pong messages.
The number of messages sent in response may vary but 10 is a
reasonable number according to [Gnu02].
- An incoming Ping message with a TTL field of
1 and a Hops field of 0 or 1 must always be replied to with a
Pong message, since the Ping is used to probe
the remote host of a connection.
- An incoming Ping message with a TTL field of
2 and a Hops field of 0 is called a ``Crawler Ping''
and is used to scan the network. Pong messages should
be sent in reply listing the host receiving the Ping
and all its' neighbours.
Subsections
Next: Pong caching schemes
Up: Gnutella
Previous: Bye message, version 0.6
  Contents
  Index
Marcus Bergner
2003-06-10