Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Gnutella - Wikipedia, wolna encyklopedia

Gnutella

Z Wikipedii

Gnutella (w wymowie g jest nieme) - sieć wymiany plików komputerowych przez internet, wykorzystywana głównie do wymiany nagrań muzycznych, filmów i oprogramowania. Stanowi ona tzw. właściwą sieć peer-to-peer, ponieważ działa bez centralnego serwera. Pliki są wymieniane bezpośrednio między jej użytkownikami.

Pierwszy program kliencki został napisany przez Justina Frankla i Toma Peppera z firmy Nullsoft na początku roku 2000 r., niedługo po zakupie tej firmy przez AOL. 14 marca tego roku program ten udostępniono do pobierania z serwera firmy Nullsoft. Po przedwczesnym ogłoszeniu tego faktu w Slashdot użytkownicy już pierwszego dnia zablokowali serwery próbując pobrać tysiące kopii niedopracowego jeszcze programu. W tym czasie kod źródłowy programu nie został jeszcze opublikowany i nie wiadomo było na jakiej licencji program jest rozprowadzany.

Następnego dnia AOL zablokował ściąganie programu ze względu na obawy o prawne konsekwencje dla tego koncernu, a także zakazał Nullsoftowi kontynuowania dalszych prac nad tym programem i skonfiskował jego kod źródłowy. Mimo to projekt Gnutelli nie upadł. Po kliku dniach, protokół został odtworzony, jego kod źródłowy został ostatecznie opublikowany na licencji GNU General Public License (GPL), co otworzyło drogę do powstania programów open-source, realizujących ten protokół. Otwartość projektu i możliwość pisania i wyboru różnych programów klienckich stało się jedną z sił napędowych rozwoju tej sieci.

Sieć Gnutella jest alternatywnym w pełni rozproszonym rozwiązaniem, w odróżnieniu od w części scentralizowanych modeli sieci peer-to-peer, takich jak FastTrack (KaZaA), czy w pełni scentralizowanych takich jak Napster. Popularność sieci Gnutella znacznie wzrosła po zagrożeniu sądowym zamknięciem serwera Napster na początku 2001 roku. Ten gwałtowny wzrost popularności ujawnił ograniczenia skalowalności pierwotnej wersji protokołu. Na początku 2001, odmiany protokołu (początkowo zaimplementowane w programach klienckich closed source) pozwoliły do pewnego stopnia poprawić skalowalność. Zamiast traktować każdego z użytkowników jako klienta i serwer, niektórym z nich został przydzielony status "ultrapeer" i one udzielają odpowiedzi na zapytania i wyszukiwanie dla użytkowników przyłączonych do nich. To pozwoliło na dalszy wzrost popularności tej sieci. Pod koniec 2001 roku kliencki program Gnutelli LimeWire, który umożliwił w znacznym stopniu techniczne doskonalenie tej sieci, uzyskał status open source. W lutym 2002, Morpheus, komercyjny program wymiany plików, został przestawiony z sieci P2P FastTrack na Gnutellę, a jego zrąb został oparty na programie open-source Gnucleus.

Słowo "Gnutella" nie odnosi się do żadnego konkretnego projektu czy oprogramowania, ale otwartego protokołu używanego przez różne programy klienckie. Ponieważ powstają wciąż nowe klienty, a protokół zapewne będzie się dalej rozwijał, trudno powiedzieć czym 'Gnutella' będzie w przyszłości.

Nazwa Gnutella jest złożeniem słów GNU i Nutella. Gnutella nie należy do projektów GNU, to GNUnet jest programem rozwijanym przez GNU.

Spis treści

[edytuj] Zasada działania

