Hlavní navigace

Peer to peer sítě od A do Z: Direct Connect

15. 8. 2008
Doba čtení: 9 minut

Sdílet

 Autor: 29
Výměnná síť Direct Connect sice stále patří mezi velice populární zdroje pro stahování a upload souborů, ale rozhodně ne mezi ty technicky vyspělé. Úbytek jejích uživatelů je patrný i na českých hubech.

Direct connect vznikl v roce 2001 díky týmu Neomodus a měl sloužit pro zjednodušení komunikace a výměny dat mezi zaměstnanci různých firem. Časem přestal být pouze pomocníkem ve firmách, začal se rozšiřovat a vznikaly kolem něj různé komunity. Počátek DC byl tedy na světě. Pak přišla, jak už u P2P bývá zvykem, RIAA a Neomodus se raději sítě vzdal a nechal jí na pospas komunitě, než by se nechal tahat po soudech. Hlavní role se ujal programátor Jack Sieka a vytvořil klienta DC++, který patří mezi oblíbené dodnes. Za nejlepšího klienta je dnes považován Strong DC++ od českého autora vystupujícího pod přezdívkou Big Muscle. Ten přinesl jednu zásadní funkci, kterou je segmentové stahování. Soubor je rozdělen na několik menších částí a ty jsou pak stahovány samostatně. Tedy nic co by nebylo známo v jiných sítích.

Strong

Revoluční klient Strong DC++, který jako první přinesl segmentové stahování

DC se řadí mezi částečně centralizované sítě, uživatelé se tedy připojují na servery nazvané huby, které umožňují hledání a chatování. Protokol Direct Connect je textově založený protokol, příkazy a informace se tedy šíří formou čistého textu, bez jakéhokoli šifrování. Většina hubů pak funguje na defaultním portu 411, porty však mohou být libovolné. Pro provoz hubu je pak nutný tzv. hubsoft, v současnosti se používá hned několik z nich.

Open DChub

Dnes již zastaralý projekt psaný v jazyce C, poslední verze byla vydána 6. listopadu 2003. 23. ledna 2006 vývojáři uvedli, že pracují na nové verzi – 0.8.0 – ale do dnešní doby nic nevyšlo. Tento hubsoft k provozu vyžadoval silné PC a silnou linku a utáhl pouze málo uživatelů. Byl však jedním z prvních hubsoftů a pomohl tak v komunitě DC hlavně v začátcích.

Xhub

Xhub je hubsoft běžící na operačním systému Linux i Windows. Je napsaný v programovacím jazyce C++ a jeho autorem je Tomáš Jedrzejek, známý v DC scéně pod přezdívkou ZeXx86. Xhub je velice nenáročný na HW a k „rozjezdu“ hubu stačí (prý) počítač se 16 MB RAM, 1 MB volného místa na disku. Celkově je tento hubsoft velice málo používaný a osobně jsem se setkal zhruba se třemi huby na tomto hubsoftu.

YnHub

Hlavními autory tohoto hubsoftu jsou Yoshi (hl. programátor) a Nev (defato poradce). Dávno předávno existoval Nevův DC projekt nazvaný ASH. K tomuto projektu byl přizván právě Yoshi. Projekt ASH zavedl hodně způsobů, jak ušetřit přenosovou kapacitu linky. V době, kdy již byla na světě spustitelná verze ASH, vznikla také kvalitní verze hubsoftu PtokaX, jejíž jádro dokázalo zpracovat winsocks daleko lépe než ASH. Proto byl na přelomu jara a léta 2003 vývoj ASH ukončen. ASH byl tvořen s cílem nahradit starý NMDC hubosft, což také splnil. Časem si Yoshi pohrával s dalším, novým jádrem a zjistil, že by se mohl vyrovnat PtokaXu ve výkonnosti. Tento hubsoft poté nazval YHub. Poté Yoshi z nedostatku času a ze ztráty motivace vývoj na čas přerušil. Následně však přerušil školu, opustil přítelkyni a začal s Nevem pracovat jako programátor. Vzniklo další nové jádro, další nové nápady a YnHub byl na světě. Hubsoft běží pod Windows a k ukládání dat využívá buď MySQL databázi nebo XML soubory, v současnosti jej používá asi nejznámější český hub Bestofallhub.com.

PtokaX

