EDonkey2000 (web)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 29. marts 2021; verifikation kræver 31 redigeringer .

eDonkey2000 , eDonkey , eD2k  er et fildelingsnetværk bygget på P2P- princippet baseret på applikationslagets netværksprotokoll MFTP . Uformelle navne almindelige i Runet : "æsel", "æsel" [1] netværksbrugere - "æsler".

Netværket består af et tidsvarierende antal klientprogrammer , der kører på netværksbrugeres computere, og et relativt lille (flere tiere) antal servere, der interagerer med hinanden i henhold til klient-server, klient-klient osv. skemaet .

Overførsel af filer på netværket udføres fra klient til klient direkte, i dele, det vil sige, at en netværksklient ikke behøver at have en komplet fil for at distribuere den til andre klienter. Servere er ikke involveret i fildeling.

Klienter kan enten downloade dele af filer, der er tilgængelige til download fra andre klienter, eller give andre klienter de dele, de har til rådighed til distribution.

Servere udfører ud over nogle hjælpeopgaver funktionen med at søge efter publicerede (dvs. tilgængelige for download af andre klienter) dele af filer af klienter.

Der er mange programmer, der er klienter til eDonkey-netværket. De mest berømte af disse er eDonkey2000 (original klient, ikke længere understøttet, men stadig populær i disse dage), eMule og Shareaza (de sidste to programmer understøtter andre protokoller sammen med eDonkey, men kun eDonkey er fælles for dem).

Filidentifikation

Filer på eDonkey-netværket identificeres ved hjælp af root MD4-hashen af ​​summen af ​​MD4 -summen af ​​filens dele. Dette gør det muligt at behandle filer med forskellige navne, men det samme indhold, som det samme, og at skelne mellem filer med forskelligt indhold, men det samme navn.

Søg

Søgningen efter filer i eDonkey-netværket udføres af nøgleord inkluderet i filnavnene og nogle yderligere karakteristika, såsom filstørrelse, udvidelse, bithastighed osv. Resultatet af søgningen returneret af serveren er en liste over filnavne med en rod-MD4 svarende til hvert navn, summen af ​​den fundne fil, IP-adressen og porten på den klient, der har mindst én del af denne fil tilgængelig til download.

Hver klient er forbundet til en af ​​netværksserverne. Klienten fortæller serveren, hvilke filer den deler (disse filer inkluderer både filer, der eksplicit deles af brugeren gennem klientprogramgrænsefladen, og filer, som klienten selv downloader eller allerede har downloadet fra andre klienter, men ikke slettet bruger fra downloadlisten af klientprogrammet. Hver fil, der downloades af klienten, deles automatisk, så snart mindst en del af den er modtaget). Hver server vedligeholder en liste over alle de delte filer fra de klienter, der er forbundet til den. Når en klient søger efter noget, sender den en søgeanmodning til sin hovedserver. Som svar tjekker serveren alle de filer, den kender, og returnerer til klienten en liste over filer, der matcher dens anmodning.

Du kan søge på tværs af flere servere på én gang. Sådanne anmodninger og deres resultater transmitteres via UDP-protokollen for at reducere kanalbelastningen og antallet af forbindelser til serverne. Denne funktion er især nyttig, hvis en søgning på den server, som klienten i øjeblikket er tilsluttet, giver et lavt resultat.

For at gøre det nemmere at finde filer udgiver nogle websteder MD4-summer af filer som et ED2K-link . Nogle af disse websteder indeholder også lister over aktive servere, så brugerne kan opdatere lister.

Indlæser

