Кіріспе

Пир-пир файлдарды бөлісу желісі

eDonkey Network (сонымен қатар eDonkey2000 желісі немесе eD2k деп те аталады) – 2000 жылы АҚШ-тың Jed McCaleb және Sam Yagan атты әзірлеушілері жасаған, негізінен серверлік, орталықтандырылмаған пир-пир файлдарды бөлісу желісі. Бұл желі пайдаланушылар арасында ірі файлдарды бөлісуге және файлдардың ұзақ мерзімді қолжетімділігін қамтамасыз етуге ең қолайлы. Көптеген бөлісу желілері сияқты, ол да орталықтандырылмаған, себебі желіде орталық хаб жоқ; сондай-ақ, файлдар орталық серверде сақталмайды, ал пайдаланушылар арасында тікелей пир-пир принципі бойынша алмасылады. Желідегі серверлік бөлік – меншік құқығына ие тегін бағдарламалық қамтамасыз ету. eD2k желісі үшін екі серверлік бағдарламалық қамтамасыз ету отбасы бар: MetaMachine-нің бастапқысы, C++ тілінде жазылған, жабық кодты және меншік құқығы бар, сонымен қатар енді қолдау көрсетілмейді; және eserver, C тілінде жазылған, сондай-ақ жабық кодты және меншік құқығы бар, бірақ тегін және бірнеше операциялық жүйелер мен компьютерлік архитектуралар үшін қолжетімді. eserver отбасы қазіргі уақытта белсенді дамуда және қолдау көрсетілуде, ал 2008 жылдан бастап барлық eD2k серверлері осы серверлік бағдарламалық қамтамасыз етуді пайдаланады. Желінің клиенттік бөлігі ретінде әрекет ететін көптеген бағдарламалар бар. Ең танымалдары – MetaMachine-нің бастапқы клиенты eDonkey2000, жабық кодты, бірақ тегін, енді қолдау көрсетілмейді, бірақ бір кезде өте танымал болған; және eMule – Visual C++ тілінде жазылған және GNU GPL лицензиясымен лицензияланған Windows үшін тегін бағдарлама. eD2k протоколы кейіннен eserver және eMule бағдарламаларының жаңа нұсқаларымен кеңейтілді, әдетте eD2k протоколының қандай жаңа мүмкіндіктерді қолдауы керектігін бірлесіп шешеді. Дегенмен, eD2k протоколы ресми түрде құжатталмаған (әсіресе қазіргі кеңейтілген күйінде), сондықтан іс жүзінде eD2k протоколы – eMule және eserver бірге жұмыс істегенде, сондай-ақ eMule клиенттері бір-бірімен қалай байланысатыны. eMule ашық кодты болғандықтан, оның коды протоколдың жұмыс істеуін саралау үшін еркін қолжетімді. eD2k протоколының кеңейтімдерінің мысалдары – «клиенттер арасындағы пир алмасу», «протоколды жасыру» және 4 гигабайттан асатын файлдарды қолдау және т.б. Басқа eD2k клиенттік бағдарламалары да уақыт өте келе осы протокол кеңейтімдерін қабылдайды. eDonkey клиенттік бағдарламалары файлдарды бөлісу үшін желіге қосылады. eDonkey серверлері клиенттер үшін байланыс хабтары ретінде қызмет етеді, бұл пайдаланушыларға желідегі файлдарды табуға мүмкіндік береді. Клиенттер мен серверлер Windows, Mac OS X, Linux және басқа Unix сияқты операциялық жүйелер үшін қолжетімді. Интернетке қосылған компьютерде eDonkey серверлік бағдарламасын іске қосу арқылы кез келген пайдаланушы желіге сервер қосуға болады. Серверлердің саны мен олардың мекенжайлары жиі өзгеретіндіктен, клиенттік бағдарламалар серверлер тізімін үнемі жаңартады.

Хаш идентификациясы