Za tímto hubsoftem stojí dva čeští autoři známí pod přezdívkami PPK a Ptaczek. Začátkem května roku 2002 byl PtokaX vytvořen jako promyšlený, na vlastnosti bohatý, stabilní a postupem času i dosti používaný hubsoft. Je napsán v programovacím jazyce C++ jako alternativa k Neo-Modus Direct Connect Hub napsaném ve Visual Basicu. PtokaX jako první svého druhu implementoval do svého jádra ultra-rychlý skriptovací LUA engine. Brzy poté bylo založeno fórum, ve kterém se střetávají stovky skripterů, uživatelů a ostatních lidí podílejících se na vývoji DC sítě a hubsoftu PtokaX. Cílem autorů je vytvořit hubsoft, který lze provozovat na obyčejném domácím PC, bez větší náročnosti na linku či na HW počítače. Toto se autorům zatím daří a domácí provoz menšího „domácího“ hubu není problém.

Lua je odlehčený procedurální programovací jazyk navržený jako skriptovací jazyk s rozšířitelnou sémantikou a je přímo určen pro rozšíření funkcionality aplikace napsané v jazyku C nebo C++. Syntaxe jazyka je podobná Pascalu, na rozdíl od Pascalu je ale mocnější. Především dovoluje dynamicky definovat nové funkce. Název je odvozen z portugalského slova pro měsíc.
Ptokax

Takto vypadá jednoduché rozhraní hubsoftu PtokaX

Verlihub

Tento hubsoft je napsán v programovacím jazyce C++ a jeho autorem je český programátor Daniel Stodulka, který na Internetu používá přezdívku Verliba. Prvním podmětem k napsání tohoto hubosftu se stal operátor Jaaa z českého hubu CZPRO, který oslovil tehdy pětadvacetiletého Verlibu potom, co napsal Verlibota (jednoduchý DC klient psaný v Perlu). Verliba byl v té době v C++ úplný začátečník a měl pouze jednu zkušenost se síťovými aplikacemi. Ve světě mezitím byly huby s 500 – 600 uživateli, které ale pořádně lagovaly i na výkonných serverech. Český hub CZPRO s tisícovkou uživatelů byl v té době zřejmě největším hubem vůbec. A tehdy, přibližně v posledním kvartálu roku 2003, začal Verliba psát svůj Verlihub. Brzy potom přišel s velice jednoduchou a rychlou verzí hubsoftu. Tento hubsoft byl testován na hubu CZPRO, který velmi brzy překročil hranici tisíce uživatelů. O rok později už to bylo více jak 10 000 uživatelů. Verlihub je v dnešní době (2008) nejpoužívanějším hubsoftem v síti DC. Většina hubů je provozována právě na tomto hubsoftu. Tento hubsoft je provozován pod operačním systémem Linux a využívá databáze MySQL. Je pro něho vytvořena spousta užitečných skriptů, které tvoří různé doplňující funkce. V dnešní době se pak Verlihub řadí mezi světově nejpoužívanější Hubsofty.

Připojení na hub a hledání souborů

Hubů je dnes nepřeberné množství a ty veřejné se nachází v tzv. hublistech (např. hublist.dc-hub.eu). Při připojování do sítě nejdříve naváže hub s klientem TCP spojení a pošle mu zprávu se základními informacemi o hubu. Klient se ohlásí a doptává se ještě na některé specifické informace. Poté, co mu hub odpoví, odešle klient na hub informace o sobě, tedy něco ve smyslu $MyINFO $ALL [CZ]Lupa. A{A}Ajaj<++ V:0.699,M:A,H:1­/0/0,S:10>$ $LAN(T1) $11194400585$ a příkazem $GetNickList si ještě vyžádá seznam uživatelů na hubu. Hub poté ještě odesílá svůj název a seznam podporovaných uživatelských příkazů.

Uživatelé se v DC rozdělují na dvě skupiny, aktivní a pasivní. Aktivní mají veřejnou IP adresu nebo alespoň přesměrované porty, pasivní jsou pak uživatelé tzv. za NATem. Hledání souborů je zajišťováno přes hub a je také rozděleno na aktivní a pasivní. Při aktivním hledání odesílá klient na hub zprávu ve formátu $Search 85.71.30.23:918 F?T?0?1?hleda­ny$soubor|. Hub tuto zprávu odešle všem připojeným uživatelům, a pokud jejich klient najde soubor ve sdílení, informuje o tom IP adresu uvedenou ve zprávě. Pasivní hledání probíhá podobně, ale s tím rozdílem, že klient se souborem se neozývá rovnou na danou IP, ale posílá opět přes hub a zpráva vypadá nějak takto $Search Hub:prezdivka_u­zivatele F?T?0?1?hleda­ny$soubor|.

Hledání souborů tedy není moc dokonalé a huby jsou tak vytěžovány zejména hledáním. Uvedu příklad, hub má 5000 uživatelů a každý stahuje 5 souborů. Pro tyto soubory hledá klient automaticky alternativy, dejme tomu každou minutu pro jeden soubor. Hub tak musí obsloužit za jednu minutu 5000 příkazů na hledání, přičemž každý požadavek od jednoho klienta, odesílá všem ostatním. Vychází nám tedy výpočet 5000×5000 odeslaných požadavků za jednu minutu. Huby tak potřebují výkonný HW a silnou linku.

