Gnutella

Gnutella , eşler arası dosya arama ve aktarımı için merkezi olmayan bir bilgisayar protokolüdür ( P2P olarak da bilinir ). Bu hayal edilmiş 2000 tarafından Tom Pepper (tr) ve Justin Frankel şirket için programcılar sonra Nullsoft da düzenlenebilir, WinAmp .  

Gnutella protokolü 2000'li yıllarda gelişmeye devam etti ve kullanılan bant genişliğinde önemli bir azalmaya izin verdi. Geliştirmeleri arasında, Gnutella müşterilerinin diğer makinelere bağlanacaklarını merkezi olmayan bir şekilde tanımalarını sağlayan ultrapeer, GUESS ve GWebCache yönetiminden bahsedebiliriz.

Adı , protokol bir GNU projesi olmasa da ( Özgür Yazılım Vakfı , geliştiricilerden kafa karışıklığına neden olmamak için adı değiştirmelerini istemiştir) ve bununla hiçbir ilgisi olmamasına rağmen, adı GNU ve Nutella'nın daralmasından oluşur . yayılma markası .

Gnutella v0.4

Gnutella v0.4'te, her istasyon bir sunucu ve istemci görevi görür ve " hizmet  " olarak adlandırılır  (sunucu ve istemcinin kısaltması).

Her sunucu bir dizi komşuya bağlıdır. Bir arama başlatmak için, bir sunucu tüm komşularını bir arama mesajı göndererek sorgular. Komşuları da kendi komşularıyla aynı şeyi yapıyor. Kalan yeniden iletimlerin sayısını saymak için bir TTL (Yaşam Süresi) alanı arama mesajıyla ilişkilendirilir. Bu sıfır olduğunda, mesaj artık gönderilmez. Bu yayılma yöntemine sel denir.

Talebe yanıt veren dosyalara sahip sunucular, yanıtlarını (dosya adı + IP adresleri) isteği kendilerine ileten komşuya geri gönderir. Böylece yanıt, isteği başlatan sunucuya adım adım geri gider.

İsteği başlatan sunucu daha sonra, dosyanın sahibi olan sunucuya doğrudan bir indirme isteği göndererek indirilecek dosyaları seçecektir.

Bununla birlikte, bu sel, bant genişliği açısından maliyetlidir ve aramalar, merkezi ağlara ( Napster ) göre daha yavaştır .

Gnutella v0.6

2002'de yayınlandı.

Ultrapeers

Bu, LimeWire yazılımının geliştiricilerinin 2001 yılında ultrapeers sistemini önermesine yol açtı . Ultrapeerlerin (veya süperperlerin ) yönetimi , Gnutella protokolünün 0.6 versiyonunda yer almaktadır. Sunucular iki kategoriye ayrılır: iyi bağlanabilirliğe ve istemcilere (veya yaprak düğümlerine) sahip kararlı sunucular olan ultrapeers (veya superpeers). Yapraklar 3 ultrapeere tutturulur ve ultrapeerler 30 ila 45 hasta ve 30 ultrapeer kabul eder. Ultrapeers, bağlı oldukları müşterilerin içeriğini indeksler ve müşterilerinin belgeleri de dahil olmak üzere arama sorgularına yanıt verir.

Ultrapeers tarafından alınan arama talepleri sadece diğer ultrapeerlere iletilir. Dolayısıyla, bir ultrapeer'ı sorgulayan bir müşteri, tek bir sorgu ile diğer 30 istemcide arama yapabilir. İstek, bağlı olduğu diğer 30 ultrapeer'a yeniden iletilirse, araması 900 istemcinin içeriğine ulaşır ... Bir diğer önemli nokta, istemciler artık arama istekleri almıyor, ultrapeer tarafından korunduklarını (korumalı) diyoruz. . Bu aynı zamanda İnternet'e düşük hızda bağlanan kullanıcıların performanslarını düşürmeden Gnutella'yı kullanabilmelerine olanak tanır.

TAHMİN

GUESS (Ölçeklenebilir Aramalar için Gnutella UDP Uzantısı), sayfaların sorgulanan ultrapeer sayısını kontrol etmesine ve dolayısıyla kullanılan bant genişliğini azaltmasına olanak tanır.

Popüler sözcükler üzerinde yapılan bir aramayı tatmin etmek için, tatmin edici sayıda sonuç elde etmek için birkaç ultrapeeri sorgulamak gerekir. Aksine, kıt kaynaklar üzerine araştırma, çok sayıda ultrapeer ile görüşmeyi gerektirir.

Sel mekanizması ile sorgulanan ultrapeer sayısını etkin bir şekilde kontrol etmek imkansızdır. GUESS tarafından önerilen çözüm, tatmin edici sayıda sonuç elde edene kadar bir dizi ultrapeeri arka arkaya sorgulamak üzere arama başlatıcısını bırakmaktır.

GWebCache

GWebcache , Gnutella istemcilerinin bağlanmanın mümkün olduğu Gnutella düğümlerinin bir listesini almasına izin vermek için bir web sunucusuna yüklenmiş bir komut dosyası olarak çalışır . Tipik olarak, Gnutella ağına ilk kez bağlanırken, sunucular bağlanacak başka sunucuları bilmezler. Bu adım, önyükleme olarak bilinir .

GWebCaches'e bir URL adresi aracılığıyla erişilebilir ve HTTP protokolünü ( temel HTTP sunucuları ) kullanır.

GWebcache protokolü iki tür istek belirtir:

Sunucu, ultrapeers ve GWebCaches URL'lerinin IP adreslerinin sınırlı bir listesini tutar ve yalnızca en son alınanları saklar. Bu, bir istemciye iade edilen ultrapeer ve GWebCache adreslerinin her zaman yeni olmasını ve bu nedenle hala erişilebilir olma şansının yüksek olmasını sağlar.

Gnutella2

Gnutella2 (aynı zamanda G2 olarak da adlandırılır): Adına rağmen, Gnutella protokolünün halefi değildir , 2002'de başlatılan bir " çatal " (çatal, sapma) 'dır. Gnutella'nın birçok geliştiricisinin tartıştığı bir nokta da addır. Gnutella2 ", bir" alev Gnutella2 savaşına "yol açan bir yükseltme veya üstünlüğü yansıtır . Diğer eleştiriler, G2 eş hazırlaması için Gnutella ağının kullanılması ve G2 protokolünün yetersiz dokümantasyonudur.

Gnutella2, Michael Stokes ( Shareaza'nın orijinal programcısı ) tarafından geliştirilmiştir . Örneğin, ilk bağlantı gibi Gnutella'nın bazı özelliklerini alır, ancak bir topolojisi ve tamamen farklı bir arama algoritması vardır.

Yazılım

Birçok P2P dosya değişim sistemi bu protokolü uygular:

Notlar ve referanslar

  1. Özgür Yazılım Vakfı'nın Gnutella'ya bakış açısı hakkında daha fazla bilgi için bkz. Http://www.gnu.org/philosophy/gnutella.html
  2. http://rfc-gnutella.sourceforge.net/src/rfc-0_6-draft.html
  3. (in) Sar der Ernesto Van, "  FrostWire 'Öldürür' Git Tüm Gnutella BitTorrent  " üzerine torrentfreak.com , FT Yayıncılık ,27 Haziran 2011(erişim tarihi 27 Eylül 2020 ) .
  4. http://qtella.sourceforge.net
  5. (in) "  WireShare  " üzerine SourceForge (erişilen 2020 27 Eylül ) .

Ekler

İlgili Makaleler

Dış bağlantılar