Aby przedstawić działanie Gnutelli musimy sobie wyobrazić duży krąg użytkowników (nazywanych węzłami), którzy zainstalowali programy-klientów Gnutelli. Programy-klienty przy pierwszym uruchomieniu muszą włączyć się do sieci i znaleźć przynajmniej jeden z tych węzłów. Używa się do tego rozmaitych metod, między innymi uprzednio przygotowaną listę prawdopodobnie działających węzłów dołącza się do wersji instalacyjnej programu, używa się serwerów Gwebcache w Internecie lub wykorzystuje IRC. Jest prawdopodobne, że przynajmniej jeden węzeł (nazwijmy go B) będzie działał. Kiedy się z nim połączymy, węzeł B prześle węzłowi A własną listę działających węzłów. Węzeł A będzie próbował się połączyć z węzłami, których listę dostał, a także z węzłami, których adresy otrzymał z dalszych węzłów, aż osiągnie pewną pulę węzłów, go może być ustawione przez użytkownika. Klient będzie utrzymywał połączenie z tą liczbą hostów, ale utrzymuje także listę węzłów, których jeszcze nie sprawdził. (Odrzuca z listy węzły, z którymi próbował się bezskutecznie połączyć).

Gdy użytkownik A chce coś wyszukać, wysyła zapytanie do każdego z węzłów z którymi jest obecnie aktywnie połączony. Może się okazać, że niektóre z nich już się rozłączyły z siecią, w takim przypadku użytkownik A próbuje się połączyć z węzłami, które zapisał jako awaryjne. Liczba węzłów, z którymi jest połączony dany użytkownik A jest zwykle całkiem niewielka (ok. 5), więc każdy z tych węzłów przekazuje dalej to zapytanie do tych następnych węzłów, z którymi jest połączony i tak dalej. W teorii, zapytanie dotrze do w końcu dotrze do każdego z użytkowników podłączonych do sieci Gnutella.

Jeżeli zapytanie da jakieś rezultaty, węzeł, który ma dany plik kontaktuje się bezpośrednio z użytkownikiem który wydał to zapytanie (którego adres IP został zawarty w zapytaniu). Negocjują transfer plików i transfer się rozpoczyna. Jeśli więcej niż jedna kopia tego samego pliku zostaje znaleziona, wyszukujący może wykonać tzw. swarm download - ściągnięcie kawałków pliku z różnych komputerów. Powoduje to zwiększenie szybkości pobierania plików.

Gdy użytkownik A rozłącza się, program-klient zapisuje listę węzłów z którą był aktywnie połączony i listę węzłów zapasowych. Jest ona wykorzystywana przy następnym łączeniu.

W praktyce wyszukiwanie w sieci Gnutella często daje niepełne wyniki. Każdy z węzłów sieci jest zwykłym użytkownikiem Internetu, który w krótkim okresie jest online lub offline i z tego względu sieć nigdy nie jest w pełni stabilna. Przepustowość poszczególnych użytkowników jest w znacznym stopniu ograniczona, więc niektóre z żądań wyszukiwania mogą zostać przerwane zanim osiągną przeszukanie całej sieci (która zwykle wynosi średni 1 mln węzłów). W wyniku tego zapytania nigdy nie osiągną więcej niż 50% sieci.

Prawdziwą zaletą Gnutelli jest jej decentralizacja co powoduje, że tak problematyczne staje się jej wyłączenie. W odróżnieniu od Napstera, gdzie cała sieć zależała od centralnego serwera, Gnutelli nie da się wyłączyć poprzez wyłączenie któregoś z pojedynczych węzłów. Dopóki będzie przynajmniej 2 użytkowników, Gnutella będzie istnieć.

[edytuj] Cechy protokołu i jego rozszerzenia

Gnutella działa w oparciu o protokół query flooding. Przestarzała wersja 0.4 protokołu sieciowego Gnutelli wykorzystuje 5 różnych typów pakietów:

  • ping: wyszukiwanie hostów w sieci
  • pong: odpowiedź ping
  • query: wyszukiwanie plików
  • query hit: odpowiedź na zapytanie
  • push: żądanie pobrania pliku (dla użytkowników za firewallem)

Te pakiety dotyczą głównie wyszukiwania w sieci Gnutella. Przesyłanie plików odbywa się przy użyciu protokołu HTTP.

