|
GLOSSARY OF GNUTELLA
Broadcasting:
Messages on the Gnutella Network are sent in one of two ways. First,
they may be broadcast, or sent to all hosts on your network horizon.
Pings and search requests are broadcast. Second, messages may be
routed, or sent only to particular location. Not all routed messages go
directly to their intended recipient; they may pass through other hosts
in transit. For example, if A broadcasts a search request, B receives
it and broadcasts it on, and C receives it and wishes to reply with a
search result, C will route that search result back to B, who in turn
will route it back to A. Pongs and search results are routed on the
Gnutella Network. As for push requests, some servents route them and
others broadcast them. However, there is no good reason to broadcast
push requests, and no good servent broadcasts them.
Dropped
packets:
Packets, or small "packages" of data, are sometimes dropped, or lost,
on the Gnutella Network. There might be several reasons for this. For
example, servent A might be unable to keep up with the rate at which
servent B is transmitting data, or servent A might be running a buggy
Gnutella clone.
Firewall:
A firewall is a protective mechanism that allows only computers inside
the firewall to make network connections out through the firewall; it
will not allow outside computers to make connections into a given
computer network. If a servent outside the firewall tries to download a
file from a computer inside the firewall, the firewall will prevent
this connection from being made. Usually, this results in a push
request message being sent to the servent inside the firewall
requesting that that servent connect through the firewall and upload
the desired file. If the servent requesting the file is himself behind
a (different) firewall, then this upload will also be blocked, and
there will be no way for the file transfer to occur.
GUID:
Short for Global Unique Identifier, the GUID is a randomized string
that is used to uniquely identify a host or message on the Gnutella
Network. This prevents duplicate messages from being sent on the
network.
GWebCache:
a distributed system for helping servents connect to the Gnutella
network, thus solving the "bootstrapping" problem. Servents query any
of several hundred GWebCache servers to find the addresses of other
servents. GWebCache servers are typically web servers running a special
module.
Horizon:
Your horizon is the group of gnutella servents that you are capable of
communicating with at a particular time. Because of the decentralized
nature of the Gnutella Network, your horizon will not encompass the
entire active Gnutella Network.
hops:
the number of hosts a packet has passed through.
Host:
See Peer.
Host
Catcher:
When you join the Gnutella Network and send out ping requests, other
gnutella hosts respond with pongs. Your gnutella software's host
catcher keeps track of the gnutella hosts that sent these pongs, so
that you will have a list of active gnutella hosts that you can connect
to. Most gnutella servents have some sort of an automatic connection
feature; these automatic connections are usually made with hosts from
the host catcher's list.
Message:
All information sent over the Gnutella Network is in one of five
message types. It is either a ping, a pong, a search request, a search
reply, or a push request.
Node:
See Peer. A leafnode is a node shielded traffic by
an Ultrapeer.
Peer:
Two computers are considered peers if they are communicating with each
other and playing similar roles. For example, a desktop computer in an
office might communicate with the office's mail server; however, they
are not peers, since the server is playing the role of server and the
desktop computer is playing the role of client. Gnutella's peer-to-peer
model uses no servers, so the network is composed entirely of peers.
Computers connected to the Gnutella Network are also referred to as
"nodes" or "hosts."
Ping:
When a new user joins the Gnutella Network, he broadcasts a message
called a "ping request" to the network, announcing his presence on the
network. Nodes which receive this ping, send a pong back to the pinging
user to acknowledge that they have received this message.
Pong:
When a node on the Gnutella Network receives a ping request, it replies
with a pong (also sometimes referred to as a "ping response"). This
pong contains the responding host's IP address and port, as well as
number of files the responding host is sharing and their total size.
Port:
Each application on a computer that communicates on the net has a
specific port number assigned to it. On most servents, the default port
for Gnutella is 6346. This means that a servent running gnutella
software is listening on port 6346. However, the user can change the
port that is assigned to Gnutella on his computer, and he will still be
able to communicate with other servents that are listening on port
6346.
Push
request:
When a servent is behind a firewall, other hosts are not able to
connect to that servent directly to download a file. When this happens,
the host trying to download the file sends a push request, asking the
servent behind the firewall to connect out and upload the file to him.
Routing:
See Broadcasting.
Search:
When a servent initiates a search request, he broadcasts a search
message to the Gnutella Network that contains the query string as well
as the minimum speed specified by the servent initiating the search
request. Also called a query message.
Search
result:
When a host receives a search request and has files which satisfy the
search criteria, it responds with a search result message. The search
result message contains the IP address, port, and speed of the servent
sending the search result message, as well as a list of file sizes and
names. Also called a query hit.
Servent:
A combination of a server and a client. In the old centralized
file-sharing model, there were distributors of information, called
servers, and requestors of information, called clients. In the
decentralized gnutella model, each computer on the network is both a
client and a server and is thus called a "servent."
Time
to Live:
Abbreviated "TTL," the Time to Live is the number of hops that a
message will make on the Gnutella Network before being discarded. Each
servent that views a message will decrement its TTL by 1, and will
discard that message when the TTL reaches 0. This prevents messages
from being sent back and forth across the Gnutella Network
indefinitely. Most gnutella clones set TTL at around 7, although some
allow the user to configure it.
Ultrapeer:
a non-firewalled, high-capacity servent that shields "leaf nodes" from
the majority of messaging traffic. A leafnode is a node shielded
traffic by an Ultrapeer. Ultrapeers typically have six connections to
other ultrapeers and 75 leaf connections.
(content
credited to Limewire LLC for Gnutella GLossary)
|