This document discusses different types of nodes in a peer-to-peer network: pure clients, pure peers, and client-peers. Pure clients only offer basic functions without implementing the distributed hash table (DHT), while pure peers implement the full DHT. Client-peers can act as either a client or peer depending on factors like battery level and network connectivity. The document also considers issues like how nodes transition between client and peer roles and how clients can look up services from multiple peers.