VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky. Protokoly na sdílení dat prostřednictvím internetu



Podobné dokumenty
STANDARD 3. JEDNÁNÍ SE ZÁJEMCEM (ŽADATELEM) O SOCIÁLNÍ SLUŽBU

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

účetních informací státu při přenosu účetního záznamu,

Všeobecné podmínky provozu sběrných míst kolektivního systému Eltma

Server. Software serveru. Služby serveru

Co najdete v ASPI? (pro uživatele SVI FSE UJEP)

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

Bezdrátové připojení (pouze u vybraných modelů) Uživatelská příručka

Seriál: Management projektů 7. rámcového programu

480/2004 Sb. o některých službách informační společnosti a o změně některých zákonů (zákon o některých službách informační společnosti)

Bezdrátové připojení (pouze u vybraných modelů)

KVALIFIKAČNÍ DOKUMENTACE k veřejné zakázce zadávané podle zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů

4. Počítačová síť. Co je to počítačová síť

Tisíce uživatelů v bance pracují lépe díky využití okamžitých informací o stavu kritických systémů

Všeobecné podmínky firmy Libor Vajgl Rywa Software pro poskytování telekomunikačních služeb

Poukázky v obálkách. MOJESODEXO.CZ - Poukázky v obálkách Uživatelská příručka MOJESODEXO.CZ. Uživatelská příručka. Strana 1 / 1. Verze aplikace: 1.4.

Program rovného zacházení provozovatele distribuční soustavy Pražská plynárenská Distribuce, a.s., člen koncernu Pražská plynárenská, a.s.

Pokyn D Sdělení Ministerstva financí k rozsahu dokumentace způsobu tvorby cen mezi spojenými osobami

Těhotenský test pro zrakově postižené Tereza Hyková

HD satelitní přijímač SLOTH Opticum Ultra plus

Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional

Abeceda elektronického podpisu

EXTRAKT z české technické normy

Komfortní datová schránka

Inovace výuky prostřednictvím šablon pro SŠ

M. Balíková, R. Záhořík, NK ČR 1

Seznámení žáků s pojmem makra, možnosti využití, praktické vytvoření makra.

I. Všeobecná ustanovení

FWA (Fixed Wireless Access) Pevná rádiová přípojka

Uchazečům o veřejnou zakázku

PŘIJÍMACÍ ŘÍZENÍ. Strana

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

HERNÍ PLÁN pro provozování okamžité loterie POMÁHÁME NAŠÍ ZOO - DŽUNGLE

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/

S M L O U V A O D Í L O. uzavřená podle ust a násl. zákona č. 89/2012 Sb., občanského zákoníku v platném znění II.

OBCHODNÍ PODMÍNKY SPOLEČNOSTI harna.cz s.r.o. PRO OBLAST POSKYTOVÁNÍ SLUŽEB ELEKTRONICKÝCH KOMUNIKACÍ

ORGANIZAČNÍ ŘÁD ŠKOLY

Výzva k podání nabídek (zadávací dokumentace)

WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6

Přednáška - Základy PC. Ing. Michaela Mudrochová Algoritmus individuálního vzdělávání CZ.1.07/3.1.00/

Vydání občanského průkazu

Semestrální práce Testování uživatelského rozhraní

S_5_Spisový a skartační řád

1 METODICKÉ POKYNY AD HOC MODUL 2007: Pracovní úrazy a zdravotní problémy související se zaměstnáním

PŘÍLOHA č. 2C PŘÍRUČKA IS KP14+ PRO OPTP - ZPRÁVA O REALIZACI

MOBILNÍ KOMUNIKACE STRUKTURA GSM SÍTĚ

Návrh individuálního národního projektu. Podpora procesů uznávání UNIV 2 systém

Rozšířená nastavení. Kapitola 4

R O Z S U D E K J M É N E M R E P U B L I K Y

Všeobecné obchodní podmínky Simply Events s.r.o.

Senát Parlamentu České republiky Valdštejnské náměstí 17/4 Praha 1, V Praze, 28. dubna 2016

POUČENÍ o registrech Sdružení SOLUS

Tekla Structures Multi-user Mode

Západní město Stodůlky, Administrativní dům A2 plynovod 1.etapa

INFORMACE O ZPRACOVÁNÍ KLIENTSKÝCH ÚDAJŮ

POKYNY Č. 45. Část I Zápis nové stavby jako samostatné věci

SPECIFIKACE ZADÁNÍ. 1. Identifikační údaje zadavatele. 2. Předmět veřejné zakázky malého rozsahu Základní údaje Oprávněné osoby zadavatele

HERNÍ PLÁN. pro provozování okamžité loterie ZLATÁ RYBKA

KVALIFIKA NÍ DOKUMENTACE

PRAVIDLA soutěže COOP DOBRÉ RECEPTY Jarní probuzení

HPN. projekt. s.r.o. OBEC STARÉ MĚSTO PASPORT MÍSTNÍCH KOMUNIKACÍ. katastrální území: Staré Město, Petrušov, Radišov

KOMISE EVROPSKÝCH SPOLEČENSTVÍ

SEKCE J INFORMAČNÍ A KOMUNIKAČNÍ ČINNOSTI

Ovoce do škol Příručka pro žadatele

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému.

Web n walk NÁVOD PRO UŽIVATELE. Manager

Regenerace zahrady MŠ Neděliště

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE

Návod k použití aplikace MARKETINGOVÉ PRŮZKUMY.CZ

MĚSTO BENEŠOV. Rada města Benešov. Vnitřní předpis č. 16/2016. Směrnice k zadávání veřejných zakázek malého rozsahu. Čl. 1. Předmět úpravy a působnost

OBEC HORNÍ MĚSTO Spisový řád

Co poskytuje Czech POINT

Systém elektronického zpracování údajů o výzkumných projektech a jejich hodnocení v GA AV

Všeobecné obchodní podmínky pro užívání portálu (dále též jen Dražební řád )

DATOVÉ SCHRÁNKY. Seminární práce z předmětu Information and communication policy

METODICKÝ POKYN NÁRODNÍHO ORGÁNU

Obalové hospodářství

DODATEČNÉ INFORMACE Č. 4 K ZADÁVACÍM PODMÍNKÁM VEŘEJNÉ ZAKÁZKY

Využití EduBase ve výuce 10

Návod na zřízení datové schránky právnické osoby nezapsané v obchodním rejstříku

ROSSMANN PRAVIDLA VÁNOČNÍ SOUTĚŽE

V Černošicích dne Výzva k podání nabídky na veřejnou zakázku malého rozsahu s názvem: Nákup a pokládka koberců OŽÚ.

170/2010 Sb. VYHLÁŠKA. ze dne 21. května 2010

112 LINKA TÍSŇOVÝCH VOLÁNÍ

HERNÍ PLÁN. pro provozování okamžité loterie Milionové recepty

Směrnice Rady města č. 2/2011

Pardubický kraj Komenského náměstí 125, Pardubice SPŠE a VOŠ Pardubice-rekonstrukce elektroinstalace a pomocných slaboproudých sítí

téma: Formuláře v MS Access

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

Uplatňování nařízení o vzájemném uznávání u předmětů z drahých kovů

veřejná zakázka na stavební prace s názvem: Sdružená kanalizační přípojka - Město Lázně Bělohrad

