+ = GtllGnutella What is ?

• Invented March 2000 – byypp Justin Frankel and • Peer-to-peer system • Became the first large-scale, fully decentralized system on the • A message-based protocol • UTCPUses TCP Key ideas

• Every node should interpret and respond to qqyueries as they wish • Allows more than one intelligence to be applied on the query Communication system

• Message-based • Uses TCP broadcast • Time-to-live (TTL) = 7 (~10 000 nodes) • Decrements for each host the message passes • Excess traffic is simply forgotten How does it work? (1)

• Ad hoc backbone – make nodes with fast network connections wander toward the centre of the network to handle the traffic • Create cells connected by high-speed backbone •Not gggpeographicall y How does it work? (2)

• Response from green follows the same path back to blue • A direct HTTP connection is established between green and blue • Pseudo anonymity Traffic problems

• Reflector – maintains an index of files stored on nodes to which it is connected (breaches key idea) • Host lists resulted in sparseness and small clusters • Host caches as startinggp point for Gnutella user – hand off a list of hosts you should connect to – tell new hosts about hosts theyyy saw recently – overcrowding Network problems (1)

• Firewalls of NAT-devices • Solution: – PUSH REQUEST Network problems (2)

• “Double firewall” – “arch enemyyp of productivit y” • No solution

• PING packets with payload Windup

• The first real P2P system • Message broadcasting • Lacking service discovery mechanism • Disastrous host caching programs • Pseudo anonymity and misuse • Problems related to firewalls, NAT-devices