Obecnie prace nad protokołem Gnutelli protocol prowadzi GDF (Gnutella Developer Forum). Wiele rozszerzeń protokołu zostało i nadal jest tworzonych przez producentów oprogramowania i niezależnych programistów Gnutelli z GDF. Do tych rozszerzeń należą dynamiczne przekierowywanie zapytań, sumy kontrolne SHA-1, przekazywanie odpowiedzi na zapytania przez protokół UDP, wysyłanie zapytań protokołem UDP, dynamiczne zapytania protokołem TCP, transfer plików przez protokół UDP, metadane w formacie XML, source exchange a.k.a "the download mesh" i równoległe ściąganie pliku w kawałkach (tzw. swarming).

Na serwerze prac rozwojowych czyni się wysiłki, aby włączyć te rozszerzenia do specyfikacji protokołu Gnutella wersji 0.6. Standard Gnutella 0.4, chociaż jest nadal ostatnią oficjalną wersją protokołu to ponieważ wszystkie rozszerzenia funkcjonują jako propozycje zmian jest przestarzała. W rzeczywistości prawie niemożliwe jest obecnie połączenie się używając procedur inicjalizujących z wersji 0.4.

Protokół Gnutella nadal pozostaje w wersji rozwojowej i mimo prób zerwania z zagmatwaną strukturą odziedziczoną ze starej Gnutelli 0.4 i zaprojektowania nowej przejrzystej wewnętrznej architektury (zobacz Gnutella2), Gnutella nadal jest najbardziej udanym, otwartym protokołem wymiany plików.

[edytuj] Programy klienckie

Zrzut ekranowy klienta Gnutelli - Shareazy
Zrzut ekranowy klienta Gnutelli - Shareazy

Niektóre z popularnych klientów Gnutelli to:

  • Morpheus Klient Gnutelli i innych sieci p2p
  • LimeWire (w Javie niezależny od platformy), na licencji GPL open-source
  • Cabos (Windows, Mac OS X, Mac OS)
  • BearShare (Windows), program na licencji adware (niedawno została wydana wersja 6.0, lecz najlepsza jest 5 Lite ).
  • Shareaza (Windows), open-source na licencji GPL, też łączy się z sieciami Gnutella2, EDonkey2000 i BitTorrent
  • Gnucleus (Windows), open-source z kodem źródłowym w C/C++, łączy też z siecią Gnutella2
  • gtk-gnutella (Linux, Unix)
  • Acquisitionx (Mac OS X), oparty na otwartym kodzie źródłowym programu LimeWire
  • Poisoned (Mac OS X), open-source, pozwala łączyć się też z sieciami FastTrack, Ares i OpenFT
  • Mutella (Linux, Unix) klient Gnutelli działający w terminalu
  • Phex klient open source Gnutelli napisany w Javie, zobacz [1];
  • Qtella GNU/Linux gnutella client, zobacz [2]
  • Gnotella (nie rozwijany od grudnia 2001).
  • XNap (w Javie niezależny od platformy), open-source. zobacz http://xnap.sourceforge.net
  • CocoGnut (RISC OS), komercyjny klient na platformę RISC OS, zobacz [3]
  • Symella Klient Gnutelli na telefony z systemem operacyjnym Symbian [4]

[edytuj] Zobacz też

  • Freenet, który koncentruje się na anonimowości użytkowników i rozproszonym przechowywaniu plików
  • MUTE, zapewnia anonimowość użytkowników i udostępnianych treści, przekierowuje ruch w sieci w oparciu o algorytm zaadaptowany z ant-behaviour
  • servent
  • WASTE
  • Bitzi, open content katalog plików zintegrowany z niektórymi klientami Gnutelli
  • GnuFU, Gnutella For Users: Opis wewnętrznych szczegółów działania sieci podane w przystępny sposób
  • Gnutella crawler, używany do zbierania informacji w sieci Gnutella

[edytuj] Linki zewnętrzne

[edytuj] Publikacje na temat Gnutelli i wymiany plików

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com