ZVLÁŠTNÍ PODMÍNKY PRO PRIVATE CLOUD (PCC) Verze ze dne

VŠEOBECNÉ OBCHODNÍ PODMÍNKY E-SHOP (Doplňující podmínky k Všeobecným smluvním podmínkám užívání služeb Národního geoportálu INSPIRE)

Bezpečné sdílení a správa dokumentů v on-line prostředí

NEJČASTĚJI KLADENÉ DOTAZY K PUBLICITĚ PROJEKTŮ OP LZZ

DODATEK Č. 2 KE SMLOUVĚ O DÍLO MKDS STŘÍBRO Č. 20/HIO/2011

Semestrální práce z NUR Uživatelské rozhraní pro automat MHD. Michal Samek (samekmic)

VŠEOBECNÉ PODMÍNKY PRO POSKYTOVÁNÍ VEŘEJNĚ DOSTUPNÝCH SLUŽEB ELEKTRONICKÝCH KOMUNIKACÍ PROSTŘEDNICTVÍM VEŘEJNÝCH TELEFONNÍCH AUTOMATŮ

Miroslav Kunt. Srovnávací přehled terminologie archivních standardů ISAD(G), ISAAR(CPF) a české archivní legislativy

Transkript:

VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Protokoly na sdílení dat prostřednictvím internetu Bakalářská práce 2006 Jindřich Šonka

Prohlašuji, že jsem tuto diplomovou práci vypracoval samostatně. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal. V Ostravě 10. května 2006.............................

Rád bych na tomto místě poděkoval všem, kteří mi s touto bakalářskou prací pomohli, protože bez nich by tato práce nevznikla.

Abstrakt Cílem této bakalářské práce bylo popsat nejběžnější protokoly pro sdílení dat prostřednictvím internetu, zjistit a zmapovat jejich vlastnosti, výhody, nevýhody a popsat všeobecnou problematiku sdílení dat. V práci jsou popsány jednotlivé programy využívající tyto protokoly. V druhé části této práce byl naimplementován program Bander, řešící výměnu dat mezi uživateli a některé problémy, se kterými se potýkají jiné p2p programy. Klíčová slova: Bander, Klient, Server, Návrhový vzor, Stanice, Port, OSI model, IP adresa Abstract The purpose of this Bachelor s Thesis was describe the most common protocols for sharing files across the Internet, discover and map their properties, advantages and disadvantages. Next point of this thesis was describe problems and dilemmas which are adherent to sharing files. In the text are described the most common programs that use this protocols. The second half of this thesis was implements program Bander, which is solving the exchange of files between users and some other problems, that other p2p programs suffers from. Keywords: Bander, Client, Server, Pattern, Workstation, Port, OSI model, IP address

Seznam použitých zkratek a symbolů Bander Program určen ke sdílení dat. Je to projekt této bakalářské práce. Stanice Myšleno jako lokální stanice, pokud není uvedeno jinak. Jedná se o váš počítač na kterém máte spuštěn program. Client Část programu která běží u vás, na vaší stanici. Zde vyvoláváte svou činností jednotlivé příkazy, které client odesílá jako požadavky na serverovou část. V češtině označován jako Klient. Server Část programu běžící na vzdálené stanici v počítačové síti. Přijímá požadavky od clienta a odesílá požadované odpovědi zpět. Návrhový vzor Při řešení aplikací v oblasti IT se ukázalo, že mnoho z nich mají společné problémy, a tedy i společná řešení. Jednotlivé návrhové vzory jsou vytvořeny pro co nejlepší jednotlivá řešení takovýchto problémů. Port Port je koncovým bodem komunikace na rozhraní mezi transportní a aplikační vrstvou OSI modelu. OSI model Open Systems Interconnection Reference Model - Také uváděn v literatuře jako OSI Reference model nebo jen OSI model. Je to model který rozděluje přenos dat po síti do 7 vrstev. IP adresa Adresa počítače v síti. Pomocí těchto adres probíhá sít ová komunikace. p2p Peer to peer - Jedná se o rovnocenné propojení dvou stanic. RIAA The Recording Industry Association of America - Organizace na ochranu autorských práv vydavatelů hudebních nahrávek. Společnost byla založena v roce 1952. MPAA Movie Picture Association of America - Společnost založena sedmi největšími filmovými studii v Americe. Organizace chrání autorská prává vydavatelů filmových nahrávek. Obdoba společnosti RIAA. DMCA The Digital Millennium Copyright Act - Zákon na autorská práva vydán ve Spojených státech amerických 28.10.1998. Zákon popisuje postih nelegální produkce a šíření souborů s autorským právem přes Internet. Vztahuje se pouze pro Spojené státy americké.

ISP Internet Service Provider - Poskytovatel připojení k internetu. leech Uživatel, který chce jen stahovat a nic přitom nesdílet. V českém ekvivalentu pijavice fake Falešný soubor. Uživatel, většinou leech, si vytvoří nesmyslný soubor velké velikosti, aby jej mohl dát do sdílení a získat tak přístup do výměnné sítě. 0

OBSAH 1 Obsah 1 Úvod 4 2 Legislativa 5 2.1 Problémy s autorskými právy.......................... 5 2.2 Očekávaný postup společností pro ochranu autorských práv........ 6 2.3 Očekávaný vývoj výměnných sítí........................ 7 3 Jednotlivé protokoly 9 3.1 Napster....................................... 9 3.2 Audiogalaxy Satellite............................... 10 3.3 Kazaa........................................ 11 3.4 Direct Connect................................... 12 3.5 edonkey 2000 a emule.............................. 14 3.6 BitTorrent..................................... 16 3.7 Gnutella...................................... 18 3.8 Přehled nejpoužívanějších klientů výměnných sítí.............. 18 4 Bander 20 4.1 Návrh........................................ 20 4.2 Popis tříd...................................... 21 5 Programátorské řešení aplikace Bander 23 5.1 Programátorské řešení Klient - Server části.................. 23 6 Dokumentace 25 6.1 Programátorská dokumentace.......................... 25 6.2 Uživatelská dokumentace............................ 25 7 Používání aplikace Bander 26 8 Závěr 32

SEZNAM OBRÁZKŮ 2 Seznam obrázků 1 Screenshot p2p klienta Napster......................... 9 2 Screenshot p2p klienta sítě Audiogalaxy - Audiogalasy Satellite...... 10 3 Screenshot p2p klienta sítě FastTrack - Kazaa................. 11 4 Screenshot p2p klienta sítě DirectConnect - strongdc++.......... 13 5 Screenshot p2p klienta sítě edonkey 2000 - emule.............. 15 6 Screenshot p2p klienta sítě bittorrent - bittorrent............... 17 7 Screenshot p2p klienta sítě Gnutella - BearShare............... 18 8 Ukázkový diagram návrhového vzoru Command.............. 20 9 Třídní diagram aplikace Bander......................... 21 10 Třídní diagram aplikace Bander......................... 24 11 Základní obrazovka aplikace Bander...................... 26 12 Nastavení Banderu................................ 27 13 Ukončení vytváření seznamu sdílených souborů............... 28 14 Ukázka stáhnutí seznamu souborů....................... 29 15 Ukázka výběru seznamu souborů........................ 30 16 Ukázka stáhnutí konkrétní položky....................... 31

