A Direct Connect egy részben központosított fájlmegosztó (P2P) hálózat . A DC hálózat hubokból , DC kliensekből és hublistokból áll. A hub biztosítja a hozzá csatlakozó kliens számára a csatlakoztatott felhasználók listáját, a keresés és a beépített speciális csevegés használatának lehetőségét . A DC kliensek egy vagy több hubhoz csatlakoznak, és közvetlenül letölthetnek fájlokat az ugyanahhoz a hubhoz csatlakozó többi felhasználótól. A működéshez a NeoModus fejlesztésein alapuló DC protokollt (NMDC), vagy az ADC protokollt használjuk .
1999 novemberében Jonathan Hess megalapította a NeoModus céget, amely az általa írt Direct Connect adware programból keresett pénzt [1] . Az első harmadik féltől származó kliens a "DClite" volt, amely nem támogatta teljes mértékben a protokollt. A Direct Connect új verziója már egy egyszerű titkosító kulcsot igényelt a kapcsolat inicializálásához, ezzel a szerző a harmadik féltől származó kliensek blokkolását remélte. A kulcsot feltörték, és a DClite szerzője kiadta programjának új verzióját, amely kompatibilis a NeoModus új szoftverével. A DClite kódot hamarosan átírták és a programot Open Direct Connect névre keresztelték . Többek között multi-document (MDI) lett a felhasználói felülete, és lehetővé vált a fájlmegosztó protokollok beépülő moduljainak használata (mint az MLDonkey -nél ). Az Open Direct Connect szintén nem rendelkezik teljes protokolltámogatással, de Java alatt jelent meg . Kicsit később más kliensek is megjelentek: DCTC ( Direct Connect Text Client ), DC ++ stb.
A Direct Connect protokoll szöveg alapú, amelyben a parancsok és az adatok sima szövegben, titkosítás nélkül kerülnek továbbításra. Jelenleg a forgalom titkosítása részben van megvalósítva, és csak egyes csomópontokon belül lehetséges. [2] A protokoll nem határozza meg a kódolást vagy a betűtípust az ügyfelek vagy a hubok számára.
A protokoll fájlmegosztó része a „slots” fogalmán alapul. Ezek a helyek megfelelnek azoknak az embereknek, akik egyszerre tölthetnek le a felhasználótól. A slotok száma a kliensben van beállítva.
A TCP protokoll a hubhoz való csatlakozásra és fájlok letöltésére szolgál . A keresés aktív módban UDP -n keresztül működik . A hubhoz való csatlakozás alapértelmezett portja a 411.
Az eredeti kliens neve NeoModus Direct Connect (röviden NMDC). Jelenleg a hálózati felhasználók túlnyomó többsége számos DC++ kliensen alapuló klienst használ .
Gyakran az egész hálózatot erről a kliensről nevezték el, ami tévedés.
Az ügyfelek egy vagy több szerverhez, úgynevezett hubokhoz csatlakoznak, amelyek fájlok keresésére és letöltési forrásokra szolgálnak. A nagy huboknak egyszerre több ezer felhasználójuk van csúcsidőben. [3]
A hubok létrehozásához leggyakrabban [4] [5] használt szoftverek összehasonlító táblázata :
Név | ablakok | Linux | Más operációs rendszer | Programozási nyelv | Engedély | IPv6 | Felhasználói felület | Projekt helyszíne |
---|---|---|---|---|---|---|---|---|
PtokaX | Igen | Igen | Igen: FreeBSD | C++ | GPL v3 | Igen | grafikus (Win32), konzol | www.ptokax.org |
Verlihub | Nem | Igen | Igen: FreeBSD | C++ | GPL v2 | Nem | konzol | www.verlihub-project.org |
RusHub | Igen | Igen | Igen: FreeBSD | C++ | GPL v3 | Igen | konzol | mydc.ru/rushub/ |
flexhub | Igen | Igen | Igen: Qnap NAS; Synology NAS | Lua | GPL v3 | Nem | grafika , konzol | www.flexhub.org |
ynhub | Igen | Nem | Nem | ismeretlen | szabadalmazott | Nem | grafikus | www.ynhub.org |
DB Hub | Nem | Igen | Igen: FreeBSD | C | GPL | Nem | konzol | sourceforge.net |
HeXHub | Igen | Nem | Nem | szerelő | OSL 3.0 | Nem | grafikus | nemesis.te-home.net |
Aquila | Igen | Igen | Nem | C | GPL | Nem | konzol | sites.google.com |
Eximius | Igen | Nem | Nem | C# | szabadalmazott | Nem | grafikus | en.rs2soft.nl |
Viper Hive | Igen | Igen | Igen | Piton | GPL v2 | Nem | konzol | code.google.com |
Név | ablakok | Linux | Más operációs rendszer | Programozási nyelv | Engedély | IPv6 | Felhasználói felület | Projekt helyszíne |
Elméletileg a DHT technológia egyenáramú kliensekbe történő tömeges bevezetésével megszűnhet a hubok iránti igény a hálózati működéshez.
A Hublist egy speciális szerver, amely információkat gyűjt és tárol az aktív hubokról. Sok ügyfél rendelkezik beépített lehetőséggel a hubok listájának importálására egy hublistáról. Ezenkívül sok hublista statisztikát vezet, és lehetővé teszi azok böngészőn keresztüli megtekintését .
Általában megadja a hub címét és portját.
Megadva:
dchub://[ Hub IP vagy Domain ]:[ Hub port ]Ebben az esetben az alapértelmezett 411-es portot nem kell megadni.
Ha a hub SSL -lel védett , a hivatkozás az nmdcs:// előtaggal kezdődik, és meg kell adni a portot, beleértve az alapértelmezett portot is.
A hub felhasználóra vagy a hub felhasználói mappára mutató hivatkozás így néz ki:
dchub://[ felhasználónév ]@[ Hub IP vagy tartomány ]:[ hub port ]/[fájl elérési útja]/[fájlnév]Egy ilyen hivatkozásra kattintás után a kliens nem csak a hubhoz csatlakozik, hanem letölti a linkben megadott felhasználó fájllistáját és kiválasztja benne a fájlt, amelynek elérési útja és neve is megjelenik a linken.
A fájlra mutató ilyen típusú hivatkozás akkor használható, ha nem lehetséges mágneses hivatkozás használata , mivel a fájl tartalma megváltozhat, vagy a fájl még nem jött létre.
Különbségek néhány más protokollra épülő P2P rendszertől ( eDonkey , Gnutella és Gnutella2 ) :
Hálózati struktúra által kondicionáltA gyakorlatban a Direct Connect protokollnak vannak sajátos problémái, amelyek részben akadályozzák a hatékony fájlmegosztást. A DC++ kliens szerzői megoldásukhoz egy alapvetően új protokollt fejlesztettek ki Advanced Direct Connect (ADC) néven, melynek célja a fájlmegosztó hálózat megbízhatóságának, hatékonyságának és biztonságának növelése. 2007. december 2- án megjelent az ADC 1.0 protokoll végleges verziója [6] A protokoll folyamatosan fejlődik és kiegészül.