eDonkey желісіндегі файлдар файлдың MD4 хэш тізімінің MD4 түбірлік хэші арқылы бірегей анықталады. Бұл бірдей мазмұны бар, бірақ әртүрлі аттары бар файлдарды бірдей, ал әртүрлі мазмұны бар, бірақ бірдей аттары бар файлдарды әртүрлі деп санайды. Файлдар 9 728 000 байттан (9500 КиБ) тұратын толық бөліктерге және қалдық бөлікке бөлінеді, сондай-ақ әрқайсысы үшін жеке 128 биттік MD4 тексеру сомасы есептеледі. Осылайша, егер берілу қатесі анықталса, бүкіл файл емес, тек бір бөлігі ғана зақымдалады. Бұдан әрі, файлдың қалған бөлігі жүктелместен бұрын, жарамды жүктелген бөліктерді бөлісуге болады, бұл үлкен файлдарды желіде таратуды жылдамдатады. Файлдың идентификациялық тексеру сомасы бөліктердің MD4 тексеру сомаларын тізбектеп, нәтижені хэштей отырып есептеледі. Криптографиялық тұрғыдан алғанда, MD4 тексеру сомаларының тізімі – хэш тізімі, ал файлдың идентификациялық тексеру сомасы – түбірлік хэш, сондай-ақ жоғарғы хэш немесе бас хэш деп те аталады. MD4 соқтығысу шабуылдарына осал болғандықтан, қасақана пайдаланушы бірдей тексеру сомасымен екі түрлі бөлікті жасауға мүмкіндігі бар.

Іздеу

eDonkey желісі файлдарды атау бойынша, сондай-ақ өлшем, кеңейтім, бит-мөлшері және т.б. сияқты бірнеше қосымша белгілер бойынша іздеуге мүмкіндік береді. Lugdunum нұсқасы eserver (eDonkey серверлік бағдарламалық қамтамасы) "бір ЖӘНЕ екі ЖӘНЕ (үш ИЛИ төрт) ЖӘНЕ ("бес төрт үш" ИЛИ "екі бір") ЕМЕС жеті" сияқты күрделі логикалық іздеулерді қолдайды. Файл іздеуді жеңілдету үшін кейбір веб-сайттар ізделіп жатқан файлдардың тексеру сомаларын eD2k сілтемесі түрінде жариялайды. Сондай-ақ, кейбір веб-сайттарда пайдаланушылар жаңарта алатын белсенді серверлердің тізімі болады.

Тарих

2004 жылы eDonkey желісі FastTrack желісін озып, Интернеттегі ең көп қолданылатын файл алмасу желісіне айналды. Сандар сағат сайын өзгеретін болса да, 2005 жылдың ортасына қарай 100-200 сервер арқылы 500 миллионнан 2 миллиардқа дейін файл бөлісетін шамамен 2-3 миллион пайдаланушы бар деп есептеледі. Желідегі ең танымал сервер бір кезде Razorback2 болды, ол әдетте шамамен бір миллион пайдаланушыны қамтыды. 2006 жылдың 21 ақпанында Razorback2 серверлері Бельгия Федералдық полициясымен тінту жүргізіліп, тартып алынды. DonkeyServer No1 және DonkeyServer No2 қазіргі таңда бір жарым миллионнан астам пайдаланушыны біріктіреді. Дегенмен, 2007 жылдың 16 шілдесінде уақытша бұйрық шығарылғаннан кейін екі сервер де бірнеше серверлермен бірге тоқтатылды. 2007 жылы BitTorrent eDonkey желісінен басып өтіп, Интернеттегі ең көп қолданылатын файл алмасу желісіне айналды. 2009 жылы eDonkey әлі де екінші ең танымал P2P протоколы болып табылады, бірақ қарқынды түрде төмендеп бара жатыр деген хабарлама тарады.

Келесі протоколдар

eDonkey желісі қажетті өткізу қабілеті мен процессорлық / дискілік ресурстарды беруге дайын пайдаланушылар басқаратын орталық серверлерге негізделген. Мұндай серверлер жоғары трафикке ұшырауы мүмкін, демек шабуылдарға осал. Бұл мәселені шешу үшін бастапқы eDonkey клиентін әзірлеуші MetaMachine, eDonkey протоколының ізбасары ретінде Overnet-ті жасады. eMule жобасы да орталық серверлерге тәуелділікті жою үшін өз Kademlia желісін (Kad деп аталатын) құрды. Сонымен қатар, eMule таза P2P клиенттік көздерді алмасу мүмкіндігін қамтиды, бұл ‘Жоғары ID’ (яғни, кіріс eD2k қосылымдары брандмауэрмен бұғатталмаған) клиентке бастапқы сұраныстарды өңдеген бастапқы Kad немесе eD2k серверлерінен толық ажыратылғаннан кейін де, көптеген көздері бар файлдарды бірнеше күн бойы жүктеуді (және таратуды) жалғастыруға мүмкіндік береді. (eMule серверден ажырату туралы бұйрық алғанда қосымша серверлерге сұрау жасамайды). Бұл көздерді алмасу мүмкіндігі көптеген сілтемелері немесе файлдар үшін көздері (басқа клиенттер) бар файлдарға сервердегі жүктемені үштен екісіне немесе одан да көп азайтуға арналған. MetaMachine-нің бастапқы eDonkey клиенті көздерді алмасуды қолдамайды.