Osobně jsem se setkal s nejvíce 14 700 uživateli na hubu (DVD club nebo Extreme DVD). Ten běžel na 100 MBit lince a na HW Intel Pentium dual core 3,4 GHZ s 2GB Ram. Výsledku bylo také dosaženo díky vysokým intervalům pro hledání (tj. že uživatel mohl hledat např. pouze jednou za 10 minut). Maximum uživatelů v této síti je tedy dost omezeno právě díky hledání fungujícímu přes hub.

Na hubu je provozován i chat, který je však zanedbatelnou položkou co se týče nároků na provoz hubu, ale nezanedbatelnou položkou co se týká komunity. V případě problémů se je tedy možnost se na cokoli zeptat či jen tak pokecat. Uživatelé jsou také na hubu rozděleni do několika tříd (class). Class 0 je obyčejný uživatel, 1 je registrovaný uživatel, 2 VIP, 3 OP (operátor) 4 SOP (superoperátor), 5 admin, 10 master (obvykle majitel). Kromě obyčejných uživatelů tak na chatu narazíte často na Operátory. To jsou většinou o něco zkušenější uživatelé, kteří vyhazují ty neposlušné. Mnoho OP dokáže dobře poradit, mnoho jich zas pouze velice těžce nese, že někdo může být chytřejší než oni, snaží se demonstrovat svou „sílu“ a hrozí banem. Většina OP je ve věku 15–20 a narazit na arogantního blbce zde není vůbec těžké…

Každý hub má také svá pravidla jimiž by se měl každý uživatel řídit. Týkají se zejména slušného chování na chatu a sdílení určitých souborů (falešné, dětská pornografie a podobně). OP se tedy stará ještě o to, aby se dané zakázané soubory na hubu nenacházeli. Síť DC tedy nemá žádné obrané mechanismy proti sdílení falešných souborů a jejich vymýcení tak záleží především na Operátorech.

Války hubů

Nejdůležitějším prvkem hubu je samozřejmě počet jeho uživatelů, když na něm nikdo není, hub vás nemá s kým spojit a vy nic nestáhnete. Huby si tak navzájem konkurují a někteří admini se nemají moc v lásce. Po chatu pak kolují různé pomluvy, urážky, a podobně. Před dvěma lety se na pozici největšího českého hubu neustále střídali huby dvd-club a bestofallhub (dále jen best). Ty měli mezi sebou docela veliké rozpory. Různé útoky na huby tak nebyly výjimkou, pomluvy už vůbec ne. Probíhala doslova „válka“ o každého uživatele. Best si v té době snažil držet svou kvalitu, ale na dvd tomu bylo jinak. Tam příliš nezáleželo, zda uživatel sdílí falešné/zakázané soubory, hlavně když je na hubu připojen a hub tak má více uživatelů než best. Tato rádoby taktika samozřejmě moc dlouho nevydržela počet uživatelů se snižoval. Hub měl pak ještě své vnitřní problémy a nakonec byl přesunut a přejmenován na dvd-hub. Jeho tehdejší admin, Lokm, jej pak i s celým svým hubhostingem prodal, protože na jeho provoz již neměl finance. Best v té době dosahoval hranice kolem 10 tis. uživatelů.

BRAND24

Dnes je již realita o něco jiná, české huby nedosahují takového počtu uživatelů (maxima jsou kolem 5 tis.) a ty menší často končí. Čím to? DC již dnes prostě nezažívá zlaté časy, i když je uživatelů internetu větší a větší množství, uživatelů DC ubývá. Je to způsobeno již zastaralostí protokolu DC, nedbáním na anonymitu uživatelů a celkově horším a pomalejším stahováním souborů, než je tomu v jiných sítích. Uživatelé tak utíkají od DC k lepším způsobům stahování, především k bittorentu. DC tedy upadá a kdoví jak to bude dál. Zbývá již jen čekat, zda se začne používat protokol Advanced Direct Connect a což by mohlo vdechnut síti „druhý dech“.

V příštím a zároveň posledním díle se podíváme na I2P sítě. Ty jsou obdobou klasických peer-to-peer sítí, které daleko více dbají na anonymitu.

Jste nebo byli jste uživateli DC?

Byl pro vás článek přínosný?

Autor článku

Autor je studentem univerzity Pardubice a zaměřuje se předevšim na informační technologie. Občas píše také do magazínu Slunečnice, a na svůj blog, kde se věnuje většinou hudbě.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).