1. The kind of communication found in a system using layered protocols. Each software or hardware component can be considered to communicate only with its peer in the same layer via the connection provided by the lower layers.
2. A decentralised file sharing system like BitTorrent, Gnutella or Kazaa where computers that download data also store that data and serve it to other downloaders. This increases the total bandwidth available in proportion to the number of users and so reduces download time. It also improves resilience by providing multiple redundant sources for the same data. This contrasts with client-server where all clients download the data from a single server (or mirror), sharing its fixed bandwidth.
Peer-to-peer networks are typically ad-hoc and rely on users sharing the content they have downloaded for the benefit of other users. Users who fail to do this are called "leaches". A "seed" is a node on a peer-to-peer network that is sharing a complete copy of a file, as opposed to other nodes that may only have some of the parts into which the file has been split.