eDonkey 2000-ге қарсы сот іс-әрекеті

2006 жылдың 13 қыркүйегінде eDonkey2000 клиентін жасаған MetaMachine Inc. компаниясы, RIAA-ның авторлық құқықты бұзу туралы қозғайтын мүмкін сот процестерін болдырмау үшін 30 миллион доллар төлеуге келісті. Келісім шарттарына сәйкес, eDonkey бағдарламалық қамтамасын таратуды тоқтатуға, сондай-ақ бұрынғы көшірмелерін файл алмасу үшін пайдаланудың алдын алу шараларын қабылдауға міндетті.

Есекке улану

eDonkey желісінде файлдың түріне (мысалы, бейне немесе MP3) немесе кілт сөздер бойынша бөлісілген мазмұнның іздеуін және файлдар туралы ақпаратты цензуралайтын серверлер пайда болды. Сенімсіз дереккөз: date=October 2010. Бұл серверлер оларға қосылған пайдаланушылардың көп санын (1,5 миллионға дейін) көрсетеді, осылайша желідегі пайдаланушылардың жалпы санын 10–13 миллионға дейін жеткізеді; алайда, оларға қанша адамның шын мәнінде қосылғанын анықтау мүмкін емес. Мұндай серверлер көбінесе ізделіп жүрген музыкалық/бейне файлдар сияқты маскировкаланған жарнамаларды таратады.

Серверлік бағдарламалық қамтамасыз ету

eD2k желісі үшін қолданылатын негізгі серверлік бағдарламалық жасақтама Lugdunum сервері деп аталады. Ол edonkey протоколын кері инженериялау арқылы жасалды және бастапқыдан қайта құрылды. (MetaMachine eD2k серверлік бағдарламалық жасақтамасын дамытудан бас тартып, 2002 жылдың соңында Lugdunum-ға бастапқы кодын ашты, бірақ ол ешқашан қолданылмады). Сенімсіз дереккөз: date=October 2010 Lugdunum eD2k протоколын артқа қарай үйлесімділікті сақтай отырып кеңейтті. Lugdunum серверлік бағдарламалық жасақтамасы тегін, бірақ ашық кодты емес. Кодты ашпау себебі – жалған серверлерді оңай құрудың және сервердің өзіне шабуыл жасаудың алдын алу. 2007 жылдың қыркүйегінде eMule веб-сайтының форумдарында жаңа серверлік бағдарламалық қамтамасыз ету жарияланды, ол satan edonkey сервері деп аталды. Бірнеше күн бұрын eMule-дің ірі серверлері заңдық шараларға байланысты жабылғандықтан, жаңа сервер күдікпен қабылданды. Бағдарлама клиенттер туралы ақпаратты белгісіз үшінші тараптарға жіберуі мүмкін деген қорқыныш болды. Кейбір сенімді eMule әзірлеушілері satan edonkey серверінің бастапқы кодын алды және оның ішінде шпиондық код жоқ екенін мәлімдеді. Satan серверінің бағдарламалық жасақтамасы edonkey протоколын кері инженериялау арқылы жасалды. Бағдарламалық жасақтама екі нұсқада қол жетімді (C++ және Java). Satan eDonkey серверлік бағдарламалық жасақтамасы да тегін. Серверлік бөліктің Java нұсқасын 2012 жылы жазылған , мекенжайынан табуға болады.

Құралдар мен кітапханалар

libed2k: Әртүрлі платформалар үшін C++ eDonkey протоколы кітапханасы. libtorrent rasterbar-дан шабыттандырылған.