EDonkey2000 (web)

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. március 29-én felülvizsgált verziótól ; az ellenőrzéshez 31 szerkesztés szükséges .

Az eDonkey2000 , eDonkey , eD2k  egy P2P elven épülő fájlmegosztó hálózat , amely az MFTP alkalmazási réteg hálózati protokollján alapul . A Runetben elterjedt informális nevek : "szamár", "szamár" [1] hálózati felhasználók - "szamarak".

A hálózat időnként változó számú kliens programból áll , amelyek a hálózati felhasználók számítógépein futnak, és viszonylag kevés (több tíz) számú szerverből , amelyek kliens-szerver, kliens-kliens stb. séma szerint kommunikálnak egymással. .

A hálózaton a fájlok átvitele kliensről kliensre közvetlenül, részletekben történik, vagyis a hálózati kliensnek nem kell teljes fájllal rendelkeznie ahhoz, hogy azt más klienseknek el tudja küldeni. A szerverek nem vesznek részt a fájlmegosztásban.

Az ügyfelek letölthetik a fájlok más kliensektől letölthető részeit, vagy átadhatják más klienseknek azokat a részeket, amelyek terjesztésre rendelkezésre állnak.

A szerverek egyes segédfeladatokon túlmenően azt a funkciót is ellátják, hogy a kliensek megkeresik a publikált (azaz más kliensek által letölthető) fájlrészeket.

Sok olyan program létezik, amely az eDonkey hálózat kliense. Ezek közül a leghíresebbek az eDonkey2000 (eredeti kliens, már nem támogatott, de manapság még mindig népszerű), az eMule és a Shareaza (az utolsó két program az eDonkey mellett más protokollokat is támogat, de csak az eDonkey közös náluk).

Fájl azonosítás

Az eDonkey hálózaton lévő fájlok azonosítása a fájl részei MD4 összegének gyökér MD4-kivonatával történik . Ez lehetővé teszi a különböző nevű, de azonos tartalmú fájlok azonosként történő kezelését, valamint a különböző tartalmú, de azonos nevű fájlok megkülönböztetését.

Keresés

A fájlok keresése az eDonkey hálózaton a fájlnevekben szereplő kulcsszavak és néhány további jellemző, például fájlméret, kiterjesztés, bitsebesség stb. alapján történik. A szerver által visszaadott keresés eredménye a fájlnevek listája az egyes nevekhez tartozó gyökér MD4-gyel. A talált fájl összege, annak a kliensnek az IP-címe és portja , amelynél ennek a fájlnak legalább egy része letölthető.

Minden kliens az egyik hálózati szerverhez csatlakozik. A kliens közli a szerverrel, hogy milyen fájlokat oszt meg (ezek a fájlok magukban foglalják azokat a fájlokat, amelyeket a felhasználó kifejezetten megosztott a kliensprogram felületén, valamint azokat a fájlokat, amelyeket maga az ügyfél tölt le, vagy már letöltött más kliensekről, de nem törölte a felhasználót a letöltési listáról. a kliensprogram.Minden egyes kliens által letöltött fájl automatikusan megosztásra kerül, amint annak legalább egy része megérkezik). Minden szerver vezet egy listát a hozzá kapcsolódó kliensek megosztott fájljairól. Amikor egy kliens keres valamit, keresési kérelmet küld a fő szerverének. Válaszul a szerver ellenőrzi az összes általa ismert fájlt, és visszaküldi a kliensnek a kérésének megfelelő fájlok listáját.

Egyszerre több szerveren is kereshet. Az ilyen kéréseket és azok eredményeit az UDP protokollon keresztül továbbítják , hogy csökkentsék a csatornaterhelést és a szerverekhez fűződő kapcsolatok számát. Ez a szolgáltatás különösen akkor hasznos, ha azon a kiszolgálón végzett keresés, amelyhez az ügyfél éppen csatlakozik, alacsony eredményt ad.

A fájlok könnyebb megtalálása érdekében egyes webhelyek MD4 fájlösszegeket tesznek közzé ED2K hivatkozásként . Ezen webhelyek némelyike ​​az aktív kiszolgálók listáját is tartalmazza, hogy a felhasználók frissíthessék a listákat.

Betöltés

