P2P
Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
P2P (angl. Peer - to - peer) yra kompiuterinis tinklas, kuris remiasi tinklo dalyvių kompiuteriais, o ne sąlyginai nedideliu skaičiumi serverių. Tai priešingybė kliento-serverio modeliui. Gryname P2P tinkle nėra kliento ir serverio sąvokų – abu susijungę vartotojai yra lygiaverčiai, kiekvienas veikia ir kaip klientas ir kaip serveris.
Vienas iš P2P pavyzdžių yra IRC DCC pokalbis ar failo siuntimas. Centriniai serveriai šiuo atveju reikalingi tik tam, kad padėtų surastų kitą pusę, o paskui bendravimas jau vyksta tiesiogiai. Gnutella ir kitos panašios sistemos sugeba atlikti paiešką ir nenaudodamos centrinio serverio. Tokių sistemų neįmanoma išjungti iš vieno centro: kartą paleistos, jos veikia tol, kol yra pakankamai norinčių jomis naudotis klientų.
Turinys |
[taisyti] Pagrindiniai principai
P2P tinkle resursų (atminties, tinklo, procesoriaus) naudojimas yra tolygiai paskirstytas tarp visų tinklo narių, kurie gali naudoti ir vienas kito resursus. šių resursų naudojimą P2P tinklui kiekvienas narys kontroliuoja autonomiškai. Tinklo nariai sujungti internetu, kuriame nario IP adresas laikui bėgant gali keistis. Nuolat vyksta narių kaita: vieni pasitraukia, ateina kiti. Nariai susisiekia vienas su kitu tiesiogiai, be centralizuotos kontrolės ar koordinacijos. Centralizuoti serveriai kai kada naudojami tik darbo optimizavimui (hibridinės sistemos). Nebėra kliento ir serverio savokų nes bet kuris narys atlieka abu vaidmenis. Visa sistema kuriama taip jog būtų savaime susiorganizuojanti [1].
Pranašumai
- Centriniam serveriui išėjus iš rikiuotės, susijungę vartotojai ir toliau gali bendrauti
- Pasiekiami didesni greičiai, nes išvengiama tarpinės grandies – serverio
- Serveris nežino, kokia informacija keičiasi vartotojai
- Serveris papildomai neapkraunamas
[taisyti] P2P tinklai
[taisyti] Daugiatinklė P2P programinė įranga
| Programinė įranga/klientas | Tinklai arba protokolai | OS | Licencija |
|---|---|---|---|
| aMule | eD2K, Kad | Tarpplatforminė | GPL |
| eMule | eD2K, Kad | Windows | GPL |
| FileScope | eD2K, Gnutella, Gnutella2, OpenNAP | Tarpplatforminė | GPL |
| giFT | eD2K, FastTrack, Gnutella | Tarpplatforminė | GPL |
| Gnucleus | Gnutella, Gnutella2 | Windows | GPL |
| iMesh | FastTrack, eD2K, Gnutella, Gnutella2 | Windows | |
| KCeasy | Ares, FastTrack, Gnutella, OpenFT | Windows | GPL |
| Kiwi Alpha | Gnutella, Gnutella2 | Windows | |
| MLDonkey | BitTorrent, Direct Connect, eD2K, FastTrack, Gnutella, Gnutella2, Kad, OpenNap, SoulSeek, HTTP/FTP |
Tarpplatforminė | GPL |
| Morpheus | NEO tinklas, Gnutella, Gnutella2, BitTorrent | Windows | |
| Napshare | Key network, MUTE tinklas | Linux, Windows | GPL |
| Shareaza | BitTorrent, eD2K, Gnutella, Gnutella2 | Windows | GPL |
| Zultrax | Gnutella, ZEPP | Windows |
[taisyti] Peer - to - peer architektūros modeliai
Egzistuoja du pagrindiniai architektūrų modelių tipai: Decentralizuoti:
- Bet kuris mazgas veikia ir kaip klientas, ir kaip serveris.
- Nėra centrinio serverio.
Hibridiniai:
- Yra centrinis serveris, saugantis informaciją apie mazgus ir prireikus teikiantis informaciją.
- Šis serveris nesaugo duomenų, kuriais mazgai nori dalintis tarpusavyje. Pavyzdžiui, mazgas informuoja serverį, kokius failus jis gali pateikti. Kitas mazgas kreipiasi į serverį, prašydamas šių duomenų. Serveris tiesiog nurodo, kur yra duomenis saugants mazgas.
Galimos ir mišrios sistemos, tuo pat metu naudojančios abu modelius. Kai kada kartu naudojamas ir kliento - serverio modelis.
Grynomis P2P laikomos tik decentralizuota architektūra paremtos sistemos. Galima išskriti dvi pagrindines tokių architektūrų klases: bestruktūrės (unstructured P2P systems), pvz., Gnutella ir struktūrizuotos sistemas (structured P2P systems), žymiausi iš kurių yra Chord, P-Grid, Pastry.