SEZNAM TABULEK 3 Seznam tabulek 1 Nejpoužívanější p2p klienti........................... 19 2 Rozdělení portů.................................. 24

1 ÚVOD 4 1 Úvod Počítačové sítě, at už lokální nebo internet, jsou bezesporu obrovským zdrojem dat. A právě proto může být problémem najít přesně (ten) daný soubor, který potřebujeme. S rostoucími možnostmi a prostory počítačových sítí a internetu se také rozrůstá počet uživatelů využívajících tyto sítě. Již nestačí různé vyhledávací servery a data umístěná na webových stránkách. Výměnné sítě byly určeny převážně pro sdílení potřebných dokumentů ve firemních sítích. Už nestačilo nasdílet adresář, protože při větším počtu uživatelů začaly být sdílené adresáře plné různých dokumentů, určených ke sdílení a začalo být problémem to základní - najít ten správný dokument. Proto se začalo pracovat na výměnných sítích a protokolech pro ně určených. Klientům těchto výměnných sítí se říká p2p programy. Zkratka p2p znamená peer to peer neboli rovný s rovným. Jde o rovnocenné sít ové propojení mezi jednotlivými uživateli, kteří si navzájem sdílejí své soubory. S vývojem programů, využívajících protokoly na sdílení dat se však začaly objevovat i jiné problémy, a sice v podobě autorských práv. Vývoj nelze zastavit z velmi jednoduchého důvodu. Digitální formáty pro hudbu a film, tj. soubory, které jsou běžně přenositelné, snadno ukládatelné a všude přehrávatelné, představují o mnoho lepší a jednodušší technologii před jinými médii, že není možné, aby si nenašly cestu k uživatelům. A pokud jim to průmysl neumožní legálně, najdou si cestu nelegálně. Je jasné, že si hudební a filmoví vydavatelé musí bránit svou práci, a proto z tohoto pohledu je jejich boj proti internetovým pirátům zcela pochopitelný. Přesto je již nyní jasné, že bude třeba, aby nabídli jistou alternativu, například koupi hudebních alb přímo ve formátu mp3, což je pro uživatele příjemnější než nosit s sebou plastiková CD. Více o problematice sdílení a autorských práv bude uvedeno v příští kapitole.

2 LEGISLATIVA 5 2 Legislativa V této kapitole jsou popsány problémy týkající se výměnných sítí s autorskými právy. Dále bude uvedeno, co můžeme čekat ve vývoji výměnných sítí a v boji proti jejich nelegálnímu používání. 2.1 Problémy s autorskými právy V roce 2003 byla definitivně prohlášena za legální, přičemž to lze vztáhnout i na další sítě a RIAA nemůže získávat osobní údaje o jednotlivých uživatelích výměnných sítí. Nejvyšší soud Holandska definitivně rozhodl ve prospěch Kazaa, když prohlásil, že autoři nejsou odpovědní za to, co nabízí uživatelé na její síti. Právě kvůli tomuto soudu se ostatně Kazaa přesunula do firmy Sharman Networks se sídlem na malém tichomořském ostrůvku. Soud nevypadal příliš optimisticky a Kazaa nechtěla riskovat. Přesto soudní mašinérie přes různá odvolání dospěla až k nejvyššímu soudu, který definitivně rozhodl ve prospěch sdílení. Pro výměnné sítě to znamená především velmi solidní právní jistotu, a tak současně prostor pro přesvědčování investorů o bezpečných investicích. I kdyby toto rozhodnutí nemělo vliv na celou Evropskou unii, přispěje to minimálně ke stahování všech firem poskytujících výměnné sítě do Holandska. Trochu sporný vliv je na sítě typu edonkey (Emule) nebo Direct Connect, kde je sice sít distribuovaná, ale tvoří ji velké servery. Ty lze, a již se tak několikrát stalo, cíleně soudním rozhodnutím vypnout. Na jejich místo sice vždy nastoupí řada dalších, ale přesto je to oblast, kde je jistá spoluzodpovědnost provozovatele takového serveru v podobném smyslu, jako měl centrálně spravovaný Napster. Přes prsty rovněž dostala RIAA, když se poskytovatel připojení Verizon postavil proti žádosti o vydání identifikace svých uživatelů sdílejících skladby. RIAA pro tyto žádosti, které bývají následovány žalobami jednotlivých osob, využívá zákona DMCA, který dovoluje vlastníku copyrightu podobné informace získávat. Verizon protestoval, že RIAA překrucuje DMCA, protože to poskytuje pouze možnost trestat ISP, na jehož serverech se neoprávněně nachází copyrightem chráněný obsah, nikoli trestat uživatele takového ISP. DMCA totiž vznikl v roce 1998, kdy výměnné sítě nebyly rozšířené, a tak zákon na podobné případy nepamatoval. Soudce dal za pravdu Verizonu, že skutečně RIAA nemá právo se jakkoli dožadovat informací o jednotlivých uživatelích, byt mu nejsou snahy RIAA o ochranu autorských práv nesympatické. V podstatě ale současná podoba DMCA toto neumožňuje a bude nutné přepracování tohoto kontroverzního zákona. Přesto RIAA prohlásila, že se svého boje vzdát nehodlá a nadále půjde po těch, co chráněné soubory nabízí.

2 LEGISLATIVA 6 Ačkoli podobné půtky ohledně amerického práva nám mohou připadat směšně z pohledu jiné země, i Evropská unie připravuje podobné zákony pro účinnější ochranu autorských práv a již dnes jsou poskytovatelé zavaleni žádostmi o identifikaci uživatelů. V případě větších firem pak není problémem i bez podobných žádostí snadno dohledat identifikační údaje o takové firmě. A pochopitelně ještě nesmíme zapomínat, že když soud uzná, že provozovatel výměnné sítě neodpovídá za obsah, ještě to automaticky neznamená legalizaci jednotlivých uživatelů. Je sice možné stahovat z internetu téměř co chcete, ale nabízení copyrightem chráněných souborů trestné je, přestože bez nabízení souborů by výměnné sítě ztratily smysl. Podobná soudní rozhodnutí spíše dávají prostor firmám pro vylepšování funkcí jejich programů a pro snadnější sdílení souborů v jejich sítích. 2.2 Očekávaný postup společností pro ochranu autorských práv Co můžeme tedy s největší pravděpodobností očekávat od společností pro ochranu autorských práv v nejbližších letech? Zpřísnění ochran Zejména filmový, ale i hudební průmysl zpřísní ochrany na nosičích. Možná budou cracknuty, možná ne, každopádně se tím kopírování médií pro běžné uživatele zkomplikuje, protože ne každý uživatel má, umí si stáhnout a umí používat klonovací programy. Bude pokračovat legální válka Určitě by uživatelé sdílející data neměli počítat s tím, že se společnosti jako americká asociace nahrávacího průmyslu RIAA a za ní také americká filmová asociace MPAA snadno vzdá. Obě organizace budou hledat další legální cesty, jak především zabránit nebo uživatelům alespoň znechutit sdílení souborů. Rozšiřování prodejen digitální hudby Určitě se bude dál rozšiřovat využití internetové služby Apple itunes, přes kterou prodává Apple Computers hudbu. Podobně ambiciózní prodejnu chce vytvořit i Microsoft, možná v partnerství s dalšími firmami, pro platformu Windows. Na rozdíl od Apple bude platná i v dalších zemích a kontinentech, možná dokonce dorazí i k nám. Další využívání p2p programů Stále se budou používat nynější a nejspíš i vyvíjet nové p2p programy umožňující výměnu dat mezi uživateli. Jednotlivé programy jsou popsány dále v této práci.

