Gnutella

Gnutella (pirma raidė netariama) – programinės įrangos projektas, kuriuo siekiama sukurti peer-to-peer failų keitimosi tinklą, neturintį centrinio serverio.

Istorija 
Dar 1999 m. populiaraus daugialypės terpės grotuvo „Winamp“ kūrėja „Nullsoft“ užpatentavo technologiją, smarkiai paveikusią visą P2P raidą. Justin Frankel apibrėžė Gnutella protokolą 2000 m. kovo 14 d., sukūręs pirmą klientinės programos Gnutella tinklui beta versiją ir leidęs ją nemokamai parsisiųsti iš interneto. Pavyzdžiu ir paskatinimu Gnutella tinklui buvo „peer - to - peer“ tinklas Napster, kuris jau nuo 1999 m. birželio suteikė galimybę tiesiogiai keistis muzikos failais. Dėl nelegaliai platinamos muzikos Napster firmai gana greitai iškilo teisinių problemų.

„Gnutella“ pavadinta sistema jau turėjo kovai su autorių teisėmis skirta mechanizmą – priešingai nei Napster, kur duomenų perdavimo tinklo serveriai valdomi iš centrinio bendrovės biuro, savarankiškos Gnutella dalys išsibarsčiusios po visą pasaulį, taigi, nutraukti jų veiklą fiziškai neįmanoma. Kol veiks bent du kompiuteriai su Gnutella įranga, tinklas gyvuos. JAV telekomunikacijų gigantui AOL nusipirkus didžiąją dalį „Nullsoft“ akcijų, darbas prie „Gnutella“ projekto buvo sutabdytas – buvo siekiama išvengti su autoriu teisėmis susijusio skandalo, kuris būtų galėjęs sutrukdyti AOL ir „Time Warner“ susiliejimui. Pati programa jau buvo paplitusi ir prieinama per kitus interneto puslapius bei "peer - to - peer" sistemas.

„Gnutella“ (  atgaivino maža grupelė entuziastų, informavusių interneto bendruomenę apie šio tinklo galimybes ir paskelbusi duomenis, kurių galėjo prireikti entuziastams kuriant darbui su „Gnutella“ skirtą programinę įrangą.

Principai 
Kiekvienas Gnutella tinklo narys žino apie kelis kitus aktyvius, šiam tinklui priklausančius narius. Šis pradinis sąrašas gaunamas įvairiais būdais: pateikiamas su kliento programa (kuri vėliau patikrina kurie nariai tebėra aktyvūs), randamas kokiame nors centralizuotame serveryje, kai kada naudojama net IRC.

Gnutella naudoja "potvynio paieškos" (angl flooding search) principą: ieškantis narys susisiekia su jam žinomais kitais nariais, šie perduoda jo užklausą savo žinomiems kaimynams ir pan. Tokios paieškos gylis siekia 4 - 5 lygius ir ji išplinta toli po tinklą. Pirmuosiuose variantuose rastas atsakymas buvo grąžinamas tuo pačiu keliu kuriuo atėjo klausimas, vėliau sistema buvo optimizuota papildant užklausą ieškotojo adresu ir taip įgalinant perduoti atsakymą tiesiogiai. Rasti failai perduodami tiesiogiai tarp ieškančio ir teikiančio narių, naudojant tam įprastus perdavimo protoklus (TCP/IP ir pan).

Gnutella pradinis žinučių keitimosi formatas yra gana senas, daug kartų taisytas ir neretai laikomas gana netvarkingu ir sudėtingu. Pastaruoju metu kuriame sistema Gnutella2 kur informacijai keistis naudojama panaši į XML, tačiau dvejetainė struktūra.

Klientinės programos 
P2P gerbėjų reakcijos ilgai laukti nereikėjo – šiuo metu galite rinktis iš daugybės programų, skirtų dalintis duomenimis „Gnutella“ tinkle. Tarp populiariausių produktų:
 Shareaza (suderinama su eDonkey tinklu)
 BearShare
 Cabos
 Gnucleus
 Swapper
 Xolox
 LimeWire
 Phex.

Nuorodos 
 Gnutella protokolo specifikacija 
 P2P tinklai

Interneto protokolai