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.
t o p
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.
t o p
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.
t o p
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.
t o p
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.
t o p
hops:
the number of hosts a packet has passed through.
t o p
Host:
See Peer.
t o p
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.
t o p
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.
t o p
Node:
See Peer.
t o p
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."
t o p
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.
t o p
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.
t o p
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.
t o p
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.
t o p
Routing:
See Broadcasting.
t o p
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.
t o p
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.
t o p
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."
t o p
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.
|