2 LEGISLATIVA 7 Přesto všechno bude nelegální šíření hudby i videa nadále pokračovat. Prognózy jsou takové, že velké výměnné systémy budou kvůli RIAA a MPAA stagnovat, ale budou vznikat nové metody, především v úzkých kroužcích osob například výměnné minicentrály v lokálních Wi-Fi sítích, LAN sítích, školních a business sítích. 2.3 Očekávaný vývoj výměnných sítí Co tedy můžeme na druhou stranu očekávat ve vývoji výměnných sítí? Další decentralizace Decentralizace způsobí tvorbu lokálních komunit, které fungují lépe než sít s několika milóny lidí. Nelze totiž jednoznačně říct, zda tak velký počet uživatelů a tím i velký počet kopií souborů něco kladného přináší. Např. u Kazaa je jedno, jestli se daný soubor vyskytuje 3x nebo tisíckrát víc. Stačí málo kopií, pokud budou bezpečně a rychle ke stažení. Oproti tomu u klientů se segmentovým stahováním, jako je např. StrongDC++ je určitě větší počet kopií výhodou. Další anonymizace Anonymita a anonymizace je samozřejmě silnou zbraní uživatelů sítí proti možnému odhalení, problémům a trestnímu stíhání. Vytěsňování pijavic leech a falešných souborů fake Vytěsňování pijavic se docílí povinným sdílením kvalitních souborů, např. monitorováním podle tzv. TTH. TTH - (Tiger tree hash) je vlastně kontrolní součet souboru. Je to digitální otisk ověřeného souboru. Používají se proto, že vyhledáním souboru se stejným TTH umožňuje uživateli v případě potřeby stahovat stejný soubor od více lidí. Velmi to uživatel ocení zejména v případech, kdy se odpojí člověk, od kterého soubor stahoval. V dřívějších dobách fungovalo hledání náhradních zdrojů podle názvu a velikosti souboru. Často se ale jednalo o lehce pozměněný soubor se stejnou velikostí. To mohlo způsobit např. při přehrávání zvukového souboru různé praskání, přeskakování apod. Dnes jsou na hubech preferováni klienti podporující TTH údaj.

2 LEGISLATIVA 8 S pojmem TTH je potřeba uvést ještě pojem, který se v této souvislosti uvádí, a to sice magnety neboli magnetlinky. Magnety nebo-li magnetlinky jsou vlastně TTH ověřených a kvalitních souborů, které jsou uveřejněny na webových stránkách. Po kliknutí na odkaz magnetlinku se automaticky spustí klient, který tuto funkci podporuje a spustí hledání daného souboru. Závěrem se tak dá říci, že dokud bude fungovat internet, není cesta, jak zabránit fungování výměnných systémů. I kdyby je začali aktivně potlačovat ISP ucpáváním portů, pak v tom případě pojedou výměníky na portu 80, kde běží web a ten samozřejmě zakázat nelze. Je možné, že pokud budou represe značné, budou výměnné sítě maličko zahnány do podzemí. Jejich používání bude zkomplikováno např. nutností osobního firewallu, používáním obtížnějších aplikací jako např. BitTorrent, používáním PeerGuardianu před skenováním ze strany orgánů atd. Rozhodně už nebude využívání výměnných sítí tak masové.

3 JEDNOTLIVÉ PROTOKOLY 9 3 Jednotlivé protokoly V této části uvádím nejrozšířenější p2p programy pro sdílení dat a protokoly, na kterých jsou tyto programy založeny. 3.1 Napster Za praotce současných výměnných sítí je obecně považován mediálně známý Napster. Napster výměnu souborů začal a nebýt jeho úspěšnosti, těžko by dnes existovalo tolik p2p programů a tolik uživatelů využívajících sdílení souborů. Když byl program na špici, tak neměl mezi výměnnými sítěmi konkurenci. Jeho jedinou nevýhodou oproti dnešním programům bylo to, že se nedaly sdílet jiné soubory než s příponou mp3. Možná i to je hlavní důvod všech soudních sporů, které se kolem tohoto programu točily. Princip tohoto systému spočíval v tom, že po spuštění se Napster připojil k některému z domácích serverů, ve kterých byly uloženy databáze všech sdílených souborů. Pak už záleželo pouze na uživateli, jakou MP3ku si našel a stáhnul. Tato činnost se nelíbila společnosti RIAA, a tak napadla Napster a podala trestní oznámení k soudu na porušování autorských práv tím, že skrze tuto službu bylo možno získat ilegálně MP3 skladby. Napster musel proto skončit svoji činnost. Obrázek 1: Screenshot p2p klienta Napster

3 JEDNOTLIVÉ PROTOKOLY 10 3.2 Audiogalaxy Satellite Audiogalaxy Satellite umožňoval stahování přes webové rozhraní, což bylo pro uživatele velmi příjemné právě svou jednoduchostí. Mezi českými uživateli byl velmi rozšířen, protože se zde dalo stáhnout mnoho české hudby. Audiogalaxy Satellite je dalším programem, jehož činnost musela být kvůli RIAA ukončena. Autoři programu se domluvili s RIAA na mimosoudním vyrovnání a okamžitém zastavení. Obrázek 2: Screenshot p2p klienta sítě Audiogalaxy - Audiogalasy Satellite

3 JEDNOTLIVÉ PROTOKOLY 11 3.3 Kazaa Po pádu Napsteru se největší oblibě těšila KaZaA, využívající protokolu FastTrack. Trnem v oku se asociaci RIAA u Napsteru stala především technika shromažd ování všech sdílených hudebních nahrávek na jednom centrálním serveru, čehož se tvůrci sítě KaZaA vyvarovali. Originální verze klienta KaZaA Media Desktop je však plná spywaru a reklamních oken. Tuto nevýhodu částečně řeší její odlehčená verze KaZaA Lite. Při sdílení dat v této síti plní počítače funkci tzv. uzlů nebo superuzlů. Uzly jsou ve skutečnosti počítače, které nabízejí vlastní data (hudbu, filmy apod.). Naproti tomu superuzly plní funkci jakési spojky mezi jednotlivými počítači, protože udržují a zveřejňují seznamy všech sdílených dat. Pro úspěšné provozování odlehčené verze K-Lite je nutné nainstalovat si originální KaZaA Media Desktop, proti spywaru a adwaru však uživatele chrání modul nazvaný KShield. Při vyhledávání multimediálních souborů systém umožňuje blíže specifikovat některé detailní parametry, jako například jeho kvalitu (bitrate) nebo žánr. Užitečné jsou také integrované prohlížeče videa, hudby a obrázků, které dovolují spustit část souboru již během jeho stahování. Uživatel se tak snadno může přesvědčit, zda se opravdu jedná o soubor, který chtěl. Klient Kazaa se připojí k výměnné síti automaticky hned při spuštění. Nemusíte vybírat žádné servery, někde něco nastavovat, program se spustí automaticky. Na jedné straně je to velmi jednoduché, automaticky se vybere jeden z vhodných přípojných serverů, ale na druhé straně nemáte moc možností něco ovlivnit. Obrázek 3: Screenshot p2p klienta sítě FastTrack - Kazaa

