[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