9. Chapter 9: Peer-to-peer networks

9.5. P2P: searching for information

Index in P2P system: maps information to peer location

(location = IP address & port number)


Peer-to-Peer Networks: Napster

Napster history: the rise

  • January 1999: Napster version 1.0
  • May 1999: company founded
  • September 1999: first lawsuits
  • 2000: 80 million users

Napster history: the fall

  • Mid 2001: out of business due to lawsuits
  • Mid 2001: dozens of P2P alternatives that were harder to touch, though these have gradually been constrained
  • 2003: growth of pay services like iTunes

Napster history: the resurrection

  • 2003: Napster reconstituted as a pay service
  • 2006: still lots of file sharing going on


Napster Technology: Directory Service   

  • User installing the software
    • Download the client program
    • Register name, password, local directory, etc.
  • Client contacts Napster (via TCP)
    • Provides a list of music files it will share
    • … and Napster’s central server updates the directory
  • Client searches on a title or performer
    • Napster identifies online clients with the file
    • … and provides IP addresses
  • Client requests the file from the chosen supplier
    • Supplier transmits the file to the client
    • Both client and supplier report status to Napster

Napster Technology: Properties

  • Server’s directory continually updated
    • Always know what music is currently available
    • Point of vulnerability for legal action
  • Peer-to-peer file transfer
    • No load on the server
    • Plausible deniability for legal action (but not enough)
  • Proprietary protocol
    • Login, search, upload, download, and status operations
    • No security: cleartext passwords and other vulnerability
  • Bandwidth issues
    • Suppliers ranked by apparent bandwidth & response time

Napster: Limitations of Central Directory

  • Single point of failure
  • Performance bottleneck
  • Copyright infringement

  • So, later P2P systems were more distributed

P2P: centralized index

original “Napster” design

  1. when peer connects, it informs central server:
    – IP address
    – content
  2. Alice queries for “Hey Jude”
  3. Alice requests file from Bob



  • single point of failure
  • performance bottleneck
  • copyright infringement: “target” of lawsuit is obvious