3 JEDNOTLIVÉ PROTOKOLY 12 3.4 Direct Connect Autorem programu Direct Connect je firma NeoModus, která jej vydala na internetový trh již v roce 2001. Direct Connect (DC) je ovšem plný reklam. Proto byla po nějakém čase vytvořena i alternativa DC, která je stejně funkční, ale bez reklam. Jmenuje se Direct Connect++ (DC++). I v tuto chvíli je DC++ neustále zlepšován a dále vyvíjen, což mu zajišt uje velkou popularitu a program se tak řadí mezi nejpoužívanější software pro výměnu souborů. Na rozdíl od programů Kazaa nebo Gnutella je DC postaven na odlišné koncepci. Uživatelé se v tomto případě nepřipojují na jeden centrální server jako u jiných výměnných sítí, ale obslužných serverů jsou tisíce. Těmto serverům se říká huby. Huby jsou počítače, na kterých běží speciální aplikace (např. PtokaX). Hub a s ním spojenou komunitu lidí si tak může vybudovat kdokoli s rychlým připojením k internetu. Hlavní úkol hubu je udržovat aktuální seznam připojených uživatelů a vyhledávat jimi požadovaná data.po připojení probíhá vyhledávání souborů u všech uživatelů, kteří jsou k danému hubu připojeni. Toto řešení přináší několik výhod i nevýhod. Na jednu stranu je takto postavená sít hůře postižitelná různými zákazy, protože hub lze provozovat prakticky na jakémkoliv počítači s alespoň trochu rychlou linkou. Přes hub probíhají pouze řídící data, samotná výměna dat mezi dvěma uživateli již probíhá přímo mezi nimi (v tomto není rozdíl oproti Kazee). Na rozdíl od sítě Kazaa, kde jsou v jednu chvíli připojeny miliony uživatelů, je k jednomu hubu připojeno maximálně několik tisíc počítačů. Proto je objem dat uživatelů připojených k jednomu hubu řádově menší, ale to je často vynahrazeno lokálními lahůdkami v podobě domácí hudby, či filmů, které jsou na českých hubech běžně k dispozici, zatímco v celosvětové síti Kazaa by je uživatel hledal dlouho a dost možná i marně. Každý hub má svého správce či hned několik správců, kteří se starají o pořádek na hubu. Na většinu hubů jste vpuštěni pouze v případě, že sami máte co nabídnout a váš sdílený adresář obsahuje určité množství dat - například 5 GB dat a více. Pokud máte méně dat, na hub nejste vpuštěni. Správci si také hlídají, co za soubory sdílíte. Na většině hubů není povolena tvrdá či dětská erotika a sdílené soubory samozřejmě musí mít smysl. Sdílet 500MB soubor plný nesmyslných znaků se nevyplácí. Takovýmto falešným souborům se říká fake. Po objevení něčeho takového je dotyčnému uživateli zpravidla zakázán přístup na určitou dobu. Tento zákaz přístupu se nazývá ban. Každý hub má svá vlastní pravidla, která je dobrá znát, aby se uživatel svým jednáním zbytečně nepřipravil o možnost přístupu na daný hub. Většinou je specifikována řeč,

3 JEDNOTLIVÉ PROTOKOLY 13 kterou je možné na daném hubu komunikovat a zpravidla je omezen i počet hubů, ke kterým může být uživatel v jednu chvíli připojen. Určitě jako velikou výhodu ocení uživatelé DC++ to, že si mohou v kritériích pro hledání nastavit hledání požadovaných souborů pouze u uživatelů, kteří mají volné pozice pro stahování souborů. Těmto pozicím se říká sloty. Tolik kolik má uživatel otevřeno slotů, tolik souborů lze od něj najednou stahovat. Mezi nevýhody DC++ patřilo to, že nedokázal rozpoznat, zda uživatel, od kterého se data stahovala, posílal data na 10% kapacity vaší linky nebo na 90%. V praxi to vypadalo tak, že jste vyhledali požadovaný soubor, nalezli jeho kopie u dalších uživatelů a čekali, kdy se u některého z nich uvolní slot. Ve chvíli, kdy se tak stalo, se soubor začal stahovat. Pokud byla rychlost na maximu, bylo to v pořádku. Pokud ne, museli jste uživatele vyřadit ze seznamu a čekat, až bude mít volný slot někdo jiný s rychlejším připojením. V současnosti jsou již k dispozici další klienti novější generace, kteří tento problém dokáží obejít a nabízí řadu dalších vlastností, které DC++ nemá. Např. segmentové stahování. K těmto klientům patří např. CZDC++, StrongDC++ nebo DC:PRO. Obrázek 4: Screenshot p2p klienta sítě DirectConnect - strongdc++

3 JEDNOTLIVÉ PROTOKOLY 14 3.5 edonkey 2000 a emule Výměnná sít edonkey 2000 využívá ke sdílení několika větších serverů, ke kterým se připojují jednotliví uživatelé. Úkolem těchto serverů je hlavně shromažd ování a údržba informací o dostupných souborech a zajištění jejich vyhledávání. To je tedy podobný princip jako například princip hubů u Direct Connect, ovšem s tím podstatným rozdílem, že servery edonkey 2000 si vyměňují informace mezi sebou, takže pokud je uživatel připojen byt jen k jedinému z nich, získává automaticky údaje o souborech dosažitelných z ostatních serverů, což u DC není. Oficiálním klientem sítě edonkey 2000 (ed2k) je stejnojmenný program edonkey 2000, který je plný reklam a nenabízí takové široké možnosti jako jiní klienti této výměnné sítě. Mnohem používanějším klientem pro tuto sít je p2p program jménem emule. emule se v současnosti těší stále větší oblibě uživatelů a pomalu se stává jedním z nejoblíbenějších p2p klientů vůbec. Je navíc oproti klientu edonkey 2000 vytvářena jako Open Source. Je tedy zcela volně a legálně k dispozici, je zdarma a na rozdíl od ed2k neobsahuje žádnou reklamu. Nabízí velmi pokročilé možnosti získávání a sdílení souborů. emule obsahuje vestavěného IRC klienta, který usnadňuje a zrychluje případnou komunikaci s ostatními uživateli. Při vyhledávání souborů nabízí čtyři základní techniky: Server, Global, Kad Network a FileDonkey. Pomocí varianty Server lze prohledávat pouze server, ke kterému je uživatel právě přihlášený. Při použití možnosti Global tento klient zajistí, že budou prohledány všechny dostupné servery. Kad Network prohledá sít Kademlia, přičemž servery edonkey 2000 budou ignorovány, a konečně volba FileDonkey zahájí hledání skrze webové rozhraní. V rámci celého projektu emule běží také vývoj zcela nového typu aplikace, který nemá mezi p2p klienty obdoby. Jmenuje se MobileMule a jedná se o program pro mobilní telefony s podporou jazyka Java, který dovoluje vzdáleně ovládat běžícího emule klienta. V praxi celá věc vypadá přibližně tak, že si doma na svém počítači nechá uživatel běžet emule a pomocí mobilního telefonu vybaveného MobileMule pak má možnost odkudkoli sledovat aktuální rychlost stahování, vyhledávat nové soubory apod. Na telefon si stačí nainstalovat zhruba 50kB soubor ze stránek mobil.emule-project.net. Program emule pak musí jet v aktivním režimu a mít otevřený port 80. Na počítači nemůže běžet jiný webový server na tomto portu. V možnostech u webového rozhraní je pak potřeba povolit mobilmule. I z mobilního telefonu pak po zadání přihlašovacích údajů může uživatel vidět, jak rychle zrovna stahuje, může mazat soubory z fronty pro stahování, vyhledávat soubory a přidávat je do stahování, nebo případně může vypnout celý počítač přes mobilní telefon. emule dále nabízí podrobné statistiky stahování s grafy, IRC klienta, předávání zpráv apod.

