Gnutella

Gnutella er et desentralisert dataprotokoll for peer-to-peer fil søk og overføring (også kjent som P2P ). Det ble forestilt seg i 2000 av Tom Pepper (en) og Justin Frankel, da programmerere for selskapet Nullsoft , som også redigerte WinAmp .  

Gnutella-protokollen fortsatte å utvikle seg i løpet av 2000-tallet, og tillot også en betydelig reduksjon i båndbredden som ble brukt. Blant forbedringene kan vi nevne styring av ultrapeers, GUESS og GWebCache som gjør det mulig for Gnutella-klienter på en desentralisert måte å kjenne andre maskiner å koble seg til.

Navnet er dannet av sammentrekningen av GNU og Nutella , selv om protokollen ikke er et GNU-prosjekt ( Free Software Foundation har bedt utviklerne om å endre navnet for ikke å forårsake forvirring) og det er ingen har ingenting å gjøre med merkevare av spredning .

Gnutella v0.4

I Gnutella v0.4 fungerer hver stasjon som en server og en klient og får navnet "  serve  " (en sammentrekning av server og klient).

Hver server er koblet til et sett med naboer. For å starte et søk, spør en server alle naboene ved å sende dem en søkemelding. Naboene gjør det samme med sine egne naboer. Et TTL-felt (Time To Live) er tilknyttet søkemeldingen for å telle antall gjenværende sendinger. Når dette er null, sendes ikke meldingen lenger. Denne formeringsmetoden kalles flom.

Servere med filer som svarer på forespørselen, sender svaret (filnavn + IP-adressen) tilbake til naboen som videresendte forespørselen til dem. Svaret går dermed trinnvis tilbake til serveren som initierte forespørselen.

Serveren som starter forespørselen, velger deretter filene som skal lastes ned ved å sende en nedlastingsforespørsel direkte til serveren som eier filen.

Denne flommen er imidlertid kostbar når det gjelder båndbredde, og søk er tregere enn i sentraliserte nettverk ( Napster ).

Gnutella v0.6

Publisert i 2002.

Ultrapeers

Dette førte til at utviklerne av LimeWire- programvaren foreslo ultrapeersystemet i 2001. Styring av ultrapeers (eller superpeers ) er inkludert i versjon 0.6 av Gnutella-protokollen. Servere er delt inn i to kategorier: ultrapeers (eller superpeers) som er stabile servere med god tilkobling og klienter (eller bladnoder). Bladene er festet til 3 ultrapeers og ultrapeers tillater mellom 30 og 45 klienter og 30 ultrapeers. Ultrapeers indekserer innholdet til klientene de er tilknyttet og svarer på søk, inkludert kundenes dokumenter.

Søkeforespørslene mottatt av ultrapeers blir bare videresendt til de andre ultrapeers. Så en klient som spør etter en ultrapeer, kan søke på 30 andre klienter med ett enkelt spørsmål. Hvis forespørselen overføres til de 30 andre ultrapeers som den er koblet til, når søket innholdet på 900 klienter ... Et annet viktig poeng, klientene mottar ikke lenger søkeforespørsler, vi sier at de er beskyttet (skjermet) av sine ultrapeer. Dette gjør det også mulig for brukere som er koblet til Internett i lav hastighet å kunne bruke Gnutella uten å redusere ytelsen.

GJETT

GUESS (Gnutella UDP Extension for Scalable Searches) gjør det mulig for ark å kontrollere antall ultrapeers spørsmål og dermed redusere båndbredden som brukes.

For å tilfredsstille et søk på populære ord, er det nødvendig å spørre noen få ultrapeers for å oppnå et tilfredsstillende antall resultater. Tvert imot krever forskning på knappe ressurser å intervjue et stort antall voldtektsmenn.

Med flommekanismen er det ikke mulig å effektivt kontrollere antallet ultrapeers spørsmål. Løsningen foreslått av GUESS er å la søkeinitiatoren fortløpende forhøre et sett med ultrapeers til han oppnår et tilfredsstillende antall resultater.

GWebCache

GWebcache fungerer som et skript installert på en webserver, ment å tillate Gnutella-klienter å hente en liste over Gnutella-noder som det er mulig å koble til. Når serverne kobler seg til Gnutella-nettverket for første gang, kjenner ikke serverne noen andre servere å koble til. Dette trinnet er kjent som bootstrap .

GWebCaches er tilgjengelige via en URL- adresse og bruker HTTP-protokollen ( rudimentære HTTP-servere ).

GWebcache-protokollen spesifiserer to typer forespørsler:

Serveren opprettholder en begrenset liste over IP-adresser til ultrapeers og GWebCaches URL-er og beholder bare det siste mottatt. Dette sikrer at adressene til ultrapeers og GWebCaches som returneres til en klient alltid er friske og derfor har en god sjanse for fortsatt å være tilgjengelig.

Gnutella2

Gnutella2 (også kalt G2): Til tross for navnet er det ikke en etterfølger av Gnutella-protokollen, det er en " gaffel " (gaffel, avvik) initiert i 2002. Et kontroversielt punkt med mange utviklere av Gnutella er at navnet " Gnutella2 "gjenspeiler en oppgradering eller overlegenhet, noe som har ført til en" flammekrig Gnutella2 ". Annen kritikk er bruken av Gnutella-nettverket for G2 peer priming, og den dårlige dokumentasjonen av G2-protokollen.

Gnutella2 ble utviklet av Michael Stokes ( Shareasas originale programmerer ). Det tar noen funksjoner i Gnutella, for eksempel den opprinnelige tilkoblingen, men den har en topologi, samt en helt annen søkealgoritme.

Programvare

Mange P2P-filutvekslingssystemer implementerer denne protokollen, inkludert:

Merknader og referanser

  1. For mer informasjon om Free Software Foundation perspektiv på Gnutella se http://www.gnu.org/philosophy/gnutella.html
  2. http://rfc-gnutella.sourceforge.net/src/rfc-0_6-draft.html
  3. (i) Ernesto Van der Sar, "  FrostWire 'Kills' to Go All Gnutella BitTorrent  "torrentfreak.com , FT Publishing ,27. juni 2011(åpnet 27. september 2020 ) .
  4. http://qtella.sourceforge.net
  5. (in) "  WireShare  "SourceForge (åpnet 27. september 2020 ) .

Vedlegg

Relaterte artikler

Eksterne linker