====== Peer-to-Peer (P2P) ====== **P2P** je decentralizovaný model sítě, ve kterém každý účastník (tzv. **peer** nebo uzel) funguje zároveň jako **klient i server**. To znamená, že uzel může data od ostatních přijímat (stahovat), ale zároveň je ostatním v síti nabízet (sdílet). Tato architektura je základem pro technologie, které vyžadují vysokou odolnost proti výpadku a distribuci obrovského množství dat bez nákladů na centrální servery. ---- ====== Hlavní principy P2P ====== * **Decentralizace:** Neexistuje žádný hlavní bod, který by bylo možné vypnout a tím zničit celou síť. * **Sdílení zdrojů:** Uzly sdílejí svůj výpočetní výkon, místo na disku nebo šířku internetového pásma. * **Dynamika:** Uzly se do sítě připojují a odpojují podle potřeby, síť se tomu automaticky přizpůsobuje. ---- ====== Typy P2P sítí ====== ^ Typ ^ Charakteristika ^ Příklad ^ | **Čisté P2P** | Žádné centrální prvky. Uzly se hledají pomocí rozesílání dotazů ostatním. | Gnutella, Freenet | | **Hybridní P2P** | Existuje centrální indexový server, který ví, kdo co má, ale samotný přenos dat probíhá přímo mezi uzly. | Napster, eMule | | **Strukturované** | Používají algoritmy (např. DHT) pro efektivní vyhledávání dat bez nutnosti centrálního serveru. | BitTorrent, IPFS | ---- ====== Praktické využití P2P ====== ===== 1. Sdílení souborů (File Sharing) ===== Nejznámější využití. Protokol **BitTorrent** umožňuje stahovat části souborů od stovek různých uživatelů najednou, což extrémně urychluje distribuci velkých dat (např. instalačních obrazů Linuxu). ===== 2. Kryptoměny a Blockchain ===== **Bitcoin** a další kryptoměny fungují na P2P síti. Každý uzel udržuje kopii účetní knihy (blockchainu) a společně ověřují transakce bez nutnosti centrální banky. ===== 3. Komunikace (VoIP) ===== Původní architektura **Skype** využívala P2P k přenosu hlasu a videa, aby se předešlo zpoždění a ulehčilo se serverům. ===== 4. Distribuované výpočty ===== Projekty jako **SETI@home** využívají P2P k propojení výkonu milionů domácích počítačů pro vědecké výpočty (hledání mimozemského života, léků proti rakovině). ---- ====== Výhody a nevýhody ====== **Výhody:** * **Odolnost:** Síť nemá žádný "jediný bod selhání" (Single Point of Failure). Pokud vypadne polovina uzlů, zbytek stále funguje. * **Škálovatelnost:** Čím více uživatelů se připojí, tím vyšší je celkový výkon a kapacita sítě. * **Náklady:** Provozovatel sítě nemusí platit za drahé servery a obrovskou konektivitu. **Nevýhody:** * **Bezpečnost:** Těžko se kontroluje, zda se v síti nešíří malware nebo nelegální obsah. * **Dostupnost:** Pokud nikdo v síti daný soubor nesdílí, není možné ho získat (na rozdíl od serveru, který je tam "vždy"). * **Výkon:** Správa sítě (hledání uzlů) může spotřebovávat hodně přenesených dat (overhead). ---- ====== Srovnání: Klient-Server vs. P2P ====== | Vlastnost | Klient-Server | Peer-to-Peer (P2P) | | --- | --- | --- | | **Hierarchie** | Jasně daná (server je nadřazen). | Všichni jsou si rovni. | | **Správa** | Snadná, centrální. | Obtížná, decentralizovaná. | | **Stabilita** | Závislá na zdraví serveru. | Velmi vysoká díky redundanci. | ---- //Související pojmy: Architektura klient-server, Blockchain, BitTorrent, Botnet, Decentralizace, IP adresa.//