3 JEDNOTLIVÉ PROTOKOLY 15 Výhodou emule je stahování částí jednoho souboru od velkého množství uživatelů současně, běžně od desítek až stovek uživatelů. Tito uživatelé přitom nemusí mít soubor celý, stačí když mají tu část, kterou ještě nemáte vy. Úplně stejně to platí i opačným směrem. I od vás uživatelé stahují soubory, a to i ty, které ještě nemáte celé. Čím víc lidé stahují od vás, tím vy máte lepší pozici ve frontách na jednotlivé části souboru. Kdo tedy nabízí hodně, stahuje rychleji. Na rozdíl tedy od Kazaa, kde velká většina uživatelů vůbec nic nenabízí a jen stahuje, je emule založena na vzájemné reciprocitě. Na síti edonkey 2000 se dá najít téměř všechno a u aktuálních věcí, které nabízí více uživatelů, můžete stahovat i velmi rychle. Raritní věci sice chvíli trvají, ale po delším připojení, kdy si uživatel vystojí frontu, se na něj řada dostane. emule dává uživatelům lepší pozici ve frontách při delším připojení, proto je tento klient vhodný zejména na pevná připojení. Rovněž vzhledem k téměř trvalému odchozímu provozu je nutné u připojení k internetu s omezením na přenesená data (FUP) trochu hlídat přenesené objemy. To se týká zejména připojení pomocí technologie ADSL. Nová verze emule podporuje vedle edonkey také zcela novou sít Kademlia (zkráceně Kad), která nevyžaduje žádné centrální servery a všichni uživatelé vzájemně vytvářejí velký autonomní systém. Nádhernou vlastností emuly je mimo mobilemule I vzdálená správa. Můžete zapnout na svém počítači webový server emuly a vzdáleně se tak odkudkoli připojit ke svému domácímu počítači a sledovat, jak se stahují soubory, vyhledávat soubory a přidávat je do stahování. Obrázek 5: Screenshot p2p klienta sítě edonkey 2000 - emule

3 JEDNOTLIVÉ PROTOKOLY 16 3.6 BitTorrent BitTorrent funguje oproti předem zmíněným p2p klientům úplně jinak. Pro každé stahování se vytvoří vlastní sít, jejímž jediným úkolem je co nejrychleji distribuovat požadovaný soubor. Jakmile je soubor stažen, sít zase zanikne. Stažené části souboru se ihned poskytují dalším uživatelům. Základem každé takto vytvořené torrentové sítě je koordinační program nazvaný tracker. Ten inicializuje sít a funguje jako informační server pro všechny počítače, které se k němu připojí. Aby se mohl počítač připojit do sítě, musí nejdříve navázat spojení s trackerem. K tomu slouží soubor s koncovkou torrent. Ten obsahuje URL trackeru, informace o délce souboru a kontrolním součtu. Dále poskytuje informace o tom, na kolik bloků je soubor rozdělen a jak velké tyto bloky jsou(zejména od 256 kb do 2 MB). Při posílání souboru jsou tyto bloky ještě dále děleny a posílají se jednotlivě jako pakety o velikosti 16 kb. Při spojení počítače s trackerem se z počítače stane účastník, neboli peer, náhodně vytvořené výměnné sítě. Vygeneruje si vlastní identifikační číslo. Toto identifikační číslo se značí peer ID a má délku 20 bytů. Vygenerované peer ID se odešle trackeru a slouží k jendoznačnému určení počítače v síti. Peer se od trackeru dozví, kolik dalších peerů je v síti, kolik z nich nabízí kompletní soubory ke stažení(tzv. seedery ) a kolik z nich má jenom část souboru ke stažení(tzv. leechery ). Tracker poskytuje peeru ještě seznam dalších 50 ID peerů, se kterými je možné navázat spojení. Nyní již není tracker potřeba, jeho úkol sestavení sítě je splněn. Na posílání bloků dat se již domlouvají peery mezi sebou. Nový peer v síti osloví další peery a požádá je o stáhnutí dat. Tento požadavek se nazývá handshake a neobsahuje žádná konkrétní data. Poté si peery vymění tzv. bitové pole, což jsou informace o tom, které datové bloky se již stáhly. Pomocí bitového pole si peer postupně dělá obrázek o tom, které bloky dat jsou v síti snadno ke stažení a které ne. Jakmile tyto informace vyhodnotí, tak začne stahovat méně dostupné bloky, čímž se zabraňuje přetěžování sítě. I ve výměnném systému BitTorrent platí, že čím víc a výhodněji uživatel nabízí data ke stažení, tím má lepší možnost on sám ke stáhnutí požadovaných souborů. Uživatel totiž může dávat přednost peerům s rychlým připojením a ty pomalejší blokovat, což je v jistém slova smyslu sobectví. Aby se tomuto jevu zabránilo, platí, že pokud nabízí uživatel malý upload, nemůže stahovat od ostatních. Blokování peerů se nazývá choking. Aby se ze stahování nestalo neustále povolování a blokování, je možné přijmout nový peer a zablokovat starý pouze každých 10 vteřin. Pro upload má každý uživatel v základním nastavení 4 neblokované peery.

3 JEDNOTLIVÉ PROTOKOLY 17 Tím, že se začnou stahavat požadovaná data, ovšem celý proces zdaleka nekončí. Peer neustále hledá další a hlavně rychlejší peery. K tomu používá funkci optimistic unchoking. Peer naváže každých 30 sekund spojení s novým peerem. Pokud je rychlost uploadu i downloadu dostatečná, zůstane spojení navázané. Pokud ne, pokračuje peer při stahování v hledání dalších peerů. Pokud uživatel během 1 minuty nepřijme od jiného peeru žádné bloky dat, automaticky předpokládá, že ho ten druhý peer zablokoval. V tomto případě provede funkci antisnubbing, pomocí které tento peer vyřadí ze sítě a na jeho místo provede samostatný optimistic unchoking. Problémem je stažení posledních bloků dat. Rychlost stahování rapidně klesne, protože peer potřebuje ty bloky, které se nedají snadno sehnat. Peer přejde do režimu endgame. V tomto režimu pošle všem známým peerům dotaz na pakety chybějících bloků. V této fázi se poté pakety jednoho bloku stahují i od několika různých peerů. Obrázek 6: Screenshot p2p klienta sítě bittorrent - bittorrent

