Everything you wanted to know but never dared ask about P2P
P2P Concepts
Peer-to-Peer (P2P) network
A network where all
connected PCs, called clients, can talk to one another directly,
without having to connect through a centralised server. Each
networked PC can act as a server, providing files and other
information to any other computer on the network.
Client/Server network
A network where powerful,
centralised computers called servers are used to perform functions
such as storing data and running applications on behalf of attached
"client" computers. Clients are typically PCs on users' desktops.
The World Wide Web is a client/server network.
Peer-to-Peer hybrid
A combination of the P2P and client/server models, where a
centralised server may help locate peers or synchronise data. Once
peers discover each other, they communicate directly, without
further involving the server. Napster is such a hybrid.
P2P Glossary
Broadcasting - Messages on the P2P 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 P2P network. As for push requests, some Servants route them
and others broadcast them. However, there is no good reason to
broadcast push requests, and no good Servant broadcasts them.
Dropped Packets - Packets, or small "packages" of data, are
sometimes dropped, or lost, on the P2P network. There might be
several reasons for this. For example, Servant A might be unable to
keep up with the rate at which Servant B is transmitting data, or
Servant A might be running a buggy P2P clone.
GUID - Short for Global Unique Identifier, the GUID is a
randomised string that is used to uniquely identify a host or
message on the P2P network. This prevents duplicate messages from
being sent on the network.
Horizon - Your horizon is the group of P2P Servants that you
are capable of communicating with at a particular time. Because of
the decentralised nature of the P2P network, your horizon will not
encompass the entire active P2P network.
Hops - The number of hosts a packet has passed through.
Host - See Peer.
Host Catcher - When you join the P2P network and send out
ping requests, other P2P hosts respond with pongs. Your P2P
software's host catcher keeps track of the P2P hosts that sent
these pongs, so that you will have a list of active P2P hosts that
you can connect to. Most P2P Servants 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 P2P 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.
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. P2P's peer-to-peer model uses no servers, so
the network is composed entirely of peers. Computers connected to
the P2P network are also referred to as "nodes" or "hosts."
Ping - When a new user joins the P2P 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 P2P 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
Servants, the default port for P2P is 6346. This means that a
Servant running P2P software is listening on port 6346. However,
the user can change the port that is assigned to P2P on his
computer, and he will still be able to communicate with other
Servants that are listening on port 6346.
Push request - When a Servant is behind a firewall, other
hosts are not able to connect to that Servant directly to download
a file. When this happens, the host trying to download the file
sends a push request, asking the Servant behind the firewall to
connect out and upload the file to him.
Routing - See Broadcasting.
Search - When a Servant initiates a search request, he
broadcasts a search message to the P2P network that contains the
query string as well as the minimum speed specified by the Servant
initiating the search request. Also called a query message.
Search result - When a host receives a search request and
has files that satisfy the search criteria, it responds with a
search result message. The search result message contains the IP
address, port, and speed of the Servant sending the search result
message, as well as a list of file sizes and names. Also called a
query hit.
Servant - A combination of a server and a client. In the old
centralised file-sharing model, there were distributors of
information, called servers, and requestors of information, called
clients. In the decentralised P2P model, each computer on the
network is both a client and a server and is thus called a
"Servant."
Time to Live - Abbreviated "TTL," the Time to Live is the
number of hops that a message will make on a peer-to-peer network
before being discarded. Each Servant 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 P2P network indefinitely. Most P2P clones set TTL at
around 7, although some allow the user to configure it.
Useful P2P Links
CW360 P2P Debate: The Meaning of P2P
The PeerProfit P2P news headlines and Company Watch headlines are
automated, sifting from 1500 sources across the internet -
http://www.peerprofits.com/
.