EDonkey2000 (webb)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 29 mars 2021; verifiering kräver 31 redigeringar .

eDonkey2000 , eDonkey , eD2k  är ett fildelningsnätverk byggt på P2P- principen baserat på applikationslagrets nätverksprotokoll MFTP . Informella namn vanliga i Runet : "åsna", "åsna" [1] nätverksanvändare - "åsnor".

Nätverket består av ett tidsvarierande antal klientprogram som körs på nätverksanvändares datorer och ett relativt litet (flera tiotal) antal servrar som interagerar med varandra enligt schemat klient-server, klient-klient etc. .

Överföring av filer på nätverket utförs från klient till klient direkt, i delar, det vill säga en nätverksklient behöver inte ha en komplett fil för att distribuera den till andra klienter. Servrar är inte involverade i fildelning.

Klienter kan antingen ladda ner delar av filer som är tillgängliga för nedladdning från andra klienter, eller ge andra klienter de delar de har tillgängliga för distribution.

Servrar, utöver vissa hjälpuppgifter, utför funktionen att söka efter publicerade (d.v.s. tillgängliga för nedladdning av andra klienter) delar av filer av klienter.

Det finns många program som är klienter till eDonkey-nätverket. De mest kända av dessa är eDonkey2000 (originalklient, stöds inte längre men fortfarande populär nuförtiden), eMule och Shareaza (de två sista programmen stöder andra protokoll tillsammans med eDonkey, men endast eDonkey är gemensamt för dem).

Filidentifiering

Filer på eDonkey-nätverket identifieras med hjälp av rot-MD4-hash av summan av MD4 -summorna av filens delar. Detta gör det möjligt att behandla filer med olika namn men samma innehåll som samma, och att skilja mellan filer med olika innehåll men samma namn.

Sök

Sökningen efter filer i eDonkey-nätverket utförs av nyckelord som ingår i filnamnen och några ytterligare egenskaper, såsom filstorlek, filändelse, bithastighet, etc. Resultatet av sökningen som returneras av servern är en lista med filnamn med en rot-MD4 som motsvarar varje namn, summan av den hittade filen, IP-adressen och porten för klienten som har minst en del av denna fil tillgänglig för nedladdning.

Varje klient är ansluten till en av nätverksservrarna. Klienten berättar för servern vilka filer den delar (dessa filer inkluderar både filer som uttryckligen delas av användaren via klientprogrammets gränssnitt och filer som klienten själv laddar ner eller redan har laddat ner från andra klienter, men inte borttagen användare från nedladdningslistan för klientprogrammet. Varje fil som laddas ner av klienten delas automatiskt så snart minst en del av den tas emot). Varje server upprätthåller en lista över alla delade filer för de klienter som är anslutna till den. När en klient söker efter något skickar den en sökförfrågan till sin huvudserver. Som svar kontrollerar servern alla filer den känner till och returnerar till klienten en lista med filer som matchar dess begäran.

Du kan söka på flera servrar samtidigt. Sådana förfrågningar och deras resultat sänds via UDP-protokollet för att minska kanalbelastningen och antalet anslutningar till servrarna. Den här funktionen är särskilt användbar om en sökning på servern som klienten för närvarande är ansluten till ger ett lågt resultat.

För att göra det lättare att hitta filer publicerar vissa webbplatser MD4-summor av filer som en ED2K-länk . Vissa av dessa webbplatser innehåller även listor över aktiva servrar för användare att uppdatera listor.

Laddar

Filnedladdningen är baserad på principerna för MFTP- applikationslagrets nätverksprotokoll och sker utan deltagande av en server. En klient som vill ladda ner en fil får information om tillgängligheten för delar av denna fil i den offentliga domänen från andra klienter med hjälp av resultaten av en sökning på servern, och ansluter till sådana klienter direkt med den mottagna IP-adressen och porten. Rot-MD4-hashsumman för filen, som också finns i sökresultaten, används för att identifiera den begärda filen. Förutom hashsumman inkluderar nedladdningsbegäran start- och slutförskjutningen för den nödvändiga delen av filen. Klienten skickar förfrågningar om att ladda ner delar av filen som saknas i den till andra klienter som har dessa delar, tills den sätter ihop en komplett fil från dessa delar. Tillgång till andra klienter oberoende så att olika delar av en fil kan laddas ner från olika klienter samtidigt, vilket påskyndar nedladdningen av filer. Vid första mottagandet av någon del av en fil, informerar nedladdningsklienten sökservern att filen är delvis tillgänglig för den för nedladdning av andra klienter. Denna egenskap hos protokollet är en av de grundläggande principerna för decentraliserade nätverk "ladda ner - distribuera" och tjänar syftet att öka antalet tillgängliga filkällor för andra klienter. När en fil tas bort från listan över nedladdningsbara filer är delar av den filen inte längre tillgängliga för nedladdning av andra klienter.

Server-till-server-anslutningar

Periodvis kommunicerar servrarna med varandra under en kort tid. Under den här sessionen skickar servern en lista över alla andra servrar som den känner till. Således upprätthåller servrarna en lista över andra aktiva servrar. När en klient ansluter till en server kan servern ge den en lista över kända servrar.

ed2k hash-algoritmen

Hash-algoritm som används för att beräkna ID (MD4-rotsumma) för en fil:

  1. Filerna är uppdelade i lika stora bitar på 9 728 000 byte (9500 KB) och resten.
  2. För varje bit beräknas en 128-bitars MD4-hashsumma.
  3. Om filstorleken är en multipel av 9 728 000 byte, det vill säga storleken på resten är 0, beräknas summan för denna tomma återstod fortfarande.
  4. Sedan kombineras alla beräknade summor till en enda array (hashlista) och MD4-hashsumman för hela denna array beräknas. Denna summa är rot-MD4-summan för filen - och en identifierare på eDonkey-nätverket.
  5. Om filstorleken är mindre än 9 728 000 byte kompileras inte hashlistan, och MD4-hashsumman för hela filen fungerar som filidentifierare.