3 JEDNOTLIVÉ PROTOKOLY 18 3.7 Gnutella Tato sít je dostupná již dost dlouho a zezačátku zdaleka nedosahovala kvalit sítě Fast- Track. Oficiálním p2p klientem této sítě byl stejnojmenný program Gnutella. Ten ale nestačil, a tak vznikl program s podobným názvem - Gnotella. Ten patřil ve své době mezi nejpoužívanější, proto byla sít velmi bohatá na množství sdílených souborů. Vedle tohoto programu vzniklo plno dalších klientů (např. BearShare, Gnucleus, File Navigator, LimeWire, Swapper, Phex). Jelikož firma, která vytvořila program Gnotella zanikla, přestala i distribuce tohoto programu. Jak funguje Gnutella nyní? Do sítě byly přidány tzv. ultrapeers, což jsou vyhrazené přípojné body do systému (např. Morpheus má několik takových vlastních uzlů). Dále je vylepšeno optimalizované vyhledávání a program nově zvládá i tzv. MetaData. Běžně se s MetaDaty uživatel setká v podobě ID3 tagů u digitálně zpracovaných hudebních skladeb mp3. MetaData tedy umožňují vložit do souboru informace o interpretovi, názvu skladby, albu, roku vydání, žánru a mnoho dalších zajímavých informací, jako např. kdo soubor vytvořil a kdo vlastní copyright. Gnutella díky tomu umí vyhledávat multimediální soubory podle stejných kritérií jako např. sít FastTrack. Obrázek 7: Screenshot p2p klienta sítě Gnutella - BearShare 3.8 Přehled nejpoužívanějších klientů výměnných sítí

3 JEDNOTLIVÉ PROTOKOLY 19 Klient Napster Kazaa Kazaa Lite Direct Connect DC++ CZDC++ StrongDC++ edonkey 2000 emule MobileMule bittorrent bitcomet Shareaza 1.8 BearShare 4.0.0 Popis Klienti výměnné sítě Napster Jediný a oficiální klient této sítě. Díky němu bylo možné stahovat po připojení k serverům soubory mp3. Program byl nucen ukončit svou činnost. Klienti výměnné sítě Kazaa Oficiální klient této sítě. Vydala jej společnost Sharman Network. Je zdarma, obsahuje reklamu a spyware. K dispozici je i placená verze bez reklamy, ta se jmenuje KaZaA Plus. Oblíbený klient této sítě. Neobsahuje reklamu a spyware. Poskytován je zdarma. Klienti výměnné sítě Direct Connect Klient vydaný firmou NeoModus. Obsahuje reklamu. Open source projekt. Poskytuje velké množnosti nastavení a neobsahuje reklamu. U nás dle hlasování jeden z nejoblíbenějších Direct Connect klientů. Nabízí mimo jiné i možnost nastavení rychlosti stahování a nahrávání. Jedna z mutací programu DC++. Poskytuje bezpečné segmentové stahování jednoho souboru od více uživatelů najednou. Klienti výměnné sítě edonkey 2000 Oficiální klient této sítě. Obsahuje reklamu. Open Source projekt. Je zdarma a neobsahuje žádnou reklamu. Funkčně velmi dobře vybaven, stává se jedním z nejoblíbenějších p2p klientů výměnných sítí vůbec. Projekt umožňující ovládání klienta přes mobilní telefon. Klienti výměnné sítě bittorrent Je to oficiální klient této sítě. Je složitější na ovládání. Oproti bittorrentu je jednodušší na ovládání. Má v sobě obsaženou vrstvu DHT. S touto vrstvou se již blíží decentralizované síti. Klienti výměnné sítě Gnutella Klient postaven na základě názorů uživatelů. Je zdarma, neobsahuje žádný spyware ani reklamy. Obsahuje několik obdobných funkcí jako má např.kazaa - skiny. Je považován za nejlepšího klienta této výměnné sítě. Uživatelsky velmi příjemný klient této sítě. Stává se stále populárnějším. Tabulka 1: Nejpoužívanější p2p klienti

4 BANDER 20 4 Bander 4.1 Návrh Jako druhým požadavkem bylo u této bakalářské práce navrhnout a poté implementovat řešení p2p programu řešícího výměnu souborů mezi uživateli. U implementace byl dán požadavek na zabezpečení dat. Před vlastní implementací programu Bander bylo potřeba vhodně navrhnout řešení aplikace. Při zvažování několika různých možností jsem objevil návrhový vzor Command, který se mi podařilo zakomponovat do návrhu a pozdějšího řešení aplikace. Účelem tohoto návrhového vzoru je zapouzdřit jednotlivé požadavky a příkazy do objektů, které se pak ukládají a předávají dál. Rozhodl jsem se pro něj z toho důvodu, že umožnuje naimplementovat jednotlivé příkazy zvlášt ve třídách, a poté se tlačítkům a položkám menu pouze přidá objekt reprezentující tuto třídu. Kód potřebných metod je tak tedy oddělen od kódu reprezentujícího uživatelské rozhraní. Tam jsou pouze naimplementovaná potřebná vstupní data pro tyto objekty. Obrázek 8: Ukázkový diagram návrhového vzoru Command

4 BANDER 21 Při návrhu jednotlivých tříd jsem musel vzít v úvahu i další aspekty. Většina p2p programů je založena na architektuře Client - Server. Obě dvě tyto části má každý uživatel na své lokální stanici. Důvod je prostý: Vy stahujete od vzdáleného uživatele(v tuto chvíli jste klientem vy a server je onen uživatel), ale zároveň od vás může stahovat někdo jiný(v tuto chvíli jste serverem). Jedním z nejdůležitějších aspektů bylo tedy vhodně navrhnout třídy řešící činnost serveru a klienta. Spojením navrhovaných tříd reprezentujících jednotlivé příkazy a tříd potřebných pro funkci klientské a serverové části vznikl třídní diagram aplikace Bander. Obrázek 9: Třídní diagram aplikace Bander 4.2 Popis tříd Zde je uveden stručný popis jednotlivých tříd Gui Třída Gui má na starost zobrazení hlavního okna aplikace. V tomto okně jsou dostupné prvky které při aktivaci vytvoří objekty jiných tříd.

4 BANDER 22 GuiNastaveni Tato třída vyvolá okno s možnostmi nastavení aplikace. Při spuštění instance této třídy se také vyvolá metoda která kontroluje zda již není aplikace nastavena. Server Tato třída se stará o poslouchání na daném portu. V případě že na tomto portu zachytí požadavek, vytvoří instanci třídy ServerPrenosu, a dál poslouchá na daném portu. ServerPrenosu Třída ServerPrenosu vytváří svou instanci s parametrem čísla portu na kterém bude nadále komunikovat. Tento port jí určí a předá při zřízení třída Server. Client Instance třídy Client má na starost vyslání konkrétního požadavku na na instanci třídy ServerPrenosu. Tyto dva objekty spolu komunikují tak dlouho dokud je potřeba. VytvorSeznam Objekt této třídy má za úkol vytvořit podle nastavených hodnot seznam souborů které uživatel sdílí. ZobrazSeznam Hledej Objekt této třídy zobrazí vybraný seznam souborů. Instance této třídy hladá zadanou položku v daném souboru. Hledaná položka a jméno souboru ve kterém má tuto položku hledat jsou této instanci předány jako argumenty při jejím vytvoření. SeznamUzivatelu Objekt této třídy vyvolá nové okno, kde uživatel vidí všechny přidané uživatele. Navíc je možné zde přidat dalšího uživatele, či některého smazat.

