4. Systemy rozproszone

4.7. Architektura peer-to-peer (P2P)

P2P (od ang. peer-to-peer - równy z równym) to model komunikacji w sieci komputerowej, który gwarantuje obydwu stronom równorzędne prawa (w przeciwieństwie do modelu klient-serwer).

W sieciach P2P, każdy komputer może jednocześnie pełnić zarówno funkcję klienta, jak i serwera. W najpopularniejszej implementacji modelu P2P, jaką są programy do wymiany plików w Internecie każdy węzeł sieci (czyli komputer użytkownika) odgrywa rolę serwera przyjmując połączenia od innych użytkowników danej sieci, jak i klienta, łącząc się i pobierając dane z innych maszyn działających w tej samej sieci. Wymiana danych jest zawsze prowadzona bez pośrednictwa centralnego serwera. Sieć P2P charakteryzuje się także płynną strukturą, która zmienia się w zależności od tego, jakie komputery są w niej aktualnie zalogowane.

Należy pamiętać, że korzystanie z sieci p2p nie jest "darmowe". Kiedy korzystasz z sieci p2p "koszty", które powinieneś ponieść to wysłanie (upload) minimum takiej samej ilości danych (choć nie koniecznie tych samych) co pobrałeś (download), w innym przypadku sieć szybko załamie się. Aby pokryć ilość danych "ukradzioną" z sieci przez nieodpowiedzialnych użytkowników, a także komputery należące do organizacji chroniących prawa autorskie, należy wysłać ilość danych równą 110%-120% pobranych danych. To jest właśnie koszt "darmowych" plików z Internetu.