Det finns en andra version av algoritmen för filkontrollsumma som ger ett annat resultat för filer som är en multipel av sektionsstorleken, dvs. 9 728 000 byte, 19 456 000 byte, etc. Den ursprungliga algoritmen (används i eDonkey2000 före v0.5.0) innehåller en bugg (funktion) på grund av vilken, för filer med storlekar som är multiplar av 9 728 000 byte, en tom sektionskontrollsumma läggs till. Inte alla program tar hänsyn till den här funktionen i beräkningar (till exempel tar eMule hänsyn till den, men Shareaza  gör det inte). I eDonkey2000 från v0.5.0 till v1.4.3 är denna "funktion" fixad.

Skillnaderna från den ursprungliga algoritmen är följande:

  1. Om filstorleken är mindre än eller lika med 9 728 000 byte, används MD4-summan för hela filen som identifierare.
  2. Om filstorleken är en multipel av 9 728 000 byte läggs ingen "tom" kontrollsumma till .

Skillnaderna mellan algoritmerna är så minimala (och visas först i slutet av beräkningen av summan), vilket gör det möjligt att beräkna båda summorna samtidigt - nästan utan prestandaförlust. Den andra versionen av summan för sådana "speciella" filer kan anges, till exempel i kommentarer (detta är vad avdump- programmet gör ).

Här finns till exempel kontrollsummor för filer som endast består av nollkoder för olika "varianter" av algoritmen. Du kan få dem (filer), till exempel med följande bash- kommando för unix-system:

för i i 1 2 3;gör dd om=/dev/noll av=noll$i bs=9728000 count=$i;klar
Filstorlek (byte) Den "ursprungliga" ed2k-algoritmen "Rättad" ed2k-algoritm Belopp MD5
9 728 000 fc21d9af828f92a8df64beac3357425d d7def262a127cd79096a108e7a9fc138 0a62f20c78368021785dbb79b826d26c
19 456 000 114b21c63a74b6ca922291a11177dd5c 194ee9e4fa79b2ee9f8829284c466051 d01f6501678711bdaf6ef11237117c95
29 184 000 1932517fb346b94b5fbdcab55bf92169 9a68abb94d13f1e6ea13e968279652d7 fc0548e86e6106b68ffc248d871b8c2a

ED2K-länk

Används för fildelning och publicering till portaler.

Exempel [2] :

ed2k://|fil|[Filnamn]|[Filstorlek]|[ ed2k fil hash] | h= [ AICH fil hash]| p= [ Md4 hash 1:a delen ]:[ Md4 hash 2:a delen ]:... | s= [ URL -länk till fil]|/| källor ,[ käll -IP- adress ]:[ källport ]|/

Den vanligaste är den korta formen.

ed2k://|fil|[Filnamn]|[Filstorlek]|[ ed2k filhash ]|/

h - AICH (Advanced Intelligent Corruption Handler)

Ytterligare hash för ed2k-länk. Använder mindre delar för att få en hash. Detta gör att du kan granska filen mer i detalj för att hitta och åtgärda fel, och minskar mängden data som behövs för att återställa filen.

Det rekommenderas att publicera det tillsammans med en länk, då blir det omedelbart en betrodd hash och kan användas direkt för att återställa filen. Om den inte publiceras tillsammans med länken, måste klienten skaffa samma AICH-hash från flera källor innan denna hash erkänns som tillförlitlig.

AICH-hashberäkning

För att få en hash är ett standard ed2k-block (9 728 000 byte) uppdelat i 53 delar (52 gånger 180 KB och 1 gånger 140 KB). Varje del bearbetas senare av sha1- algoritmen . Därefter passeras par av hash igen genom sha1- algoritmen tills en enda hash erhålls.

p är en uppsättning MD4 -hashar

Detta fält listar MD4 -hasharna för ed2k-blocken separerade med ett kolon ":". Tillåter dig att kontrollera delarna för en matchning, även om det inte finns något sätt att få en uppsättning hashar på annat sätt, till exempel om den enda källan till filen är en URL-länk .

s - URL- länk

Tillåter, i avsaknad av ed2k-källor, att ladda ner en fil från en URL - länk. Servrarna är vanligtvis tillgängliga hela tiden, till skillnad från ed2k-källor, som mestadels är persondatorer anslutna till Internet. På grund av detta sker den första nedladdningen från servern, och vidare distribution sker redan i ed2k-nätverket, vilket avlastar servern och ökar tillgängligheten för filen.

Länken måste vara URI -kodad innan den klistras in.

källor - källor

Låter dig ange ed2k-källor som kan konsulteras för att ladda ner filen. Detta gör det möjligt att börja ladda ner en fil utan att ansluta till ed2k-servern, helt enkelt genom att ansluta till de listade källorna direkt.

Det här fältet är bara vettigt om källan har en permanent IP- adress.

Samlingar

Länkar kan grupperas i samlingar för publicering på portaler .

Lugdunum server

  • Lugdunum-servern  är servermjukvaran för eDonkey2000-nätverket. De flesta servrar på ed2k-nätverket drivs av Lugdunum . Den är mer skalbar och effektiv än den ursprungliga MetaMachine eDonkey-servern.

Se även

Länkar

Anteckningar

  1. De informella namnen "åsna", "åsna" och "IE-åsna" kan också hänvisa till webbläsaren Microsoft Internet Explorer .
  2. länk uppdelad i rader för läsbarhet