This document provides an introduction to peer-to-peer (P2P) computer networks. It discusses how P2P networks rely on the computing power and bandwidth of participants rather than centralized servers. The document then covers several examples of P2P networks including Gnutella and Kademlia, and discusses techniques like distributed hash tables, queries, and node joining/leaving.