eDonkey2000 , eDonkey , eD2k je síť pro sdílení souborů postavená na principu P2P založeném na síťovém protokolu aplikační vrstvy MFTP . Neformální názvy běžné v Runetu : "osel", "oslík" [1] síťoví uživatelé - "osli".
Síť se skládá z časově proměnlivého počtu klientských programů , které běží na počítačích síťových uživatelů, a relativně malého (několika desítek) počtu serverů , které spolu interagují podle schématu klient-server, klient-klient atd. .
Přenos souborů v síti se provádí z klienta na klienta přímo, po částech, to znamená, že síťový klient nemusí mít úplný soubor, aby jej mohl distribuovat dalším klientům. Servery nejsou zapojeny do sdílení souborů.
Klienti si mohou buď stáhnout části souborů dostupných ke stažení z jiných klientů, nebo poskytnout jiným klientům části, které mají k dispozici pro distribuci.
Servery, kromě některých pomocných úkolů, plní funkci vyhledávání publikovaných (tj. dostupných ke stažení jinými klienty) částí souborů klienty.
Existuje mnoho programů, které jsou klienty sítě eDonkey. Nejznámější z nich jsou eDonkey2000 (původní klient, již nepodporovaný, ale v dnešní době stále populární), eMule a Shareaza (poslední dva programy podporují spolu s eDonkey i další protokoly, ale společný je pro ně pouze eDonkey).
Soubory v síti eDonkey jsou identifikovány pomocí kořenového MD4 hashe součtu MD4 součtů částí souboru. To umožňuje považovat soubory s různými názvy, ale stejným obsahem, za stejné a rozlišovat mezi soubory s různým obsahem, ale stejným názvem.
Vyhledávání souborů v síti eDonkey se provádí pomocí klíčových slov obsažených v názvech souborů a některých dalších charakteristik, jako je velikost souboru, přípona, přenosová rychlost atd. Výsledkem vyhledávání vráceným serverem je seznam názvů souborů s kořenovým MD4 odpovídajícím každému názvu součet nalezeného souboru, IP adresy a portu klienta, který má alespoň jednu část tohoto souboru k dispozici ke stažení.
Každý klient je připojen k jednomu ze síťových serverů. Klient říká serveru, jaké soubory sdílí (tyto soubory zahrnují jak soubory explicitně sdílené uživatelem prostřednictvím rozhraní klientského programu, tak soubory, které klient sám stahuje nebo již stáhl z jiných klientů, ale neodstranil uživatele ze seznamu ke stažení klientský program. Každý soubor stažený klientem je automaticky sdílen, jakmile je přijata alespoň jedna jeho část). Každý server udržuje seznam všech sdílených souborů klientů, kteří jsou k němu připojeni. Když klient něco hledá, odešle požadavek na vyhledávání na svůj hlavní server. V reakci na to server zkontroluje všechny soubory, které zná, a vrátí klientovi seznam souborů, které odpovídají jeho požadavku.
Můžete vyhledávat na více serverech najednou. Tyto požadavky a jejich výsledky jsou přenášeny protokolem UDP, aby se snížilo zatížení kanálu a počet připojení k serverům. Tato funkce je užitečná zejména v případě, že hledání na serveru, ke kterému je klient aktuálně připojen, vrací nízký výsledek.
Aby bylo hledání souborů snazší, některé webové stránky publikují MD4 součty souborů jako odkaz ED2K . Některé z těchto stránek také obsahují seznamy aktivních serverů, které uživatelé mohou aktualizovat.
Stahování souboru je založeno na principech síťového protokolu aplikační vrstvy MFTP a probíhá bez účasti serveru. Klient, který si přeje stáhnout soubor, získá informace o dostupnosti částí tohoto souboru ve veřejné doméně od jiných klientů pomocí výsledků vyhledávání na serveru a připojí se k takovým klientům přímo pomocí obdržené IP adresy a portu. Kořenový MD4 hash součet souboru, který je také obsažen ve výsledcích vyhledávání, se používá k identifikaci požadovaného souboru. Kromě součtu hash obsahuje požadavek na stažení počáteční a koncový offset požadované části souboru. Klient posílá požadavky na stažení částí souboru, které v něm chybí, jiným klientům, kteří tyto části mají, dokud z těchto částí nesestaví úplný soubor. Nezávislý přístup k ostatním klientům, takže různé části souboru lze stahovat z různých klientů současně, což urychluje stahování souborů. Po prvním přijetí jakékoli části souboru stahující klient informuje vyhledávací server, že soubor je pro něj částečně dostupný ke stažení jinými klienty. Tato vlastnost protokolu je jedním ze základních principů decentralizovaných sítí „stahovat – distribuovat“ a slouží ke zvýšení počtu dostupných zdrojů souborů pro další klienty. Když je soubor odebrán ze seznamu souborů ke stažení, části tohoto souboru již nebudou k dispozici ke stažení jinými klienty.
Servery spolu pravidelně po krátkou dobu komunikují. Během této relace server oznámí svou existenci a odešle seznam všech ostatních serverů, které jsou mu známy. Servery tedy udržují seznam dalších aktivních serverů. Když se klient připojí k serveru, server mu může poskytnout seznam známých serverů.
Algoritmus hash používaný k výpočtu ID (kořenového součtu MD4) souboru:
Existuje druhá verze algoritmu kontrolního součtu souborů, která dává jiný výsledek pro soubory, které jsou násobkem velikosti oddílu, tj. 9 728 000 bajtů, 19 456 000 bajtů atd. Původní algoritmus (používaný v eDonkey2000 před v0.5.0) ) obsahuje chyba (funkce), kvůli které je u souborů s velikostí, která je násobkem 9 728 000 bajtů, přidán kontrolní součet prázdné sekce. Ne všechny programy tuto funkci zohledňují ve výpočtech (například eMule ji bere v úvahu, ale Shareaza nikoli). V eDonkey2000 od v0.5.0 do v1.4.3 je tato "funkce" opravena.
Rozdíly oproti původnímu algoritmu jsou následující:
Rozdíly mezi algoritmy jsou tak minimální (a objevují se až na konci výpočtu součtu), což umožňuje počítat oba součty současně - téměř bez ztráty výkonu. Druhou verzi součtu pro takové "speciální" soubory lze uvést např. v komentářích (to dělá program avdump ).
Zde jsou například kontrolní součty pro soubory sestávající pouze z nulových kódů pro různé "varianty" algoritmu. Můžete je získat (soubory) například pomocí následujícího příkazu bash pro unixové systémy:
for i in 1 2 3;do dd if=/dev/zero of=zero$i bs=9728000 count=$i;hotovoVelikost souboru (bajty) | "Původní" ed2k algoritmus | "Opravený" algoritmus ed2k | Částka MD5 |
---|---|---|---|
9 728 000 | fc21d9af828f92a8df64beac3357425d | d7def262a127cd79096a108e7a9fc138 | 0a62f20c78368021785dbb79b826d26c |
19 456 000 | 114b21c63a74b6ca922291a11177dd5c | 194ee9e4fa79b2ee9f8829284c466051 | d01f6501678711bdaf6ef11237117c95 |
29 184 000 | 1932517fb346b94b5fbdcab55bf92169 | 9a68abb94d13f1e6ea13e968279652d7 | fc0548e86e6106b68ffc248d871b8c2a |
Používá se pro sdílení souborů a publikování na portály.
Příklad [2] :
ed2k://|soubor|[název souboru]|[velikost souboru]|[ hash souboru ed2k] | h= [ hash souboru AICH ]| p= [ Md4 hash 1. část ]:[ Md4 hash 2. část ]:... | s= [ URL odkaz na soubor]|/| zdroje ,[ zdrojová IP adresa ]:[ zdrojový port ]|/Nejběžnější je krátká forma.
ed2k://|soubor|[název souboru]|[velikost souboru]|[ hash souboru ed2k ]|/Další hash pro odkaz ed2k. K získání hashe používá menší části. To vám umožní prozkoumat soubor podrobněji, abyste našli a opravili chyby, a sníží množství dat potřebných k obnovení souboru.
Doporučuje se publikovat jej spolu s odkazem, poté se okamžitě stane důvěryhodným hashem a lze jej okamžitě použít k obnovení souboru. Pokud není zveřejněn spolu s odkazem, klient bude muset získat stejný hash AICH z několika zdrojů, než bude tento hash uznán jako spolehlivý.
Výpočet hash AICHPro získání hashe je standardní blok ed2k (9 728 000 bajtů) rozdělen na 53 částí (52 x 180 KB a 1 x 140 KB). Každá část je později zpracována algoritmem sha1 . Dále jsou dvojice hashů znovu předávány algoritmem sha1 , dokud není získán jeden jediný hash.
Toto pole uvádí MD4 hashe bloků ed2k oddělené dvojtečkou ":". Umožňuje zkontrolovat shodu částí, i když neexistuje způsob, jak získat sadu hash jiným způsobem, například pokud je jediným zdrojem souboru odkaz URL .
Umožňuje, při absenci zdrojů ed2k, stáhnout soubor z odkazu URL . Servery jsou obvykle dostupné neustále, na rozdíl od zdrojů ed2k, což jsou většinou osobní počítače připojené k internetu. Díky tomu dojde k prvotnímu stažení ze serveru a další distribuce již probíhá v síti ed2k, čímž dojde k vytížení serveru a zvýšení dostupnosti souboru.
Odkaz musí být před vložením zakódován URI .
Umožňuje zadat zdroje ed2k, které lze použít ke stažení souboru. To umožňuje zahájit stahování souboru bez připojení k serveru ed2k, jednoduše připojením k uvedeným zdrojům přímo.
Toto pole má smysl pouze v případě, že má zdroj pevnou IP adresu.
Odkazy lze seskupit do kolekcí pro zveřejnění na portálech .
Anonymní sítě | |
---|---|
Sdílení souborů |
|
Procházení webu | |
Remailery |
|
Poslové |
|
Darknet | |
Vyhledávače | |
Bezdrátové sítě | |
Kryptoměna | |
VPN |
|
Operační systémy |
URI | Schémata|
---|---|
Oficiální | |
neoficiální |
Hashovací funkce | |
---|---|
obecný účel | |
Kryptografický | |
Funkce generování klíčů | |
Kontrolní číslo ( srovnání ) | |
Hashe |
|