Communities of users sharing data and files
KaZaA
BearShare
BitTorrent
Clients issue queries to initiate search
Servers respond to queries with files and may also route queries to other nodes
Nodes can act as clients, servers, or both, depending on the network architecture
Central hub
Clients send queries to hub, which routes them to nodes that contain matching files
Susceptible to attacks on the central hub
Pure P2P (Gnutella 0.4)
Queries flooded into network with limited horizon
Connections between nodes are random
Nodes only know about neighbor nodes
Does not scale well
Hierarchical (Superpeer Network)
Two-level hierarchy of hub nodes and leaf nodes
Leaf nodes are either clients or servers and only connect to hubs
Hubs provide directory services for the leaf nodes