5 PROGRAMÁTORSKÉ ŘEŠENÍ APLIKACE BANDER 23 5 Programátorské řešení aplikace Bander Bander je naprogramován v jazyce Java. Je možné jej použít nezávisle na platformě. Program Bander byl vytvořen pro použití na menších, lokálních počítačových sítí. Přistupuje k serverům přes IP adresy, což znamená že není možné aby byl program za firewallem či překladem sít ových adres NAT. Cílem Banderu je poskytnout uživatelům co možná nejpohodlnější výměnu potřebných souborů. Bander je založen na velmi jednoduchém principu. Stačí uživateli znát IP adresy uživatelů ke kterým se chce připojit a přidat si je do lokální databáze. Od této chvíle může přistupovat přes seznam jejich sdílených souborů k těmto datům a stahovat vše co potřebuje. Sám přitom nemusí nic sdílet, což je první podstatný rozdíl oproti protokolům zmíněným v první části této práce. Druhým rozdílem je to, že Bander nemá žádná omezení. Nejsou zde žádné sloty na které by musel uživatel čekat, ani žádné omezení rychlosti. 5.1 Programátorské řešení Klient - Server části Klient - Server část je troufám si říci klíčovou částí každé aplikace řešící sdílení dat po síti. S touto architekturou také úzce souvisí pojem port a hlavně jednotlivá přiřazené čísla portů, protože ne všechny porty je možné použít. Část Klient - Server je vytvořena tak, že serverová část se spustí ihned na začátku aplikace a skončí při ukončení aplikace. Úkolem serveru je poslouchat na portu č. 50000. Ve chvíli kdy server rozpozná příchozí požadavek od klienta, pouze zvolí další volný port a tento port předá jako parametr instanci třídy ServerPrenosu, která se již s klientem na daném portu domluví podle protokolu. Server tak tedy zůstává zase volný a poslouchá. Port si můžete představit jako bránu do sítě. Na jednom portu může v jednu chvíli běžet pouze jeden proces. Následující tabulka ukazuje rozdělení portů. Následující interakční diagram znázorňuje jakým způsobem probíhá komunikace mezi klientem a serverem při přenosu dat.

5 PROGRAMÁTORSKÉ ŘEŠENÍ APLIKACE BANDER 24 Rozsah portů Popis Rozdělení podle rozsahu portů 1-255 Porty určené pro veřejnost, tzv. public ports. 255-1023 Porty určené pro komerční sféru, společnosti apod. 1024-65535 Porty neregulované, volné pro libovolné aplikace. Rozdělení portů podle kategorií 1-1023 Well-known ports. 1024-49151 Registrované porty. 49152-65535 Porty privátní a dynamické. Tabulka 2: Rozdělení portů Obrázek 10: Třídní diagram aplikace Bander

6 DOKUMENTACE 25 6 Dokumentace Dokumentace aplikace Bander je rozdělena na dvě části: Programároská dokumentace Uživatelská dokumentace 6.1 Programátorská dokumentace Programovací jazyk java má k vytváření dokumentace přímo dané komentáře, ze kterých se poté pomocí programu javadoc vytvoří dokumentace v podobě internetových stránek. Jsou v ní popsány jednotlivé třídy a metody. Bander byl vytvořen ve vývojovém prostředí NetBeans IDE 5.0. Toto vývojové prostředí umožnuje také vytvoření programátorské dokumentace ve formě javadocu, čehož bylo využito u dokumentace Banderu. Programátorská dokumentace je přiložena na CD ve složce Dokumentace/programatorska. 6.2 Uživatelská dokumentace Uživatelská dokumentace je v souboru formátu pdf. Je zde popsáno jak s programem pracovat. Grafické znázornění je v podobě screenshotů aplikace. Uživatelská dokumentace je přiložena na CD ve složce Dokumentace/uzivatelska.

7 POUŽÍVÁNÍ APLIKACE BANDER 26 7 Používání aplikace Bander K používání aplikace Bander je zapotřebí mít nainstalován java-runtime-environment verze 1.5 a vyšší. Na CD je přiložen instalační soubor pro OS windows ve složce potrebnekespusteni/jre-1-5-0-windows-i586.exe. Jak již bylo zmíněno výše, program Bander Vás nenutí sdílet jakákoliv data k tomu, abyste mohli stahovat. Přesto je určen ke sdílení souborů převážně v menších počítačových sítí, např. ve firmách, kde se počítá s tím že i ostatní uživatelé si budou muset něco stáhnout od Vás. Bander se spouští souborem Bander.jar, který je umístěn v domovském adresáři aplikace Bander. Obrázek 11: Základní obrazovka aplikace Bander

7 POUŽÍVÁNÍ APLIKACE BANDER 27 Úvodní obrazovka obsahuje nahoře menu, kde je možné volat některé funkce. V menu Soubory - Nastavení se otevře nové okno s nastavením. Tam stačí pomocí tlačítka vybrat zvolit adresář který si přejete nasdílet. Dále je třeba nastavit svou IP adresu a uložit nastavení. Hodnotu portu nedoporučuji měnit. Obrázek 12: Nastavení Banderu

7 POUŽÍVÁNÍ APLIKACE BANDER 28 Poté je třeba vytvořit seznam sdílených souborů. Ten se vytvoří stisknutím volby z menu Nástroje - Vytvoř seznam sdílených souborů. Po stisknutí této volby vypíše Bander informační okno o vytváření souborů. Po odklepnutí začne samotné vytváření seznamu, o jehož ukončení je uživatel opět informován v podobě informačního okna. Obrázek 13: Ukončení vytváření seznamu sdílených souborů

7 POUŽÍVÁNÍ APLIKACE BANDER 29 Stáhnout seznam sdílených souborů od jiného uživatele je možné tak, že si přes menu Správa uživatelů - Správa uživatele otevřete okno se všemi uloženými kontakty. Poté stačí kliknout na označený kontakt pravým tlačítkem myši a dát možnost Stáhnout seznam souborů. Obrázek 14: Ukázka stáhnutí seznamu souborů

7 POUŽÍVÁNÍ APLIKACE BANDER 30 Pro stáhnutí konkrétního souboru je potřeba zobrazit seznam souborů přes volbu Nástroje - Zobraz seznam sdílených souborů. Otevře se dialogové okno pro výběr souboru. Obrázek 15: Ukázka výběru seznamu souborů

7 POUŽÍVÁNÍ APLIKACE BANDER 31 Ve chvíli kdy je seznam otevřen, stačí kliknout na označenou položku pravým tlačítkem myši a dát volbu stáhnout. Obrázek 16: Ukázka stáhnutí konkrétní položky

8 ZÁVĚR 32 8 Závěr Závěrem této práce je zhodnotit výslednou aplikaci. Podařilo se vytvořit jednoduchou aplikaci Bander, která umožňuje sdílet a vyhledávat soubory mezi jednotlivými uživateli na lokální síti. Aplikace funguje na principu Client - Server, což umožňuje oboustrannou komunikaci mezi uživateli. Při testech se ukázalo, že aplikace dosahuje při přenášení souborů velmi dobrých výsledků. Jednotlivé přenosy probíhají na různých portech, což umožňuje přenášet více souborů najednou. Při vývoji aplikace nastaly potíže které se bohužel z časových důvodů nepodařilo vyřešit až do konce. Jedná se o implementaci přenosu souborů přes zabezpečenou vrstvu Secure Socket Layer. I přes dobré výsledky aplikace by bylo do budoucna dobré rozšířit implementaci o podporu segmentového stahování.