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).
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ö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.
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.
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.
Hash-algoritm som används för att beräkna ID (MD4-rotsumma) för en fil:
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:
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;klarFilstorlek (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 |
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 ]|/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äkningFö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.
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 .
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.
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.
Länkar kan grupperas i samlingar för publicering på portaler .
Anonyma nätverk | |
---|---|
Fildelning |
|
Surfa på nätet | |
Remailers |
|
Budbärare |
|
Darknet | |
Sökmotorer | |
Trådlösa nätverk | |
Kryptovaluta | |
VPN |
|
Operativsystem |
URI- scheman | |
---|---|
Officiell | |
inofficiell |
Hash-funktioner | |
---|---|
generell mening | |
Kryptografisk | |
Nyckelgenereringsfunktioner | |
Kontrollnummer ( jämförelse ) | |
Hashes |
|