Direct Connect este o rețea parțial centralizată de partajare a fișierelor (P2P) . Rețeaua DC este formată din hub -uri , clienți DC și hublist-uri. Hub-ul oferă clientului care se conectează la acesta o listă de utilizatori conectați, posibilitatea de a utiliza căutarea și chatul avansat încorporat . Clienții DC se conectează la unul sau mai multe hub-uri și pot descărca fișiere direct de la alți utilizatori conectați la același hub. Pentru operare, se utilizează protocolul DC (NMDC), bazat pe dezvoltările NeoModus, sau protocolul ADC .
În noiembrie 1999, Jonathan Hess a fondat compania NeoModus, care a făcut bani din programul adware Direct Connect pe care l- a scris [1] . Primul client terț a fost „DClite”, care nu a acceptat pe deplin protocolul. Noua versiune de Direct Connect necesita deja o cheie de criptare simplă pentru a inițializa conexiunea, cu aceasta autorul spera să blocheze clienții terți. Cheia a fost spartă și autorul DClite a lansat o nouă versiune a programului său compatibilă cu noul software de la NeoModus. Codul DClite a fost rescris în curând și programul a fost redenumit Open Direct Connect . Printre altele, interfața sa de utilizator a devenit multi-document (MDI) și a devenit posibilă utilizarea plug-in-urilor pentru protocoalele de partajare a fișierelor (ca în MLDonkey ). De asemenea, Open Direct Connect nu a avut suport complet pentru protocol, dar a apărut sub Java . Puțin mai târziu, au început să apară și alți clienți: DCTC ( Direct Connect Text Client ), DC ++ , etc.
Protocolul Direct Connect este bazat pe text, în care comenzile și datele sunt transmise în text simplu, fără criptare. În prezent, criptarea traficului este implementată parțial și este posibilă doar în cadrul unor hub-uri. [2] Protocolul nu specifică codificarea sau fontul pentru clienți sau hub-uri.
Partea de partajare a fișierelor a protocolului se bazează pe conceptul de „slot”. Aceste sloturi corespund numărului de persoane care pot descărca de la utilizator în același timp. Numărul de sloturi este setat în client.
Protocolul TCP este utilizat pentru a vă conecta la hub și pentru a descărca fișiere . Căutarea în modul activ funcționează prin UDP . Portul implicit pentru conectarea la hub este 411.
Clientul original se numea NeoModus Direct Connect (NMDC pe scurt). În prezent, marea majoritate a utilizatorilor de rețea folosesc numeroși clienți bazați pe clientul DC++ .
Adesea, întreaga rețea poartă numele acestui client, ceea ce este o greșeală.
Clienții se conectează la unul sau mai multe servere, așa-numitele hub-uri, care servesc la căutarea fișierelor și a surselor de descărcare. Hub-urile mari au câteva mii de utilizatori în același timp în orele de vârf. [3]
Tabel de comparație al software -ului cel mai frecvent [4] [5] utilizat pentru a crea hub-uri :
Nume | Windows | linux | Alt sistem de operare | Limbaj de programare | Licență | IPv6 | Interfața cu utilizatorul | Site-ul proiectului |
---|---|---|---|---|---|---|---|---|
PtokaX | da | da | Da: FreeBSD | C++ | GPL v3 | da | grafic (Win32), consolă | www.ptokax.org |
Verlihub | Nu | da | Da: FreeBSD | C++ | GPL v2 | Nu | consolă | www.verlihub-project.org |
RusHub | da | da | Da: FreeBSD | C++ | GPL v3 | da | consolă | mydc.ru/rushub/ |
flexhub | da | da | Da: Qnap NAS; Synology NAS | Lua | GPL v3 | Nu | grafică , consolă | www.flexhub.org |
ynhub | da | Nu | Nu | necunoscut | proprietate | Nu | grafic | www.ynhub.org |
DB Hub | Nu | da | Da: FreeBSD | C | GPL | Nu | consolă | sourceforge.net |
HeXHub | da | Nu | Nu | asamblator | OSL 3.0 | Nu | grafic | nemesis.te-home.net |
Acvila | da | da | Nu | C | GPL | Nu | consolă | sites.google.com |
Eximius | da | Nu | Nu | C# | proprietate | Nu | grafic | en.rs2soft.nl |
Stupul de viperă | da | da | da | Piton | GPL v2 | Nu | consolă | code.google.com |
Nume | Windows | linux | Alt sistem de operare | Limbaj de programare | Licență | IPv6 | Interfața cu utilizatorul | Site-ul proiectului |
Teoretic, odată cu introducerea masivă a tehnologiei DHT în clienții DC, nevoia de hub-uri pentru funcționarea în rețea poate dispărea.
Hublist este un server special care colectează și stochează informații despre hub-urile active. Mulți clienți au o capacitate încorporată de a importa o listă de hub-uri dintr-un hublist. De asemenea, mulți hublist păstrează statistici și vă permit să le vizualizați printr-un browser .
De obicei, acesta specifică adresa și portul hub-ului.
Specificat ca:
dchub://[ IP sau domeniu hub ]:[ port hub ]În acest caz, nu este necesar să fie specificat portul implicit 411.
Dacă hub-ul este securizat cu SSL , legătura începe cu nmdcs:// și necesită specificarea portului, inclusiv a portului implicit.
Linkul către utilizatorul hub sau folderul utilizatorului hub arată astfel:
dchub://[ nume utilizator ]@[ IP sau domeniu hub ]:[ port hub ]/[cale fișier]/[nume fișier]După ce face clic pe un astfel de link, clientul nu numai că se va conecta la hub, ci și va descărca lista de fișiere a utilizatorului specificat în link și va selecta fișierul din acesta, a cărui cale și nume sunt, de asemenea, indicate în link.
Acest tip de link către un fișier poate fi utilizat atunci când nu este posibil să se utilizeze o legătură magnet , deoarece conținutul fișierului se poate modifica sau fișierul nu a fost încă creat.
Diferențele față de unele sisteme P2P construite pe alte protocoale ( eDonkey , Gnutella și furca sa Gnutella2 ):
Condiționat de structura rețeleiÎn practică, protocolul Direct Connect are probleme specifice care interferează parțial cu partajarea eficientă a fișierelor. Autorii clientului DC++ au dezvoltat un protocol fundamental nou pentru soluția lor, numit Advanced Direct Connect (ADC), al cărui scop este de a crește fiabilitatea, eficiența și securitatea rețelei de partajare a fișierelor. Pe 2 decembrie 2007 a fost lansată versiunea finală a protocolului ADC 1.0 [6] Protocolul continuă să evolueze și să fie suplimentat.