A peer-to-peer (P2P) network means data is shared between two or more computers without any centralized architecture. Conventionally, the client-server model relies on a server which services client requests. So all hits to Yahho are handled by the Yahoo servers (thats a centralized architecture). A P2P network can allow data to be shared between your and my computer directly without a centralized server. When your computer requests data from my computer, my computer acts as the server and your computer acts like a client and vice versa. Thus, the client and server software has to be included on both our computers. Popular file sharing programs such as Limewire and Kazaa use this principle.