Filoverførslen er baseret på principperne for MFTP-applikationslagnetværksprotokollen og foregår uden deltagelse af en server. En klient, der ønsker at downloade en fil, indhenter information om tilgængeligheden af ​​dele af denne fil i det offentlige domæne fra andre klienter ved hjælp af resultaterne af en søgning på serveren, og opretter forbindelse til sådanne klienter direkte ved hjælp af den modtagne IP-adresse og port. Filens root MD4 hash sum, også indeholdt i søgeresultaterne, bruges til at identificere den anmodede fil. Ud over hash-summen inkluderer downloadanmodningen start- og slutoffset for den påkrævede del af filen. Klienten sender anmodninger om at downloade dele af filen, der mangler fra den, til andre klienter, der har disse dele, indtil den samler en komplet fil fra disse dele. Adgang til andre klienter uafhængigt, så forskellige dele af en fil kan downloades fra forskellige klienter på samme tid, hvilket fremskynder fildownloads. Ved første modtagelse af en hvilken som helst del af en fil informerer den downloadede klient søgeserveren om, at filen er delvist tilgængelig for den til download af andre klienter. Denne egenskab ved protokollen er et af de grundlæggende principper for decentraliserede netværk "download - distribuer" og tjener det formål at øge antallet af tilgængelige filkilder for andre klienter. Når en fil fjernes fra listen over filer, der kan downloades, er dele af den fil ikke længere tilgængelige for download af andre klienter.

Server-til-server-forbindelser

Periodisk kommunikerer serverne med hinanden i kort tid. Under denne session sender serveren, der annoncerer sin eksistens, en liste over alle andre servere, den kender. Således vedligeholder serverne en liste over andre aktive servere. Når en klient opretter forbindelse til en server, kan serveren give den en liste over kendte servere.

ed2k hash-algoritmen

Hash-algoritme, der bruges til at beregne ID (MD4-rodsum) af en fil:

  1. Filerne er opdelt i lige store bidder på 9.728.000 bytes (9500 KB) og resten.
  2. For hvert stykke beregnes en 128-bit MD4 hash sum.
  3. Hvis filstørrelsen er et multiplum af 9.728.000 bytes, dvs. størrelsen af ​​resten er 0, beregnes summen af ​​denne tomme rest stadig.
  4. Derefter kombineres alle de beregnede summer til et enkelt array (hash-liste), og MD4-hash-summen af ​​hele dette array beregnes. Denne sum er MD4-rodsummen af ​​filen - og en identifikator på eDonkey-netværket.
  5. Hvis filstørrelsen er mindre end 9.728.000 bytes, er hash-listen ikke kompileret, og MD4-hash-summen af ​​hele filen fungerer som fil-id.

Der er en anden version af filkontrolsumalgoritmen, der giver et andet resultat for filer, der er et multiplum af sektionsstørrelsen, dvs. 9.728.000 bytes, 19.456.000 bytes osv. Den originale algoritme (brugt i eDonkey2000 før v0.5.0) indeholder en fejl (funktion), på grund af hvilken, for filer med størrelser, der er multipla af 9.728.000 bytes, tilføjes en tom sektionskontrolsum. Ikke alle programmer tager højde for denne funktion i beregninger (f.eks. tager eMule højde for det, men Shareaza  gør det ikke). I eDonkey2000 fra v0.5.0 til v1.4.3 er denne "funktion" rettet.

Forskellene fra den originale algoritme er som følger:

  1. Hvis filstørrelsen er mindre end eller lig med 9.728.000 bytes, bruges MD4-summen af ​​hele filen som identifikator.
  2. Hvis filstørrelsen er et multiplum af 9.728.000 bytes, tilføjes ingen "tom" kontrolsum .

Forskellene mellem algoritmerne er så minimale (og vises først i slutningen af ​​beregningen af ​​summen), hvilket gør det muligt at beregne begge summer på samme tid - næsten uden tab af ydeevne. Den anden version af summen for sådanne "specielle" filer kan angives, for eksempel i kommentarer (det er, hvad avdump- programmet gør ).

Her er for eksempel kontrolsummer for filer, der kun består af nul koder for forskellige "varianter" af algoritmen. Du kan få dem (filer), for eksempel med følgende bash- kommando til unix-systemer:

for i i 1 2 3;gør dd hvis=/dev/nul af=nul$i bs=9728000 count=$i;færdig
Filstørrelse (bytes) Den "originale" ed2k-algoritme "Korrigeret" ed2k-algoritme Beløb MD5
9 728 000 fc21d9af828f92a8df64beac3357425d d7def262a127cd79096a108e7a9fc138 0a62f20c78368021785dbb79b826d26c
19 456 000 114b21c63a74b6ca922291a11177dd5c 194ee9e4fa79b2ee9f8829284c466051 d01f6501678711bdaf6ef11237117c95
29 184 000 1932517fb346b94b5fbdcab55bf92169 9a68abb94d13f1e6ea13e968279652d7 fc0548e86e6106b68ffc248d871b8c2a

ED2K link

Bruges til fildeling og publicering til portaler.

Eksempel [2] :

ed2k://|fil|[Filnavn]|[Filstørrelse]|[ ed2k fil hash] | h= [ AICH fil hash]| p= [ Md4 hash 1. del ]:[ Md4 hash 2. del ]:... | s= [ URL -link til fil]|/| kilder ,[ kilde- IP -adresse ]:[ kildeport ]|/

Den mest almindelige er den korte form.

ed2k://|fil|[Filnavn]|[Filstørrelse]|[ ed2k filhash ]|/

h - AICH (Advanced Intelligent Corruption Handler)

Yderligere hash til ed2k-link. Bruger mindre dele til at få en hash. Dette giver dig mulighed for at undersøge filen mere detaljeret for at finde og rette fejl og reducerer mængden af ​​data, der er nødvendig for at gendanne filen.

Det anbefales at udgive det sammen med et link, så bliver det straks en betroet hash og kan bruges med det samme til at gendanne filen. Hvis den ikke offentliggøres sammen med linket, skal klienten hente den samme AICH-hash fra flere kilder, før denne hash genkendes som pålidelig.

AICH hash beregning

For at opnå en hash er en standard ed2k-blok (9.728.000 bytes) opdelt i 53 dele (52 gange 180 KB og 1 gange 140 KB). Hver del behandles senere af sha1- algoritmen . Derefter føres par af hashes igen gennem sha1- algoritmen , indtil der opnås en enkelt hash.

p er et sæt MD4 hashes

Dette felt viser MD4 - hasherne for ed2k-blokkene adskilt af et kolon ":". Giver dig mulighed for at kontrollere delene for et match, selvom der ikke er nogen måde at få et sæt hashes på en anden måde, for eksempel hvis den eneste kilde til filen er et URL-link .

s - URL - link

Tillader, i mangel af ed2k-kilder, at downloade en fil fra et URL - link. Serverne er normalt tilgængelige hele tiden, i modsætning til ed2k-kilder, som for det meste er personlige computere forbundet til internettet. På grund af dette sker den indledende download fra serveren, og yderligere distribution sker allerede i ed2k netværket, hvilket aflaster serveren og øger tilgængeligheden af ​​filen.

Linket skal være URI -kodet, før det indsættes.

kilder - kilder

Giver dig mulighed for at angive ed2k-kilder, der kan konsulteres for at downloade filen. Dette gør det muligt at begynde at downloade en fil uden at oprette forbindelse til ed2k-serveren, blot ved at oprette forbindelse til de anførte kilder direkte.

Dette felt giver kun mening, hvis kilden har en permanent IP -adresse.

Samlinger

Links kan grupperes i samlinger til offentliggørelse på portaler .

Lugdunum server

  • Lugdunum server  er serversoftwaren til eDonkey2000 netværket. De fleste servere på ed2k netværket er drevet af Lugdunum . Den er mere skalerbar og effektiv end den originale MetaMachine eDonkey-server.

Se også

Links

Noter

  1. De uformelle navne "æsel", "æsel" og "IE-æsel" kan også referere til Microsoft Internet Explorer- browseren .
  2. link opdelt i linjer for læsbarhed