A fájlletöltés az MFTP alkalmazási réteg hálózati protokolljának elvein alapul, és szerver részvétele nélkül történik. A fájlt letölteni kívánó kliens a kiszolgálón végzett keresés eredményei alapján információkat szerez a fájl egyes részeinek nyilvános tartományban való elérhetőségéről, és közvetlenül csatlakozik az ilyen kliensekhez a kapott IP-cím és port segítségével. A fájl gyökér MD4 hash összege, amely szintén szerepel a keresési eredményekben, a kért fájl azonosítására szolgál. A letöltési kérés a hash összegen kívül tartalmazza a fájl szükséges részének kezdő és záró eltolását. Az ügyfél kéréseket küld a fájl hiányzó részeinek letöltésére más ügyfeleknek, amelyek rendelkeznek ezekkel a részekkel, mindaddig, amíg össze nem állít egy teljes fájlt ezekből a részekből. Más kliensek önálló elérése, hogy egy fájl különböző részeit egyszerre le lehessen tölteni különböző kliensekről, felgyorsítva a fájlletöltést. A fájl bármely részének első kézhezvételekor a letöltő kliens tájékoztatja a keresőkiszolgálót, hogy a fájl részben elérhető más ügyfelek számára letöltés céljából. A protokoll ezen tulajdonsága a decentralizált hálózatok "letöltés - terjesztés" egyik alapelve, és azt a célt szolgálja, hogy növelje a többi kliens számára elérhető fájlforrások számát. Ha egy fájlt eltávolítanak a letölthető fájlok listájáról, a fájl egyes részei többé nem tölthetők le más ügyfelek számára.

Szerver-szerver kapcsolatok

Időnként a szerverek rövid ideig kommunikálnak egymással. A munkamenet során a szerver, bejelentve a létezését, elküldi az összes többi, számára ismert szerver listáját. Így a szerverek listát vezetnek a többi aktív szerverről. Amikor egy kliens csatlakozik egy szerverhez, a szerver megadhatja neki az ismert szerverek listáját.

Az ed2k hash algoritmus

A fájl azonosítójának (MD4 gyökérösszegének) kiszámításához használt hash algoritmus:

  1. A fájlok egyenlő arányú, 9 728 000 bájtos (9500 KB) darabokra vannak felosztva, a fennmaradó részekre.
  2. Minden darabhoz egy 128 bites MD4 hash összeg kerül kiszámításra.
  3. Ha a fájl mérete 9 728 000 bájt többszöröse, azaz a maradék mérete 0, akkor ennek az üres maradéknak az összege továbbra is kiszámításra kerül.
  4. Ezután az összes kiszámított összeget egyetlen tömbbe (hash listába) egyesítjük, és kiszámítjuk ennek a teljes tömbnek az MD4 hash összegét. Ez az összeg a fájl gyökér MD4 összege - és egy azonosító az eDonkey hálózaton.
  5. Ha a fájl mérete kisebb, mint 9 728 000 bájt, akkor a hash lista nem kerül összeállításra, és a teljes fájl MD4 hash összege szolgál fájlazonosítóként.

Létezik a fájl-ellenőrző összeg algoritmus egy második verziója, amely eltérő eredményt ad a szakaszméret többszörösére, azaz 9 728 000 bájtra, 19 456 000 bájtra stb. egy hiba (szolgáltatás), amely miatt a 9 728 000 bájt többszörösét meghaladó fájlok esetén egy üres szakasz-ellenőrző összeg kerül hozzáadásra. Nem minden program veszi figyelembe ezt a funkciót a számítások során (az eMule például figyelembe veszi, a Shareaza  viszont nem). Az eDonkey2000-ben a v0.5.0-tól a v1.4.3-ig ez a "funkció" javítva van.

Az eredeti algoritmustól való eltérések a következők:

  1. Ha a fájl mérete kisebb vagy egyenlő , mint 9 728 000 bájt, akkor a teljes fájl MD4-es összege lesz azonosító.
  2. Ha a fájl mérete 9 728 000 bájt többszöröse, akkor a rendszer nem ad hozzá "üres" ellenőrző összeget .

Az algoritmusok közötti különbségek olyan minimálisak (és csak az összeg számításának végén jelennek meg), ami lehetővé teszi mindkét összeg egyidejű kiszámítását - szinte teljesítményveszteség nélkül. Az ilyen "speciális" fájlok összegének második verziója például megjegyzésekben adható meg (az avdump program ezt teszi ).

Itt vannak például az algoritmus különböző „változataihoz” tartozó fájlok ellenőrző összegei, amelyek csak nulla kódokból állnak. Ezeket (fájlokat) például a következő bash paranccsal szerezheti be unix rendszerekhez:

i-nek 1 2 3-ban;do dd ha=/dev/nulla of=nulla$i bs=9728000 count=$i;kész
Fájlméret (bájt) Az "eredeti" ed2k algoritmus "Javított" ed2k algoritmus Mennyiség MD5
9 728 000 fc21d9af828f92a8df64beac3357425d d7def262a127cd79096a108e7a9fc138 0a62f20c78368021785dbb79b826d26c
19 456 000 114b21c63a74b6ca922291a11177dd5c 194ee9e4fa79b2ee9f8829284c466051 d01f6501678711bdaf6ef11237117c95
29 184 000 1932517fb346b94b5fbdcab55bf92169 9a68abb94d13f1e6ea13e968279652d7 fc0548e86e6106b68ffc248d871b8c2a

ED2K link

Fájlmegosztásra és portálokon való közzétételre használható.

[2] példa :

ed2k://|file|[Fájlnév]|[Fájlméret]|[ ed2k fájl hash] | h= [ AICH fájl hash]| p= [ Md4 hash 1. rész ]:[ Md4 hash 2. rész ]:... | s= [ URL hivatkozás a fájlra]|/| források ,[ forrás IP - címe ]:[ forrásport ]|/

A leggyakoribb a rövid forma.

ed2k://|file|[Fájlnév]|[Fájlméret]|[ ed2k fájl hash ]|/

h - AICH (Advanced Intelligent Corruption Handler)

További hash az ed2k linkhez. Kisebb részeket használ a hash eléréséhez. Ez lehetővé teszi a fájl részletesebb vizsgálatát a hibák megtalálása és kijavítása érdekében, valamint csökkenti a fájl visszaállításához szükséges adatok mennyiségét.

Javasoljuk, hogy egy hivatkozással együtt tegye közzé, akkor azonnal megbízható hash lesz, és azonnal használható a fájl visszaállítására. Ha nem teszik közzé a hivatkozással együtt, akkor az ügyfélnek ugyanazt az AICH-kivonatot kell beszereznie több forrásból, mielőtt a hash megbízhatónak minősül.

AICH hash számítás

A hash eléréséhez egy szabványos ed2k blokkot (9 728 000 bájt) 53 részre osztanak (52 x 180 KB és 1 x 140 KB). Az egyes részeket később az sha1 algoritmus dolgozza fel . Ezután a hash-párok ismét áthaladnak az sha1 algoritmuson , amíg egyetlen hash-t nem kapunk.

p az MD4 hashek halmaza

Ez a mező felsorolja az ed2k blokkok MD4 -kivonatait, kettősponttal ":" elválasztva. Lehetővé teszi a részek egyezésének ellenőrzését, még akkor is, ha más módon nem lehet kivonatokat szerezni, például ha a fájl egyetlen forrása egy URL-hivatkozás .

s - URL link

Lehetővé teszi az ed2k források hiányában a fájl letöltését egy URL hivatkozásról. A szerverek általában mindig elérhetőek, ellentétben az ed2k forrásokkal, amelyek többnyire az internetre csatlakozó személyi számítógépek. Ennek köszönhetően a kezdeti letöltés a szerverről történik, a további terjesztés pedig már az ed2k hálózatban történik, ami tehermentesíti a szervert és növeli a fájl elérhetőségét.

A hivatkozásnak beillesztés előtt URI -kódoltnak kell lennie .

források - források

Lehetővé teszi az ed2k források megadását, amelyekből le lehet tölteni a fájlt. Ez lehetővé teszi a fájl letöltésének megkezdését anélkül, hogy csatlakozna az ed2k szerverhez, egyszerűen a felsorolt ​​forrásokhoz való közvetlen csatlakozással.

Ennek a mezőnek csak akkor van értelme, ha a forrás fix IP - címmel rendelkezik.

Gyűjtemények

A hivatkozások gyűjteményekbe csoportosíthatók a portálokon való közzététel céljából .

Lugdunum szerver

  • A Lugdunum szerver az eDonkey2000 hálózat  szerverszoftvere . Az ed2k hálózat legtöbb szerverét a Lugdunum üzemelteti . Skálázhatóbb és hatékonyabb , mint az eredeti MetaMachine eDonkey szerver.

Lásd még

Linkek

Jegyzetek

  1. A „szamár”, „szamár” és „IE szamár” nem hivatalos nevek a Microsoft Internet Explorer böngészőre is utalhatnak .
  2. sorokra bontott link az olvashatóság kedvéért