[p2p-hackers] Re: scalability (was: p2p framework)

coderman coderman at gmail.com
Wed Nov 30 22:17:23 UTC 2005


On 11/30/05, Greg Bildson <gbildson at limepeer.com> wrote:
> Your UDP based protocol sounds similar to our experimental GUESS protocol.

there are similarities; GUESS was one of the few other UDP search /
resource discovery protocols in the works at the time (2001 to 2003).


> As such, I have always felt that a connectionless UDP protocol is more at
> risk from abuse.

yes, which is why i mentioned logical connection based.  initiating a
session requires a handshake similar to TCP.  the logical connections
are expect to last for the duration of a peer identity - longevity
plays a part in weighted ordering of peer lists.


>  While the cost of delivering queries to many hosts is
> higher, there is also less opportunity to monitor the activity of the query
> source.   Given a network where there is a true cost and delay to finding
> available TCP connections, this ways against a greedy client churning
> connections as well.  Our experience of massive query traffic from greedy
> clients in 2003 led to my being very suspicious of short term connections
> for querying.

sounds very reasonable.  hard to derive any kind of meaningful
reputation for such volatile connections.  again, the alpine UDP
connections were not short lived - they survived between application
instances (saved to berkeleydb) and reconnected upon startup or
endpoint change (NAT, dynip).


> The other benefit that you can get from longer lived TCP connections is
> index forwarding.  In the modern Gnutella network, QRP (keyword bloom
> filtering) indexes are rolled up and propagated two hops from leaf to
> ultrapeer to neighboring ultrapeers.  This allows for query routing on the
> last hop(s) that a query may travel.  With a high outdegree and a low TTL,
> large routing efficiencies are gained.  Queries are not delivered to
> ultrapeers where keyword matches would not occur.  Out-of-band UDP results
> still allow direct delivery of responses and delivery as needed as well.

agreed.  and this touches upon a great optimization for any
decentralized resource discovery protocol: aggressive caching between
trusted peers is the best way to improve the depth and breadth of
queries while simultaneously reducing execution times.



More information about the P2p-hackers mailing list