VSˇB - Technicka´ univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky
Protokoly na sdı´lenı´ dat prostrˇednictvı´m internetu Bakala´rˇska´ pra´ce
2006
ˇ onka Jindrˇich S
Prohlasˇuji, zˇe jsem tuto diplomovou pra´ci vypracoval samostatneˇ. Uvedl jsem vsˇechny litera´rnı´ prameny a publikace, ze ktery´ch jsem cˇerpal.
V Ostraveˇ 10. kveˇtna 2006
.............................
Ra´d bych na tomto mı´steˇ podeˇkoval vsˇem, kterˇ´ı mi s touto bakala´rˇskou pracı´ pomohli, protozˇe bez nich by tato pra´ce nevznikla.
Abstrakt
Cı´lem te´to bakala´rˇske´ pra´ce bylo popsat nejbeˇzˇneˇjsˇ´ı protokoly pro sdı´lenı´ dat prostrˇednictvı´m internetu, zjistit a zmapovat jejich vlastnosti, vy´hody, nevy´hody a popsat vsˇeobecnou problematiku sdı´lenı´ dat. V pra´ci jsou popsa´ny jednotlive´ programy vyuzˇ´ıvajı´cı´ tyto protokoly. V druhe´ cˇa´sti te´to pra´ce byl naimplementova´n program Bander, rˇesˇ´ıcı´ vy´meˇnu dat mezi uzˇivateli a neˇktere´ proble´my, se ktery´mi se poty´kajı´ jine´ p2p programy. Klı´cˇova´ slova: Bander, Klient, Server, Na´vrhovy´ 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 pouzˇity´ch zkratek a symbolu˚ Bander
–
Stanice
–
Client
–
Server
–
Na´vrhovy´ vzor
–
Port
–
OSI model
–
IP adresa
–
p2p RIAA
– –
MPAA
–
DMCA
–
Program urcˇen ke sdı´lenı´ dat. Je to projekt te´to bakala´rˇske´ pra´ce. Mysˇleno jako loka´lnı´ stanice, pokud nenı´ uvedeno jinak. Jedna´ se o va´sˇ pocˇ´ıtacˇ na ktere´m ma´te spusˇteˇn program. Cˇa´st programu ktera´ beˇzˇ´ı u va´s, na vasˇ´ı stanici. Zde vyvola´va´te svou cˇinnostı´ jednotlive´ prˇ´ıkazy, ktere´ client odesı´la´ jako pozˇadavky na serverovou cˇa´st. V cˇesˇtineˇ oznacˇova´n jako Klient. Cˇa´st programu beˇzˇ´ıcı´ na vzda´lene´ stanici v pocˇ´ıtacˇove´ sı´ti. Prˇijı´ma´ pozˇadavky od clienta a odesı´la´ pozˇadovane´ odpoveˇdi zpeˇt. Prˇi rˇesˇenı´ aplikacı´ v oblasti IT se uka´zalo, zˇe mnoho z nich majı´ spolecˇne´ proble´my, a tedy i spolecˇna´ rˇesˇenı´. Jednotlive´ na´vrhove´ vzory jsou vytvorˇeny pro co nejlepsˇ´ı jednotliva´ rˇesˇenı´ takovy´chto proble´mu˚. Port je koncovy´m bodem komunikace na rozhranı´ mezi transportnı´ a aplikacˇnı´ vrstvou OSI modelu. Open Systems Interconnection Reference Model - Take´ uva´deˇn v literaturˇe jako OSI Reference model nebo jen OSI model. Je to model ktery´ rozdeˇluje prˇenos dat po sı´ti do 7 vrstev. Adresa pocˇ´ıtacˇe v sı´ti. Pomocı´ teˇchto adres probı´ha´ sı´t’ova´ komunikace. Peer to peer - Jedna´ se o rovnocenne´ propojenı´ dvou stanic. The Recording Industry Association of America - Organizace na ochranu autorsky´ch pra´v vydavatelu˚ hudebnı´ch nahra´vek. Spolecˇnost byla zalozˇena v roce 1952. Movie Picture Association of America - Spolecˇnost zalozˇena sedmi nejveˇtsˇ´ımi filmovy´mi studii v Americe. Organizace chra´nı´ autorska´ pra´va´ vydavatelu˚ filmovy´ch nahra´vek. Obdoba spolecˇnosti RIAA. The Digital Millennium Copyright Act - Za´kon na autorska´ pra´va vyda´n ve Spojeny´ch sta´tech americky´ch 28.10.1998. Za´kon popisuje postih nelega´lnı´ produkce a sˇ´ırˇenı´ souboru˚ s autorsky´m pra´vem prˇes Internet. Vztahuje se pouze pro Spojene´ sta´ty americke´.
0
ISP leech
– –
fake
–
Internet Service Provider - Poskytovatel prˇipojenı´ k internetu. Uzˇivatel, ktery´ chce jen stahovat a nic prˇitom nesdı´let. V cˇeske´m ekvivalentu pijavice Falesˇny´ soubor. Uzˇivatel, veˇtsˇinou leech, si vytvorˇ´ı nesmyslny´ soubor velke´ velikosti, aby jej mohl da´t do sdı´lenı´ a zı´skat tak prˇ´ıstup do vy´meˇnne´ sı´teˇ.
OBSAH
1
Obsah 1
´ vod U
4
2
Legislativa 2.1 Proble´my s autorsky´mi pra´vy . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Ocˇeka´vany´ postup spolecˇnostı´ pro ochranu autorsky´ch pra´v . . . . . . . . 2.3 Ocˇeka´vany´ vy´voj vy´meˇnny´ch sı´tı´ . . . . . . . . . . . . . . . . . . . . . . . .
5 5 6 7
3
Jednotlive´ protokoly 3.1 Napster . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Audiogalaxy Satellite . . . . . . . . . . . . . . . . . 3.3 Kazaa . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Direct Connect . . . . . . . . . . . . . . . . . . . . . 3.5 eDonkey 2000 a eMule . . . . . . . . . . . . . . . . 3.6 BitTorrent . . . . . . . . . . . . . . . . . . . . . . . 3.7 Gnutella . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Prˇehled nejpouzˇ´ıvaneˇjsˇ´ıch klientu˚ vy´meˇnny´ch sı´tı´
. . . . . . . .
9 9 10 11 12 14 16 18 18
4
Bander 4.1 Na´vrh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Popis trˇ´ıd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20 20 21
5
Programa´torske´ rˇesˇenı´ aplikace Bander 5.1 Programa´torske´ rˇesˇenı´ Klient - Server cˇa´sti . . . . . . . . . . . . . . . . . .
23 23
6
Dokumentace 6.1 Programa´torska´ dokumentace . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Uzˇivatelska´ dokumentace . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25 25 25
7
Pouzˇ´ıva´nı´ aplikace Bander
26
8
Za´veˇr
32
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
˚ SEZNAM OBRA´ZKU
2
Seznam obra´zku˚ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Screenshot p2p klienta Napster . . . . . . . . . . . . . . . . . . . Screenshot p2p klienta sı´teˇ Audiogalaxy - Audiogalasy Satellite Screenshot p2p klienta sı´teˇ FastTrack - Kazaa . . . . . . . . . . . Screenshot p2p klienta sı´teˇ DirectConnect - strongDC++ . . . . Screenshot p2p klienta sı´teˇ eDonkey 2000 - eMule . . . . . . . . Screenshot p2p klienta sı´teˇ bitTorrent - bitTorrent . . . . . . . . . Screenshot p2p klienta sı´teˇ Gnutella - BearShare . . . . . . . . . Uka´zkovy´ diagram na´vrhove´ho vzoru Command . . . . . . . . Trˇ´ıdnı´ diagram aplikace Bander . . . . . . . . . . . . . . . . . . . Trˇ´ıdnı´ diagram aplikace Bander . . . . . . . . . . . . . . . . . . . Za´kladnı´ obrazovka aplikace Bander . . . . . . . . . . . . . . . . Nastavenı´ Banderu . . . . . . . . . . . . . . . . . . . . . . . . . . Ukoncˇenı´ vytva´rˇenı´ seznamu sdı´leny´ch souboru˚ . . . . . . . . . Uka´zka sta´hnutı´ seznamu souboru˚ . . . . . . . . . . . . . . . . . Uka´zka vy´beˇru seznamu souboru˚ . . . . . . . . . . . . . . . . . . Uka´zka sta´hnutı´ konkre´tnı´ polozˇky . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
9 10 11 13 15 17 18 20 21 24 26 27 28 29 30 31
SEZNAM TABULEK
3
Seznam tabulek 1 2
Nejpouzˇ´ıvaneˇjsˇ´ı p2p klienti . . . . . . . . . . . . . . . . . . . . . . . . . . . Rozdeˇlenı´ portu˚ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19 24
1
1
´ VOD U
4
´ vod U
Pocˇ´ıtacˇove´ sı´teˇ, at’ uzˇ loka´lnı´ nebo internet, jsou bezesporu obrovsky´m zdrojem dat. A pra´veˇ proto mu˚zˇe by´t proble´mem najı´t prˇesneˇ (ten) dany´ soubor, ktery´ potrˇebujeme. S rostoucı´mi mozˇnostmi a prostory pocˇ´ıtacˇovy´ch sı´tı´ a internetu se take´ rozru˚sta´ pocˇet uzˇivatelu˚ vyuzˇ´ıvajı´cı´ch tyto sı´teˇ. Jizˇ nestacˇ´ı ru˚zne´ vyhleda´vacı´ servery a data umı´steˇna´ na webovy´ch stra´nka´ch. Vy´meˇnne´ sı´teˇ byly urcˇeny prˇeva´zˇneˇ pro sdı´lenı´ potrˇebny´ch dokumentu˚ ve firemnı´ch sı´tı´ch. Uzˇ nestacˇilo nasdı´let adresa´rˇ, protozˇe prˇi veˇtsˇ´ım pocˇtu uzˇivatelu˚ zacˇaly by´t sdı´lene´ adresa´rˇe plne´ ru˚zny´ch dokumentu˚, urcˇeny´ch ke sdı´lenı´ a zacˇalo by´t proble´mem to za´kladnı´ - najı´t ten spra´vny´ dokument. Proto se zacˇalo pracovat na vy´meˇnny´ch sı´tı´ch a protokolech pro neˇ urcˇeny´ch. Klientu˚m teˇchto vy´meˇnny´ch sı´tı´ se rˇ´ıka´ p2p programy. Zkratka p2p znamena´ peer to peer neboli rovny´ s rovny´m. Jde o rovnocenne´ sı´t’ove´ propojenı´ mezi jednotlivy´mi uzˇivateli, kterˇ´ı si navza´jem sdı´lejı´ sve´ soubory. S vy´vojem programu˚, vyuzˇ´ıvajı´cı´ch protokoly na sdı´lenı´ dat se vsˇak zacˇaly objevovat i jine´ proble´my, a sice v podobeˇ autorsky´ch pra´v. Vy´voj nelze zastavit z velmi jednoduche´ho du˚vodu. Digita´lnı´ forma´ty pro hudbu a film, tj. soubory“, ktere´ jsou beˇzˇneˇ prˇenositelne´, snadno ukla´datelne´ a vsˇude prˇehra´vatelne´, prˇedstavujı´ o mnoho lepsˇ´ı a jednodusˇsˇ´ı technologii prˇed jiny´mi me´dii, zˇe nenı´ mozˇne´, aby si nenasˇly cestu k uzˇivatelu˚m. A pokud jim to pru˚mysl neumozˇnı´ lega´lneˇ, najdou si cestu nelega´lneˇ. Je jasne´, zˇe si hudebnı´ a filmovı´ vydavatele´ musı´ bra´nit svou pra´ci, a proto z tohoto pohledu je jejich boj proti internetovy´m pira´tu˚m zcela pochopitelny´. Prˇesto je jizˇ nynı´ jasne´, zˇe bude trˇeba, aby nabı´dli jistou alternativu, naprˇ´ıklad koupi hudebnı´ch alb prˇ´ımo ve forma´tu mp3, cozˇ je pro uzˇivatele prˇ´ıjemneˇjsˇ´ı nezˇ nosit s sebou plastikova´ CD. Vı´ce o problematice sdı´lenı´ a autorsky´ch pra´v bude uvedeno v prˇ´ısˇtı´ kapitole.
2
2
LEGISLATIVA
5
Legislativa
V te´to kapitole jsou popsa´ny proble´my ty´kajı´cı´ se vy´meˇnny´ch sı´tı´ s autorsky´mi pra´vy. Da´le bude uvedeno, co mu˚zˇeme cˇekat ve vy´voji vy´meˇnny´ch sı´tı´ a v boji proti jejich nelega´lnı´mu pouzˇ´ıva´nı´.
2.1
Proble´my s autorsky´mi pra´vy
V roce 2003 byla definitivneˇ prohla´sˇena za lega´lnı´, prˇicˇemzˇ to lze vzta´hnout i na dalsˇ´ı sı´teˇ a RIAA nemu˚zˇe zı´ska´vat osobnı´ u´daje o jednotlivy´ch uzˇivatelı´ch vy´meˇnny´ch sı´tı´. Nejvysˇsˇ´ı soud Holandska definitivneˇ rozhodl ve prospeˇch Kazaa, kdyzˇ prohla´sil, zˇe autorˇi nejsou odpoveˇdnı´ za to, co nabı´zı´ uzˇivatele´ na jejı´ sı´ti. Pra´veˇ kvu˚li tomuto soudu se ostatneˇ Kazaa prˇesunula do firmy Sharman Networks se sı´dlem na male´m tichomorˇske´m ostru˚vku. Soud nevypadal prˇ´ılisˇ optimisticky a Kazaa nechteˇla riskovat. Prˇesto soudnı´ masˇine´rie prˇes ru˚zna´ odvola´nı´ dospeˇla azˇ k nejvysˇsˇ´ımu soudu, ktery´ definitivneˇ rozhodl ve prospeˇch sdı´lenı´. Pro vy´meˇnne´ sı´teˇ to znamena´ prˇedevsˇ´ım velmi solidnı´ pra´vnı´ jistotu, a tak soucˇasneˇ prostor pro prˇesveˇdcˇova´nı´ investoru˚ o bezpecˇny´ch investicı´ch. I kdyby toto rozhodnutı´ nemeˇlo vliv na celou Evropskou unii, prˇispeˇje to minima´lneˇ ke stahova´nı´ vsˇech firem poskytujı´cı´ch vy´meˇnne´ sı´teˇ do Holandska. Trochu sporny´ vliv je na sı´teˇ typu eDonkey (Emule) nebo Direct Connect, kde je sice sı´t’ distribuovana´, ale tvorˇ´ı ji velke´ servery. Ty lze, a jizˇ se tak neˇkolikra´t stalo, cı´leneˇ soudnı´m rozhodnutı´m vypnout. Na jejich mı´sto sice vzˇdy nastoupı´ rˇada dalsˇ´ıch, ale prˇesto je to oblast, kde je jista´ spoluzodpoveˇdnost provozovatele takove´ho serveru v podobne´m smyslu, jako meˇl centra´lneˇ spravovany´ Napster. ”Prˇes prsty” rovneˇzˇ dostala RIAA, kdyzˇ se poskytovatel prˇipojenı´ Verizon postavil proti zˇa´dosti o vyda´nı´ identifikace svy´ch uzˇivatelu˚ sdı´lejı´cı´ch skladby. RIAA pro tyto zˇa´dosti, ktere´ by´vajı´ na´sledova´ny zˇalobami jednotlivy´ch osob, vyuzˇ´ıva´ za´kona DMCA, ktery´ dovoluje vlastnı´ku copyrightu podobne´ informace zı´ska´vat. Verizon protestoval, zˇe RIAA prˇekrucuje DMCA, protozˇe to poskytuje pouze mozˇnost trestat ISP, na jehozˇ serverech se neopra´vneˇneˇ nacha´zı´ copyrightem chra´neˇny´ obsah, nikoli trestat uzˇivatele takove´ho ISP. DMCA totizˇ vznikl v roce 1998, kdy vy´meˇnne´ sı´teˇ nebyly rozsˇ´ırˇene´, a tak za´kon na podobne´ prˇ´ıpady nepamatoval. Soudce dal za pravdu Verizonu, zˇe skutecˇneˇ RIAA nema´ pra´vo se jakkoli dozˇadovat informacı´ o jednotlivy´ch uzˇivatelı´ch, byt’ mu nejsou snahy RIAA o ochranu autorsky´ch pra´v nesympaticke´. V podstateˇ ale soucˇasna´ podoba DMCA toto neumozˇnˇuje a bude nutne´ prˇepracova´nı´ tohoto kontroverznı´ho za´kona. Prˇesto RIAA prohla´sila, zˇe se sve´ho boje vzda´t nehodla´ a nada´le pu˚jde po teˇch, co chra´neˇne´ soubory nabı´zı´.
2
LEGISLATIVA
6
Acˇkoli podobne´ pu˚tky ohledneˇ americke´ho pra´va na´m mohou prˇipadat smeˇsˇneˇ z pohledu jine´ zemeˇ, i Evropska´ unie prˇipravuje podobne´ za´kony pro u´cˇinneˇjsˇ´ı ochranu autorsky´ch pra´v a jizˇ dnes jsou poskytovatele´ zavaleni zˇa´dostmi o identifikaci uzˇivatelu˚. V prˇ´ıpadeˇ veˇtsˇ´ıch firem pak nenı´ proble´mem i bez podobny´ch zˇa´dostı´ snadno dohledat identifikacˇnı´ u´daje o takove´ firmeˇ. A pochopitelneˇ jesˇteˇ nesmı´me zapomı´nat, zˇe kdyzˇ soud uzna´, zˇe provozovatel vy´meˇnne´ sı´teˇ neodpovı´da´ za obsah, jesˇteˇ to automaticky neznamena´ legalizaci jednotlivy´ch uzˇivatelu˚. Je sice mozˇne´ stahovat z internetu te´meˇrˇ co chcete, ale nabı´zenı´ copyrightem chra´neˇny´ch souboru˚ trestne´ je, prˇestozˇe bez nabı´zenı´ souboru˚ by vy´meˇnne´ sı´teˇ ztratily smysl. Podobna´ soudnı´ rozhodnutı´ spı´sˇe da´vajı´ prostor firma´m pro vylepsˇova´nı´ funkcı´ jejich programu˚ a pro snadneˇjsˇ´ı sdı´lenı´ souboru˚ v jejich sı´tı´ch.
2.2
Ocˇeka´vany´ postup spolecˇnostı´ pro ochranu autorsky´ch pra´v
Co mu˚zˇeme tedy s nejveˇtsˇ´ı pravdeˇpodobnostı´ ocˇeka´vat od spolecˇnostı´ pro ochranu autorsky´ch pra´v v nejblizˇsˇ´ıch letech? • Zprˇ´ısneˇnı´ ochran Zejme´na filmovy´, ale i hudebnı´ pru˚mysl zprˇ´ısnı´ ochrany na nosicˇ´ıch. Mozˇna´ budou cracknuty, mozˇna´ ne, kazˇdopa´dneˇ se tı´m kopı´rova´nı´ me´diı´ pro beˇzˇne´ uzˇivatele zkomplikuje, protozˇe ne kazˇdy´ uzˇivatel ma´, umı´ si sta´hnout a umı´ pouzˇ´ıvat klonovacı´ programy. • Bude pokracˇovat lega´lnı´ va´lka Urcˇiteˇ by uzˇivatele´ sdı´lejı´cı´ data nemeˇli pocˇ´ıtat s tı´m, zˇe se spolecˇnosti jako americka´ asociace nahra´vacı´ho pru˚myslu RIAA a za nı´ take´ americka´ filmova´ asociace MPAA snadno vzda´. Obeˇ organizace budou hledat dalsˇ´ı lega´lnı´ cesty, jak prˇedevsˇ´ım zabra´nit nebo uzˇivatelu˚m alesponˇ znechutit sdı´lenı´ souboru˚. • Rozsˇirˇova´nı´ prodejen digita´lnı´ hudby Urcˇiteˇ se bude da´l rozsˇirˇovat vyuzˇitı´ internetove´ sluzˇby Apple iTunes, prˇes kterou proda´va´ Apple Computers hudbu. Podobneˇ ambicio´znı´ prodejnu“ chce vytvorˇit i Microsoft, mozˇna´ v partnerstvı´ s dalsˇ´ımi firmami, pro platformu Windows. Na rozdı´l od Apple bude platna´ i v dalsˇ´ıch zemı´ch a kontinentech, mozˇna´ dokonce dorazı´ i k na´m. • Dalsˇ´ı vyuzˇ´ıva´nı´ p2p programu˚ Sta´le se budou pouzˇ´ıvat nyneˇjsˇ´ı a nejspı´sˇ i vyvı´jet nove´ p2p programy umozˇnˇujı´cı´ vy´meˇnu dat mezi uzˇivateli. Jednotlive´ programy jsou popsa´ny da´le v te´to pra´ci.
2
LEGISLATIVA
7
Prˇesto vsˇechno bude nelega´lnı´ sˇ´ırˇenı´ hudby i videa nada´le pokracˇovat. Progno´zy jsou takove´, zˇe velke´ vy´meˇnne´ syste´my budou kvu˚li RIAA a MPAA stagnovat, ale budou vznikat nove´ metody, prˇedevsˇ´ım v u´zky´ch krouzˇcı´ch osob – naprˇ´ıklad vy´meˇnne´ minicentra´ly v loka´lnı´ch Wi-Fi sı´tı´ch, LAN sı´tı´ch, sˇkolnı´ch a business sı´tı´ch.
2.3
Ocˇeka´vany´ vy´voj vy´meˇnny´ch sı´tı´
Co tedy mu˚zˇeme na druhou stranu ocˇeka´vat ve vy´voji vy´meˇnny´ch sı´tı´? • Dalsˇ´ı decentralizace Decentralizace zpu˚sobı´ tvorbu loka´lnı´ch komunit, ktere´ fungujı´ le´pe nezˇ sı´t’ s neˇkolika milo´ny lidı´. Nelze totizˇ jednoznacˇneˇ rˇ´ıct, zda tak velky´ pocˇet uzˇivatelu˚ a tı´m i velky´ pocˇet kopiı´ souboru˚ neˇco kladne´ho prˇina´sˇ´ı. Naprˇ. u Kazaa je jedno, jestli se dany´ soubor vyskytuje 3x nebo tisı´ckra´t vı´c. Stacˇ´ı ma´lo kopiı´, pokud budou bezpecˇneˇ a rychle ke stazˇenı´. Oproti tomu u klientu˚ se segmentovy´m stahova´nı´m, jako je naprˇ. StrongDC++ je urcˇiteˇ veˇtsˇ´ı pocˇet kopiı´ vy´hodou. • Dalsˇ´ı anonymizace Anonymita a anonymizace je samozrˇejmeˇ silnou zbranı´ uzˇivatelu˚ sı´tı´ proti mozˇne´mu odhalenı´, proble´mu˚m a trestnı´mu stı´ha´nı´. • Vyteˇsnˇova´nı´ pijavic ”leech” a falesˇny´ch souboru˚ ”fake” Vyteˇsnˇova´nı´ pijavic se docı´lı´ povinny´m sdı´lenı´m kvalitnı´ch“ souboru˚, naprˇ. monitorova´nı´m podle tzv. TTH. TTH - (Tiger tree hash) je vlastneˇ kontrolnı´ soucˇet souboru. Je to digita´lnı´ otisk oveˇrˇene´ho souboru. Pouzˇ´ıvajı´ se proto, zˇe vyhleda´nı´m souboru se stejny´m TTH umozˇnˇuje uzˇivateli v prˇ´ıpadeˇ potrˇeby stahovat stejny´ soubor od vı´ce lidı´. Velmi to uzˇivatel ocenı´ zejme´na v prˇ´ıpadech, kdy se odpojı´ cˇloveˇk, od ktere´ho soubor stahoval. V drˇ´ıveˇjsˇ´ıch doba´ch fungovalo hleda´nı´ na´hradnı´ch zdroju˚ podle na´zvu a velikosti souboru. Cˇasto se ale jednalo o lehce pozmeˇneˇny´ soubor se stejnou velikostı´. To mohlo zpu˚sobit naprˇ. prˇi prˇehra´va´nı´ zvukove´ho souboru ru˚zne´ praska´nı´, prˇeskakova´nı´ apod. Dnes jsou na hubech preferova´ni klienti podporujı´cı´ TTH u´daj.
2
LEGISLATIVA
8
S pojmem TTH je potrˇeba uve´st jesˇteˇ pojem, ktery´ se v te´to souvislosti uva´dı´, a to sice magnety neboli magnetlinky. Magnety nebo-li magnetlinky jsou vlastneˇ TTH ”oveˇrˇeny´ch a kvalitnı´ch” souboru˚, ktere´ jsou uverˇejneˇny na webovy´ch stra´nka´ch. Po kliknutı´ na odkaz magnetlinku se automaticky spustı´ klient, ktery´ tuto funkci podporuje a spustı´ hleda´nı´ dane´ho souboru. Za´veˇrem se tak da´ rˇ´ıci, zˇe dokud bude fungovat internet, nenı´ cesta, jak zabra´nit fungova´nı´ vy´meˇnny´ch syste´mu˚. I kdyby je zacˇali aktivneˇ potlacˇovat ISP ucpa´va´nı´m portu˚, pak v tom prˇ´ıpadeˇ pojedou vy´meˇnı´ky na portu 80, kde beˇzˇ´ı web a ten samozrˇejmeˇ zaka´zat nelze. Je mozˇne´, zˇe pokud budou represe znacˇne´, budou vy´meˇnne´ sı´teˇ malicˇko zahna´ny do podzemı´. Jejich pouzˇ´ıva´nı´ bude zkomplikova´no naprˇ. nutnostı´ osobnı´ho firewallu, pouzˇ´ıva´nı´m obtı´zˇneˇjsˇ´ıch aplikacı´ jako naprˇ. BitTorrent, pouzˇ´ıva´nı´m PeerGuardianu prˇed skenova´nı´m ze strany orga´nu˚ atd. Rozhodneˇ uzˇ nebude vyuzˇ´ıva´nı´ vy´meˇnny´ch sı´tı´ tak masove´.
3
3
JEDNOTLIVE´ PROTOKOLY
9
Jednotlive´ protokoly
V te´to cˇa´sti uva´dı´m nejrozsˇ´ırˇeneˇjsˇ´ı p2p programy pro sdı´lenı´ dat a protokoly, na ktery´ch jsou tyto programy zalozˇeny.
3.1
Napster
Za praotce soucˇasny´ch vy´meˇnny´ch sı´tı´ je obecneˇ povazˇova´n media´lneˇ zna´my´ Napster. Napster vy´meˇnu souboru˚ zacˇal a neby´t jeho u´speˇsˇnosti, teˇzˇko by dnes existovalo tolik p2p programu˚ a tolik uzˇivatelu˚ vyuzˇ´ıvajı´cı´ch sdı´lenı´ souboru˚. Kdyzˇ byl program na sˇpici, tak nemeˇl mezi vy´meˇnny´mi sı´teˇmi konkurenci. Jeho jedinou nevy´hodou oproti dnesˇnı´m programu˚m bylo to, zˇe se nedaly sdı´let jine´ soubory nezˇ s prˇ´ıponou mp3. Mozˇna´ i to je hlavnı´ du˚vod vsˇech soudnı´ch sporu˚, ktere´ se kolem tohoto programu tocˇily. Princip tohoto syste´mu spocˇ´ıval v tom, zˇe po spusˇteˇnı´ se Napster prˇipojil k neˇktere´mu z doma´cı´ch serveru˚, ve ktery´ch byly ulozˇeny databa´ze vsˇech sdı´leny´ch souboru˚. Pak uzˇ za´lezˇelo pouze na uzˇivateli, jakou MP3ku si nasˇel a sta´hnul. Tato cˇinnost se nelı´bila spolecˇnosti RIAA, a tak napadla Napster a podala trestnı´ ozna´menı´ k soudu na porusˇova´nı´ autorsky´ch pra´v tı´m, zˇe skrze tuto sluzˇbu bylo mozˇno zı´skat ilega´lneˇ MP3 skladby. Napster musel proto skoncˇit svoji cˇinnost.
Obra´zek 1: Screenshot p2p klienta Napster
3
3.2
JEDNOTLIVE´ PROTOKOLY
10
Audiogalaxy Satellite
Audiogalaxy Satellite umozˇnˇoval stahova´nı´ prˇes webove´ rozhranı´, cozˇ bylo pro uzˇivatele velmi prˇ´ıjemne´ pra´veˇ svou jednoduchostı´. Mezi cˇesky´mi uzˇivateli byl velmi rozsˇ´ırˇen, protozˇe se zde dalo sta´hnout mnoho cˇeske´ hudby. Audiogalaxy Satellite je dalsˇ´ım programem, jehozˇ cˇinnost musela by´t kvu˚li RIAA ukoncˇena. Autorˇi programu se domluvili s RIAA na mimosoudnı´m vyrovna´nı´ a okamzˇite´m zastavenı´.
Obra´zek 2: Screenshot p2p klienta sı´teˇ Audiogalaxy - Audiogalasy Satellite
3
3.3
JEDNOTLIVE´ PROTOKOLY
11
Kazaa
Po pa´du Napsteru se nejveˇtsˇ´ı oblibeˇ teˇsˇila KaZaA, vyuzˇ´ıvajı´cı´ protokolu FastTrack. Trnem v oku se asociaci RIAA u Napsteru stala prˇedevsˇ´ım technika shromazˇd’ova´nı´ vsˇech sdı´leny´ch hudebnı´ch nahra´vek na jednom centra´lnı´m serveru, cˇehozˇ se tvu˚rci sı´teˇ KaZaA vyvarovali. Origina´lnı´ verze klienta KaZaA Media Desktop je vsˇak plna´ spywaru a reklamnı´ch oken. Tuto nevy´hodu cˇa´stecˇneˇ rˇesˇ´ı jejı´ odlehcˇena´ verze KaZaA Lite. Prˇi sdı´lenı´ dat v te´to sı´ti plnı´ pocˇ´ıtacˇe funkci tzv. uzlu˚ nebo superuzlu˚. Uzly jsou ve skutecˇnosti pocˇ´ıtacˇe, ktere´ nabı´zejı´ vlastnı´ data (hudbu, filmy apod.). Naproti tomu superuzly plnı´ funkci jake´si spojky mezi jednotlivy´mi pocˇ´ıtacˇi, protozˇe udrzˇujı´ a zverˇejnˇujı´ seznamy vsˇech sdı´leny´ch dat. Pro u´speˇsˇne´ provozova´nı´ odlehcˇene´ verze K-Lite je nutne´ nainstalovat si origina´lnı´ KaZaA Media Desktop, proti spywaru a adwaru vsˇak uzˇivatele chra´nı´ modul nazvany´ KShield. Prˇi vyhleda´va´nı´ multimedia´lnı´ch souboru˚ syste´m umozˇnˇuje blı´zˇe specifikovat neˇktere´ detailnı´ parametry, jako naprˇ´ıklad jeho kvalitu (bitrate) nebo zˇa´nr. Uzˇitecˇne´ jsou take´ integrovane´ prohlı´zˇecˇe videa, hudby a obra´zku˚, ktere´ dovolujı´ spustit cˇa´st souboru jizˇ beˇhem jeho stahova´nı´. Uzˇivatel se tak snadno mu˚zˇe prˇesveˇdcˇit, zda se opravdu jedna´ o soubor, ktery´ chteˇl. Klient Kazaa se prˇipojı´ k vy´meˇnne´ sı´ti automaticky hned prˇi spusˇteˇnı´. Nemusı´te vybı´rat zˇa´dne´ servery, neˇkde neˇco nastavovat, program se spustı´ automaticky. Na jedne´ straneˇ je to velmi jednoduche´, automaticky se vybere jeden z vhodny´ch prˇ´ıpojny´ch serveru˚, ale na druhe´ straneˇ nema´te moc mozˇnostı´ neˇco ovlivnit.
Obra´zek 3: Screenshot p2p klienta sı´teˇ FastTrack - Kazaa
3
3.4
JEDNOTLIVE´ PROTOKOLY
12
Direct Connect
Autorem programu Direct Connect je firma NeoModus, ktera´ jej vydala na internetovy´ trh jizˇ v roce 2001. Direct Connect (DC) je ovsˇem plny´ reklam. Proto byla po neˇjake´m cˇase vytvorˇena i alternativa DC, ktera´ je stejneˇ funkcˇnı´, ale bez reklam. Jmenuje se Direct Connect++ (DC++). I v tuto chvı´li je DC++ neusta´le zlepsˇova´n a da´le vyvı´jen, cozˇ mu zajisˇt’uje velkou popularitu a program se tak rˇadı´ mezi nejpouzˇ´ıvaneˇjsˇ´ı software pro vy´meˇnu souboru˚. Na rozdı´l od programu˚ Kazaa nebo Gnutella je DC postaven na odlisˇne´ koncepci. Uzˇivatele´ se v tomto prˇ´ıpadeˇ neprˇipojujı´ na jeden centra´lnı´ server jako u jiny´ch vy´meˇnny´ch sı´tı´, ale obsluzˇny´ch serveru˚ jsou tisı´ce. Teˇmto serveru˚m se rˇ´ıka´ huby. Huby jsou pocˇ´ıtacˇe, na ktery´ch beˇzˇ´ı specia´lnı´ aplikace (naprˇ. PtokaX). Hub a s nı´m spojenou komunitu lidı´ si tak mu˚zˇe vybudovat kdokoli s rychly´m prˇipojenı´m k internetu. Hlavnı´ u´kol hubu je udrzˇovat aktua´lnı´ seznam prˇipojeny´ch uzˇivatelu˚ a vyhleda´vat jimi pozˇadovana´ data.Po prˇipojenı´ probı´ha´ vyhleda´va´nı´ souboru˚ u vsˇech uzˇivatelu˚, kterˇ´ı jsou k dane´mu hubu prˇipojeni. Toto rˇesˇenı´ prˇina´sˇ´ı neˇkolik vy´hod i nevy´hod. Na jednu stranu je takto postavena´ sı´t’hu˚rˇe postizˇitelna´ ru˚zny´mi za´kazy, protozˇe hub lze provozovat prakticky na jake´mkoliv pocˇ´ıtacˇi s alesponˇ trochu rychlou linkou. Prˇes hub probı´hajı´ pouze rˇ´ıdı´cı´ data, samotna´ vy´meˇna dat mezi dveˇma uzˇivateli jizˇ probı´ha´ prˇ´ımo mezi nimi (v tomto nenı´ rozdı´l oproti Kazee). Na rozdı´l od sı´teˇ Kazaa, kde jsou v jednu chvı´li prˇipojeny miliony uzˇivatelu˚, je k jednomu hubu prˇipojeno maxima´lneˇ neˇkolik tisı´c pocˇ´ıtacˇu˚. Proto je objem dat uzˇivatelu˚ prˇipojeny´ch k jednomu hubu rˇa´doveˇ mensˇ´ı, ale to je cˇasto vynahrazeno ”loka´lnı´mi” lahu˚dkami v podobeˇ doma´cı´ hudby, cˇi filmu˚, ktere´ jsou na cˇesky´ch hubech beˇzˇneˇ k dispozici, zatı´mco v celosveˇtove´ sı´ti Kazaa by je uzˇivatel hledal dlouho a dost mozˇna´ i marneˇ. Kazˇdy´ hub ma´ sve´ho spra´vce cˇi hned neˇkolik spra´vcu˚, kterˇ´ı se starajı´ o porˇa´dek na hubu. Na veˇtsˇinu hubu˚ jste vpusˇteˇni pouze v prˇ´ıpadeˇ, zˇe sami ma´te co nabı´dnout a va´sˇ sdı´leny´ adresa´rˇ obsahuje urcˇite´ mnozˇstvı´ dat - naprˇ´ıklad 5 GB dat a vı´ce. Pokud ma´te me´neˇ dat, na hub nejste vpusˇteˇni. Spra´vci si take´ hlı´dajı´, co za soubory sdı´lı´te. Na veˇtsˇineˇ hubu˚ nenı´ povolena tvrda´ cˇi deˇtska´ erotika a sdı´lene´ soubory samozrˇejmeˇ musı´ mı´t smysl. Sdı´let 500MB soubor plny´ nesmyslny´ch znaku˚ se nevypla´cı´. Takovy´mto falesˇny´m souboru˚m se rˇ´ıka´ fake“. Po objevenı´ neˇcˇeho takove´ho je dotycˇne´mu uzˇivateli zpravidla zaka´za´n prˇ´ıstup na urcˇitou dobu. Tento za´kaz prˇ´ıstupu se nazy´va´ ban. Kazˇdy´ hub ma´ sva´ vlastnı´ pravidla, ktera´ je dobra´ zna´t, aby se uzˇivatel svy´m jedna´nı´m zbytecˇneˇ neprˇipravil o mozˇnost prˇ´ıstupu na dany´ hub. Veˇtsˇinou je specifikova´na rˇecˇ,
3
JEDNOTLIVE´ PROTOKOLY
13
kterou je mozˇne´ na dane´m hubu komunikovat a zpravidla je omezen i pocˇet hubu˚, ke ktery´m mu˚zˇe by´t uzˇivatel v jednu chvı´li prˇipojen. Urcˇiteˇ jako velikou vy´hodu ocenı´ uzˇivatele´ DC++ to, zˇe si mohou v krite´riı´ch pro hleda´nı´ nastavit hleda´nı´ pozˇadovany´ch souboru˚ pouze u uzˇivatelu˚, kterˇ´ı majı´ volne´ pozice pro stahova´nı´ souboru˚. Teˇmto pozicı´m se rˇ´ıka´ sloty. Tolik kolik ma´ uzˇivatel otevrˇeno slotu˚, tolik souboru˚ lze od neˇj najednou stahovat. Mezi nevy´hody DC++ patrˇilo to, zˇe nedoka´zal rozpoznat, zda uzˇivatel, od ktere´ho se data stahovala, posı´lal data na 10% kapacity vasˇ´ı linky nebo na 90%. V praxi to vypadalo tak, zˇe jste vyhledali pozˇadovany´ soubor, nalezli jeho kopie u dalsˇ´ıch uzˇivatelu˚ a cˇekali, kdy se u neˇktere´ho z nich uvolnı´ slot. Ve chvı´li, kdy se tak stalo, se soubor zacˇal stahovat. Pokud byla rychlost na maximu, bylo to v porˇa´dku. Pokud ne, museli jste uzˇivatele vyrˇadit ze seznamu a cˇekat, azˇ bude mı´t volny´ slot neˇkdo jiny´ s rychlejsˇ´ım prˇipojenı´m. V soucˇasnosti jsou jizˇ k dispozici dalsˇ´ı klienti noveˇjsˇ´ı generace, kterˇ´ı tento proble´m doka´zˇ´ı obejı´t a nabı´zı´ rˇadu dalsˇ´ıch vlastnostı´, ktere´ DC++ nema´. Naprˇ. segmentove´ stahova´nı´. K teˇmto klientu˚m patrˇ´ı naprˇ. CZDC++, StrongDC++ nebo DC:PRO.
Obra´zek 4: Screenshot p2p klienta sı´teˇ DirectConnect - strongDC++
3
3.5
JEDNOTLIVE´ PROTOKOLY
14
eDonkey 2000 a eMule
Vy´meˇnna´ sı´t’eDonkey 2000 vyuzˇ´ıva´ ke sdı´lenı´ neˇkolika veˇtsˇ´ıch serveru˚, ke ktery´m se ´ kolem teˇchto serveru˚ je hlavneˇ shromazˇd’ova´nı´ a u´drzˇba prˇipojujı´ jednotlivı´ uzˇivatele´. U informacı´ o dostupny´ch souborech a zajisˇteˇnı´ jejich vyhleda´va´nı´. To je tedy podobny´ princip jako naprˇ´ıklad princip hubu˚ u Direct Connect, ovsˇem s tı´m podstatny´m rozdı´lem, zˇe servery eDonkey 2000 si vymeˇnˇujı´ informace mezi sebou, takzˇe pokud je uzˇivatel prˇipojen byt’jen k jedine´mu z nich, zı´ska´va´ automaticky u´daje o souborech dosazˇitelny´ch z ostatnı´ch serveru˚, cozˇ u DC nenı´. Oficia´lnı´m klientem sı´teˇ eDonkey 2000 (eD2k) je stejnojmenny´ program eDonkey 2000, ktery´ je plny´ reklam a nenabı´zı´ takove´ sˇiroke´ mozˇnosti jako jinı´ klienti te´to vy´meˇnne´ sı´teˇ. Mnohem pouzˇ´ıvaneˇjsˇ´ım klientem pro tuto sı´t’je p2p program jme´nem eMule. eMule se v soucˇasnosti teˇsˇ´ı sta´le veˇtsˇ´ı oblibeˇ uzˇivatelu˚ a pomalu se sta´va´ jednı´m z nejoblı´beneˇjsˇ´ıch p2p klientu˚ vu˚bec. Je navı´c oproti klientu eDonkey 2000 vytva´rˇena jako Open Source. Je tedy zcela volneˇ a lega´lneˇ k dispozici, je zdarma a na rozdı´l od eD2k neobsahuje zˇa´dnou reklamu. Nabı´zı´ velmi pokrocˇile´ mozˇnosti zı´ska´va´nı´ a sdı´lenı´ souboru˚. eMule obsahuje vestaveˇne´ho IRC klienta, ktery´ usnadnˇuje a zrychluje prˇ´ıpadnou komunikaci s ostatnı´mi uzˇivateli. Prˇi vyhleda´va´nı´ souboru˚ nabı´zı´ cˇtyrˇi za´kladnı´ techniky: Server, Global, Kad Network a FileDonkey. Pomocı´ varianty Server lze prohleda´vat pouze server, ke ktere´mu je uzˇivatel pra´veˇ prˇihla´sˇeny´. Prˇi pouzˇitı´ mozˇnosti Global tento klient zajistı´, zˇe budou prohleda´ny vsˇechny dostupne´ servery. Kad Network prohleda´ sı´t’ Kademlia, prˇicˇemzˇ servery eDonkey 2000 budou ignorova´ny, a konecˇneˇ volba FileDonkey zaha´jı´ hleda´nı´ skrze webove´ rozhranı´. V ra´mci cele´ho projektu eMule beˇzˇ´ı take´ vy´voj zcela nove´ho typu aplikace, ktery´ nema´ mezi p2p klienty obdoby. Jmenuje se MobileMule a jedna´ se o program pro mobilnı´ telefony s podporou jazyka Java, ktery´ dovoluje vzda´leneˇ ovla´dat beˇzˇ´ıcı´ho eMule klienta. V praxi cela´ veˇc vypada´ prˇiblizˇneˇ tak, zˇe si doma na sve´m pocˇ´ıtacˇi necha´ uzˇivatel beˇzˇet eMule a pomocı´ mobilnı´ho telefonu vybavene´ho MobileMule pak ma´ mozˇnost odkudkoli sledovat aktua´lnı´ rychlost stahova´nı´, vyhleda´vat nove´ soubory apod. Na telefon si stacˇ´ı nainstalovat zhruba 50kB soubor ze stra´nek mobil.emule-project.net. Program eMule pak musı´ jet v aktivnı´m rezˇimu a mı´t otevrˇeny´ port 80. Na pocˇ´ıtacˇi nemu˚zˇe beˇzˇet jiny´ webovy´ server na tomto portu. V mozˇnostech u webove´ho rozhranı´ je pak potrˇeba povolit mobilMule. I z mobilnı´ho telefonu pak po zada´nı´ prˇihlasˇovacı´ch u´daju˚ mu˚zˇe uzˇivatel videˇt, jak rychle zrovna stahuje, mu˚zˇe mazat soubory z fronty pro stahova´nı´, vyhleda´vat soubory a prˇida´vat je do stahova´nı´, nebo prˇ´ıpadneˇ mu˚zˇe vypnout cely´ pocˇ´ıtacˇ prˇes mobilnı´ telefon. eMule da´le nabı´zı´ podrobne´ statistiky stahova´nı´ s grafy, IRC klienta, prˇeda´va´nı´ zpra´v apod.
3
JEDNOTLIVE´ PROTOKOLY
15
Vy´hodou eMule je stahova´nı´ cˇa´stı´ jednoho souboru od velke´ho mnozˇstvı´ uzˇivatelu˚ soucˇasneˇ, beˇzˇneˇ od desı´tek azˇ stovek uzˇivatelu˚. Tito uzˇivatele´ prˇitom nemusı´ mı´t soubor ´ plneˇ stejneˇ to platı´ i opacˇny´m cely´, stacˇ´ı kdyzˇ majı´ tu cˇa´st, kterou jesˇteˇ nema´te vy. U smeˇrem. I od va´s uzˇivatele´ stahujı´ soubory, a to i ty, ktere´ jesˇteˇ nema´te cele´. Cˇ´ım vı´c lide´ stahujı´ od va´s, tı´m vy ma´te lepsˇ´ı pozici ve fronta´ch na jednotlive´ cˇa´sti souboru. Kdo tedy nabı´zı´ hodneˇ, stahuje rychleji. Na rozdı´l tedy od Kazaa, kde velka´ veˇtsˇina uzˇivatelu˚ vu˚bec nic nenabı´zı´ a jen stahuje, je eMule zalozˇena na vza´jemne´ reciprociteˇ. Na sı´ti eDonkey 2000 se da´ najı´t te´meˇrˇ vsˇechno a u aktua´lnı´ch veˇcı´, ktere´ nabı´zı´ vı´ce uzˇivatelu˚, mu˚zˇete stahovat i velmi rychle. Raritnı´ veˇci sice chvı´li trvajı´, ale po delsˇ´ım prˇipojenı´, kdy si uzˇivatel vystojı´ frontu, se na neˇj rˇada dostane. eMule da´va´ uzˇivatelu˚m lepsˇ´ı pozici ve fronta´ch prˇi delsˇ´ım prˇipojenı´, proto je tento klient vhodny´ zejme´na na pevna´ prˇipojenı´. Rovneˇzˇ vzhledem k te´meˇrˇ trvale´mu odchozı´mu provozu je nutne´ u prˇipojenı´ k internetu s omezenı´m na prˇenesena´ data (FUP) trochu hlı´dat prˇenesene´ objemy. To se ty´ka´ zejme´na prˇipojenı´ pomocı´ technologie ADSL. Nova´ verze eMule podporuje vedle eDonkey take´ zcela novou sı´t’Kademlia (zkra´ceneˇ Kad), ktera´ nevyzˇaduje zˇa´dne´ centra´lnı´ servery a vsˇichni uzˇivatele´ vza´jemneˇ vytva´rˇejı´ velky´ autonomnı´ syste´m. Na´dhernou vlastnostı´ eMuly je mimo mobileMule I vzda´lena´ spra´va. Mu˚zˇete zapnout na sve´m pocˇ´ıtacˇi webovy´ server eMuly a vzda´leneˇ se tak odkudkoli prˇipojit ke sve´mu doma´cı´mu pocˇ´ıtacˇi a sledovat, jak se stahujı´ soubory, vyhleda´vat soubory a prˇida´vat je do stahova´nı´.
Obra´zek 5: Screenshot p2p klienta sı´teˇ eDonkey 2000 - eMule
3
3.6
JEDNOTLIVE´ PROTOKOLY
16
BitTorrent
BitTorrent funguje oproti prˇedem zmı´neˇny´m p2p klientu˚m u´plneˇ jinak. Pro kazˇde´ stahova´nı´ se vytvorˇ´ı vlastnı´ sı´t’, jejı´mzˇ jediny´m u´kolem je co nejrychleji distribuovat pozˇadovany´ soubor. Jakmile je soubor stazˇen, sı´t’zase zanikne. Stazˇene´ cˇa´sti souboru se ihned poskytujı´ dalsˇ´ım uzˇivatelu˚m. Za´kladem kazˇde´ takto vytvorˇene´ torrentove´ sı´teˇ je koordinacˇnı´ program nazvany´ tracker. Ten inicializuje sı´t’a funguje jako informacˇnı´ server pro vsˇechny pocˇ´ıtacˇe, ktere´ se k neˇmu prˇipojı´. Aby se mohl pocˇ´ıtacˇ prˇipojit do sı´teˇ, musı´ nejdrˇ´ıve nava´zat spojenı´ s trackerem. K tomu slouzˇ´ı soubor s koncovkou torrent. Ten obsahuje URL trackeru, informace o de´lce souboru a kontrolnı´m soucˇtu. Da´le poskytuje informace o tom, na kolik bloku˚ je soubor rozdeˇlen a jak velke´ tyto bloky jsou(zejme´na od 256 kb do 2 MB). Prˇi posı´la´nı´ souboru jsou tyto bloky jesˇteˇ da´le deˇleny a posı´lajı´ se jednotliveˇ jako pakety o velikosti 16 kB. Prˇi spojenı´ pocˇ´ıtacˇe s trackerem se z pocˇ´ıtacˇe stane u´cˇastnı´k, neboli peer, na´hodneˇ vytvorˇene´ vy´meˇnne´ sı´teˇ. Vygeneruje si vlastnı´ identifikacˇnı´ cˇ´ıslo. Toto identifikacˇnı´ cˇ´ıslo se znacˇ´ı peer ID a ma´ de´lku 20 bytu˚. Vygenerovane´ peer ID se odesˇle trackeru a slouzˇ´ı k jendoznacˇne´mu urcˇenı´ pocˇ´ıtacˇe v sı´ti. Peer se od trackeru dozvı´, kolik dalsˇ´ıch peeru˚ je v sı´ti, kolik z nich nabı´zı´ kompletnı´ soubory ke stazˇenı´(tzv. ”seedery”) a kolik z nich ma´ jenom cˇa´st souboru ke stazˇenı´(tzv. ”leechery”). Tracker poskytuje peeru jesˇteˇ seznam dalsˇ´ıch 50 ID peeru˚, se ktery´mi je mozˇne´ nava´zat spojenı´. Nynı´ jizˇ nenı´ tracker potrˇeba, jeho u´kol sestavenı´ sı´teˇ je splneˇn. Na posı´la´nı´ bloku˚ dat se jizˇ domlouvajı´ peery mezi sebou. Novy´ peer v sı´ti oslovı´ dalsˇ´ı peery a pozˇa´da´ je o sta´hnutı´ dat. Tento pozˇadavek se nazy´va´ handshake a neobsahuje zˇa´dna´ konkre´tnı´ data. Pote´ si peery vymeˇnı´ tzv. bitove´ pole, cozˇ jsou informace o tom, ktere´ datove´ bloky se jizˇ sta´hly. Pomocı´ bitove´ho pole si peer postupneˇ deˇla´ obra´zek o tom, ktere´ bloky dat jsou v sı´ti snadno ke stazˇenı´ a ktere´ ne. Jakmile tyto informace vyhodnotı´, tak zacˇne stahovat me´neˇ dostupne´ bloky, cˇ´ımzˇ se zabranˇuje prˇeteˇzˇova´nı´ sı´teˇ. I ve vy´meˇnne´m syste´mu BitTorrent platı´, zˇe cˇ´ım vı´c a vy´hodneˇji uzˇivatel nabı´zı´ data ke stazˇenı´, tı´m ma´ lepsˇ´ı mozˇnost on sa´m ke sta´hnutı´ pozˇadovany´ch souboru˚. Uzˇivatel totizˇ mu˚zˇe da´vat prˇednost peeru˚m s rychly´m prˇipojenı´m a ty pomalejsˇ´ı blokovat, cozˇ je v jiste´m slova smyslu sobectvı´. Aby se tomuto jevu zabra´nilo, platı´, zˇe pokud nabı´zı´ uzˇivatel maly´ upload, nemu˚zˇe stahovat od ostatnı´ch. Blokova´nı´ peeru˚ se nazy´va´ choking. Aby se ze stahova´nı´ nestalo neusta´le povolova´nı´ a blokova´nı´, je mozˇne´ prˇijmout novy´ peer a zablokovat stary´ pouze kazˇdy´ch 10 vterˇin. Pro upload ma´ kazˇdy´ uzˇivatel v za´kladnı´m nastavenı´ 4 neblokovane´ peery.
3
JEDNOTLIVE´ PROTOKOLY
17
Tı´m, zˇe se zacˇnou stahavat pozˇadovana´ data, ovsˇem cely´ proces zdaleka nekoncˇ´ı. Peer neusta´le hleda´ dalsˇ´ı a hlavneˇ rychlejsˇ´ı peery. K tomu pouzˇ´ıva´ funkci ”optimistic unchoking”. Peer nava´zˇe kazˇdy´ch 30 sekund spojenı´ s novy´m peerem. Pokud je rychlost uploadu i downloadu dostatecˇna´, zu˚stane spojenı´ nava´zane´. Pokud ne, pokracˇuje peer prˇi stahova´nı´ v hleda´nı´ dalsˇ´ıch peeru˚. Pokud uzˇivatel beˇhem 1 minuty neprˇijme od jine´ho peeru zˇa´dne´ bloky dat, automaticky prˇedpokla´da´, zˇe ho ten druhy´ peer zablokoval. V tomto prˇ´ıpadeˇ provede funkci ”antisnubbing”, pomocı´ ktere´ tento peer vyrˇadı´ ze sı´teˇ a na jeho mı´sto provede samostatny´ optimistic unchoking. Proble´mem je stazˇenı´ poslednı´ch bloku˚ dat. Rychlost stahova´nı´ rapidneˇ klesne, protozˇe peer potrˇebuje ty bloky, ktere´ se nedajı´ snadno sehnat. Peer prˇejde do rezˇimu ”endgame”. V tomto rezˇimu posˇle vsˇem zna´my´m peeru˚m dotaz na pakety chybeˇjı´cı´ch bloku˚. V te´to fa´zi se pote´ pakety jednoho bloku stahujı´ i od neˇkolika ru˚zny´ch peeru˚.
Obra´zek 6: Screenshot p2p klienta sı´teˇ bitTorrent - bitTorrent
3
3.7
JEDNOTLIVE´ PROTOKOLY
18
Gnutella
Tato sı´t’je dostupna´ jizˇ dost dlouho a zezacˇa´tku zdaleka nedosahovala kvalit sı´teˇ FastTrack. Oficia´lnı´m p2p klientem te´to sı´teˇ byl stejnojmenny´ program Gnutella. Ten ale nestacˇil, a tak vznikl program s podobny´m na´zvem - Gnotella. Ten patrˇil ve sve´ dobeˇ mezi nejpouzˇ´ıvaneˇjsˇ´ı, proto byla sı´t’velmi bohata´ na mnozˇstvı´ sdı´leny´ch souboru˚. Vedle tohoto programu vzniklo plno dalsˇ´ıch klientu˚ (naprˇ. BearShare, Gnucleus, File Navigator, LimeWire, Swapper, Phex). Jelikozˇ firma, ktera´ vytvorˇila program Gnotella zanikla, prˇestala i distribuce tohoto programu. Jak funguje Gnutella nynı´? Do sı´teˇ byly prˇida´ny tzv. ultrapeers, cozˇ jsou vyhrazene´ prˇ´ıpojne´ body do syste´mu (naprˇ. Morpheus ma´ neˇkolik takovy´ch vlastnı´ch uzlu˚). Da´le je vylepsˇeno optimalizovane´ vyhleda´va´nı´ a program noveˇ zvla´da´ i tzv. MetaData. Beˇzˇneˇ se s MetaDaty uzˇivatel setka´ v podobeˇ ID3 tagu˚ u digita´lneˇ zpracovany´ch hudebnı´ch skladeb mp3. MetaData tedy umozˇnˇujı´ vlozˇit do souboru informace o interpretovi, na´zvu skladby, albu, roku vyda´nı´, zˇa´nru a mnoho dalsˇ´ıch zajı´mavy´ch informacı´, jako naprˇ. kdo soubor vytvorˇil a kdo vlastnı´ copyright. Gnutella dı´ky tomu umı´ vyhleda´vat multimedia´lnı´ soubory podle stejny´ch krite´riı´ jako naprˇ. sı´t’FastTrack.
Obra´zek 7: Screenshot p2p klienta sı´teˇ Gnutella - BearShare
3.8
Prˇehled nejpouzˇ´ıvaneˇjsˇ´ıch klientu˚ vy´meˇnny´ch sı´tı´
3
JEDNOTLIVE´ PROTOKOLY
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 vy´meˇnne´ sı´teˇ Napster Jediny´ a oficia´lnı´ klient te´to sı´teˇ. Dı´ky neˇmu bylo mozˇne´ stahovat po prˇipojenı´ k serveru˚m soubory mp3. Program byl nucen ukoncˇit svou cˇinnost. Klienti vy´meˇnne´ sı´teˇ Kazaa Oficia´lnı´ klient te´to sı´teˇ. Vydala jej spolecˇnost Sharman Network. Je zdarma, obsahuje reklamu a spyware. K dispozici je i placena´ verze bez reklamy, ta se jmenuje KaZaA Plus. Oblı´beny´ klient te´to sı´teˇ. Neobsahuje reklamu a spyware. Poskytova´n je zdarma. Klienti vy´meˇnne´ sı´teˇ Direct Connect Klient vydany´ firmou NeoModus. Obsahuje reklamu. Open source projekt. Poskytuje velke´ mnozˇnosti nastavenı´ a neobsahuje reklamu. U na´s dle hlasova´nı´ jeden z nejoblı´beneˇjsˇ´ıch Direct Connect klientu˚. Nabı´zı´ mimo jine´ i mozˇnost nastavenı´ rychlosti stahova´nı´ a nahra´va´nı´. Jedna z mutacı´ programu DC++. Poskytuje bezpecˇne´ segmentove´ stahova´nı´ jednoho souboru od vı´ce uzˇivatelu˚ najednou. Klienti vy´meˇnne´ sı´teˇ eDonkey 2000 Oficia´lnı´ klient te´to sı´teˇ. Obsahuje reklamu. Open Source projekt. Je zdarma a neobsahuje zˇa´dnou reklamu. Funkcˇneˇ velmi dobrˇe vybaven, sta´va´ se jednı´m z nejoblı´beneˇjsˇ´ıch p2p klientu˚ vy´meˇnny´ch sı´tı´ vu˚bec. Projekt umozˇnˇujı´cı´ ovla´da´nı´ klienta prˇes mobilnı´ telefon. Klienti vy´meˇnne´ sı´teˇ bitTorrent Je to oficia´lnı´ klient te´to sı´teˇ. Je slozˇiteˇjsˇ´ı na ovla´da´nı´. Oproti bitTorrentu je jednodusˇsˇ´ı na ovla´da´nı´. Ma´ v sobeˇ obsazˇenou vrstvu DHT. S touto vrstvou se jizˇ blı´zˇ´ı decentralizovane´ sı´ti. Klienti vy´meˇnne´ sı´teˇ Gnutella Klient postaven na za´kladeˇ na´zoru˚ uzˇivatelu˚. Je zdarma, neobsahuje zˇa´dny´ spyware ani reklamy. Obsahuje neˇkolik obdobny´ch funkcı´ jako ma´ naprˇ.KaZaA - skiny. Je povazˇova´n za nejlepsˇ´ıho klienta te´to vy´meˇnne´ sı´teˇ. Uzˇivatelsky velmi prˇ´ıjemny´ klient te´to sı´teˇ. Sta´va´ se sta´le popula´rneˇjsˇ´ım. Tabulka 1: Nejpouzˇ´ıvaneˇjsˇ´ı p2p klienti
19
4
4 4.1
BANDER
20
Bander Na´vrh
Jako druhy´m pozˇadavkem bylo u te´to bakala´rˇske´ pra´ce navrhnout a pote´ implementovat rˇesˇenı´ p2p programu rˇesˇ´ıcı´ho vy´meˇnu souboru˚ mezi uzˇivateli. U implementace byl da´n pozˇadavek na zabezpecˇenı´ dat. Prˇed vlastnı´ implementacı´ programu Bander bylo potrˇeba vhodneˇ navrhnout rˇesˇenı´ aplikace. Prˇi zvazˇova´nı´ neˇkolika ru˚zny´ch mozˇnostı´ jsem objevil na´vrhovy´ vzor Com´ cˇemand, ktery´ se mi podarˇilo zakomponovat do na´vrhu a pozdeˇjsˇ´ıho rˇesˇenı´ aplikace. U lem tohoto na´vrhove´ho vzoru je zapouzdrˇit jednotlive´ pozˇadavky a prˇ´ıkazy do objektu˚, ktere´ se pak ukla´dajı´ a prˇeda´vajı´ da´l. Rozhodl jsem se pro neˇj z toho du˚vodu, zˇe umozˇnuje naimplementovat jednotlive´ prˇ´ıkazy zvla´sˇt’ ve trˇ´ıda´ch, a pote´ se tlacˇ´ıtku˚m a polozˇka´m menu pouze prˇida´ objekt reprezentujı´cı´ tuto trˇ´ıdu. Ko´d potrˇebny´ch metod je tak tedy oddeˇlen od ko´du reprezentujı´cı´ho uzˇivatelske´ rozhranı´. Tam jsou pouze naimplementovana´ potrˇebna´ vstupnı´ data pro tyto objekty.
Obra´zek 8: Uka´zkovy´ diagram na´vrhove´ho vzoru Command
4
BANDER
21
Prˇi na´vrhu jednotlivy´ch trˇ´ıd jsem musel vzı´t v u´vahu i dalsˇ´ı aspekty. Veˇtsˇina p2p programu˚ je zalozˇena na architekturˇe Client - Server. Obeˇ dveˇ tyto cˇa´sti ma´ kazˇdy´ uzˇivatel na sve´ loka´lnı´ stanici. Du˚vod je prosty´: Vy stahujete od vzda´lene´ho uzˇivatele(v tuto chvı´li jste klientem vy a server je onen uzˇivatel), ale za´rovenˇ od va´s mu˚zˇe stahovat neˇkdo jiny´(v tuto chvı´li jste serverem). Jednı´m z nejdu˚lezˇiteˇjsˇ´ıch aspektu˚ bylo tedy vhodneˇ navrhnout trˇ´ıdy rˇesˇ´ıcı´ cˇinnost serveru a klienta. Spojenı´m navrhovany´ch trˇ´ıd reprezentujı´cı´ch jednotlive´ prˇ´ıkazy a trˇ´ıd potrˇebny´ch pro funkci klientske´ a serverove´ cˇa´sti vznikl trˇ´ıdnı´ diagram aplikace Bander.
Obra´zek 9: Trˇ´ıdnı´ diagram aplikace Bander
4.2
Popis trˇ´ıd
Zde je uveden strucˇny´ popis jednotlivy´ch trˇ´ıd • Gui Trˇ´ıda Gui ma´ na starost zobrazenı´ hlavnı´ho okna aplikace. V tomto okneˇ jsou dostupne´ prvky ktere´ prˇi aktivaci vytvorˇ´ı objekty jiny´ch trˇ´ıd.
4
BANDER
22
• GuiNastaveni Tato trˇ´ıda vyvola´ okno s mozˇnostmi nastavenı´ aplikace. Prˇi spusˇteˇnı´ instance te´to trˇ´ıdy se take´ vyvola´ metoda ktera´ kontroluje zda jizˇ nenı´ aplikace nastavena. • Server Tato trˇ´ıda se stara´ o posloucha´nı´ na dane´m portu. V prˇ´ıpadeˇ zˇe na tomto portu zachytı´ pozˇadavek, vytvorˇ´ı instanci trˇ´ıdy ServerPrenosu, a da´l posloucha´ na dane´m portu. • ServerPrenosu Trˇ´ıda ServerPrenosu vytva´rˇ´ı svou instanci s parametrem cˇ´ısla portu na ktere´m bude nada´le komunikovat. Tento port jı´ urcˇ´ı a prˇeda´ prˇi zrˇ´ızenı´ trˇ´ıda Server. • Client Instance trˇ´ıdy Client ma´ na starost vysla´nı´ konkre´tnı´ho pozˇadavku na na instanci trˇ´ıdy ServerPrenosu. Tyto dva objekty spolu komunikujı´ tak dlouho dokud je potrˇeba. • VytvorSeznam Objekt te´to trˇ´ıdy ma´ za u´kol vytvorˇit podle nastaveny´ch hodnot seznam souboru˚ ktere´ uzˇivatel sdı´lı´. • ZobrazSeznam Objekt te´to trˇ´ıdy zobrazı´ vybrany´ seznam souboru˚. • Hledej Instance te´to trˇ´ıdy hlada´ zadanou polozˇku v dane´m souboru. Hledana´ polozˇka a jme´no souboru ve ktere´m ma´ tuto polozˇku hledat jsou te´to instanci prˇeda´ny jako argumenty prˇi jejı´m vytvorˇenı´. • SeznamUzivatelu Objekt te´to trˇ´ıdy vyvola´ nove´ okno, kde uzˇivatel vidı´ vsˇechny prˇidane´ uzˇivatele. Navı´c je mozˇne´ zde prˇidat dalsˇ´ıho uzˇivatele, cˇi neˇktere´ho smazat.
5
5
ˇ ES ˇ ENI´ APLIKACE BANDER PROGRAMA´TORSKE´ R
23
Programa´torske´ rˇesˇenı´ aplikace Bander
Bander je naprogramova´n v jazyce Java. Je mozˇne´ jej pouzˇ´ıt neza´visle na platformeˇ. Program Bander byl vytvorˇen pro pouzˇitı´ na mensˇ´ıch, loka´lnı´ch pocˇ´ıtacˇovy´ch sı´tı´. Prˇistupuje k serveru˚m prˇes IP adresy, cozˇ znamena´ zˇe nenı´ mozˇne´ aby byl program za firewallem cˇi prˇekladem sı´t’ovy´ch adres NAT. Cı´lem Banderu je poskytnout uzˇivatelu˚m co mozˇna´ nejpohodlneˇjsˇ´ı vy´meˇnu potrˇebny´ch souboru˚. Bander je zalozˇen na velmi jednoduche´m principu. Stacˇ´ı uzˇivateli zna´t IP adresy uzˇivatelu˚ ke ktery´m se chce prˇipojit a prˇidat si je do loka´lnı´ databa´ze. Od te´to chvı´le mu˚zˇe prˇistupovat prˇes seznam jejich sdı´leny´ch souboru˚ k teˇmto datu˚m a stahovat vsˇe co potrˇebuje. Sa´m prˇitom nemusı´ nic sdı´let, cozˇ je prvnı´ podstatny´ rozdı´l oproti protokolu˚m zmı´neˇny´m v prvnı´ cˇa´sti te´to pra´ce. Druhy´m rozdı´lem je to, zˇe Bander nema´ zˇa´dna´ omezenı´. Nejsou zde zˇa´dne´ sloty na ktere´ by musel uzˇivatel cˇekat, ani zˇa´dne´ omezenı´ rychlosti.
5.1
Programa´torske´ rˇesˇenı´ Klient - Server cˇa´sti
Klient - Server cˇa´st je troufa´m si rˇ´ıci klı´cˇovou cˇa´stı´ kazˇde´ aplikace rˇesˇ´ıcı´ sdı´lenı´ dat po sı´ti. S touto architekturou take´ u´zce souvisı´ pojem port a hlavneˇ jednotliva´ prˇirˇazene´ cˇ´ısla portu˚, protozˇe ne vsˇechny porty je mozˇne´ pouzˇ´ıt. Cˇa´st Klient - Server je vytvorˇena tak, zˇe serverova´ cˇa´st se spustı´ ihned na zacˇa´tku ´ kolem serveru je poslouchat na portu cˇ. 50000. aplikace a skoncˇ´ı prˇi ukoncˇenı´ aplikace. U Ve chvı´li kdy server rozpozna´ prˇ´ıchozı´ pozˇadavek od klienta, pouze zvolı´ dalsˇ´ı volny´ port a tento port prˇeda´ jako parametr instanci trˇ´ıdy ServerPrenosu, ktera´ se jizˇ s klientem na dane´m portu domluvı´ podle protokolu. Server tak tedy zu˚sta´va´ zase volny´ a posloucha´. Port si mu˚zˇete prˇedstavit jako ”bra´nu do sı´teˇ”. Na jednom portu mu˚zˇe v jednu chvı´li beˇzˇet pouze jeden proces. Na´sledujı´cı´ tabulka ukazuje rozdeˇlenı´ portu˚. Na´sledujı´cı´ interakcˇnı´ diagram zna´zornˇuje jaky´m zpu˚sobem probı´ha´ komunikace mezi klientem a serverem prˇi prˇenosu dat.
5
ˇ ES ˇ ENI´ APLIKACE BANDER PROGRAMA´TORSKE´ R
Rozsah portu˚ 1-255 255-1023 1024-65535 1-1023 1024-49151 49152-65535
Popis Rozdeˇlenı´ podle rozsahu portu˚ Porty urcˇene´ pro verˇejnost, tzv. public ports. Porty urcˇene´ pro komercˇnı´ sfe´ru, spolecˇnosti apod. Porty neregulovane´, volne´ pro libovolne´ aplikace. Rozdeˇlenı´ portu˚ podle kategoriı´ Well-known ports. Registrovane´ porty. Porty priva´tnı´ a dynamicke´. Tabulka 2: Rozdeˇlenı´ portu˚
Obra´zek 10: Trˇ´ıdnı´ diagram aplikace Bander
24
6
DOKUMENTACE
6
25
Dokumentace Dokumentace aplikace Bander je rozdeˇlena na dveˇ cˇa´sti: • Programa´roska´ dokumentace • Uzˇivatelska´ dokumentace
6.1
Programa´torska´ dokumentace
Programovacı´ jazyk java ma´ k vytva´rˇenı´ dokumentace prˇ´ımo dane´ komenta´rˇe, ze ktery´ch se pote´ pomocı´ programu javadoc vytvorˇ´ı dokumentace v podobeˇ internetovy´ch stra´nek. Jsou v nı´ popsa´ny jednotlive´ trˇ´ıdy a metody. Bander byl vytvorˇen ve vy´vojove´m prostrˇedı´ NetBeans IDE 5.0. Toto vy´vojove´ prostrˇedı´ umozˇnuje take´ vytvorˇenı´ programa´torske´ dokumentace ve formeˇ javadocu, cˇehozˇ bylo vyuzˇito u dokumentace Banderu. Programa´torska´ dokumentace je prˇilozˇena na CD ve slozˇce Dokumentace/programatorska.
6.2
Uzˇivatelska´ dokumentace
Uzˇivatelska´ dokumentace je v souboru forma´tu pdf. Je zde popsa´no jak s programem pracovat. Graficke´ zna´zorneˇnı´ je v podobeˇ screenshotu˚ aplikace. Uzˇivatelska´ dokumentace je prˇilozˇena na CD ve slozˇce Dokumentace/uzivatelska.
7
7
POUZˇ´IVA´NI´ APLIKACE BANDER
26
Pouzˇ´ıva´nı´ aplikace Bander
K pouzˇ´ıva´nı´ aplikace Bander je zapotrˇebı´ mı´t nainstalova´n java-runtime-environment verze 1.5 a vysˇsˇ´ı. Na CD je prˇilozˇen instalacˇnı´ soubor pro OS windows ve slozˇce potrebneKeSpusteni/jre-1-5-0-windows-i586.exe. Jak jizˇ bylo zmı´neˇno vy´sˇe, program Bander Va´s nenutı´ sdı´let jaka´koliv data k tomu, abyste mohli stahovat. Prˇesto je urcˇen ke sdı´lenı´ souboru˚ prˇeva´zˇneˇ v mensˇ´ıch pocˇ´ıtacˇovy´ch sı´tı´, naprˇ. ve firma´ch, kde se pocˇ´ıta´ s tı´m zˇe i ostatnı´ uzˇivatele´ si budou muset neˇco sta´hnout od Va´s. Bander se spousˇtı´ souborem Bander.jar, ktery´ je umı´steˇn v domovske´m adresa´rˇi aplikace Bander.
Obra´zek 11: Za´kladnı´ obrazovka aplikace Bander
7
POUZˇ´IVA´NI´ APLIKACE BANDER
27
´ vodnı´ obrazovka obsahuje nahorˇe menu, kde je mozˇne´ volat neˇktere´ funkce. V menu U Soubory - Nastavenı´ se otevrˇe nove´ okno s nastavenı´m. Tam stacˇ´ı pomocı´ tlacˇ´ıtka ”vybrat” zvolit adresa´rˇ ktery´ si prˇejete nasdı´let. Da´le je trˇeba nastavit svou IP adresu a ulozˇit nastavenı´. Hodnotu portu nedoporucˇuji meˇnit.
Obra´zek 12: Nastavenı´ Banderu
7
POUZˇ´IVA´NI´ APLIKACE BANDER
28
Pote´ je trˇeba vytvorˇit seznam sdı´leny´ch souboru˚. Ten se vytvorˇ´ı stisknutı´m volby z menu Na´stroje - Vytvorˇ seznam sdı´leny´ch souboru˚. Po stisknutı´ te´to volby vypı´sˇe Bander informacˇnı´ okno o vytva´rˇenı´ souboru˚. Po odklepnutı´ zacˇne samotne´ vytva´rˇenı´ seznamu, o jehozˇ ukoncˇenı´ je uzˇivatel opeˇt informova´n v podobeˇ informacˇnı´ho okna.
Obra´zek 13: Ukoncˇenı´ vytva´rˇenı´ seznamu sdı´leny´ch souboru˚
7
POUZˇ´IVA´NI´ APLIKACE BANDER
29
Sta´hnout seznam sdı´leny´ch souboru˚ od jine´ho uzˇivatele je mozˇne´ tak, zˇe si prˇes menu Spra´va uzˇivatelu˚ - Spra´va uzˇivatele otevrˇete okno se vsˇemi ulozˇeny´mi kontakty. Pote´ stacˇ´ı kliknout na oznacˇeny´ kontakt pravy´m tlacˇ´ıtkem mysˇi a da´t mozˇnost Sta´hnout seznam souboru˚.
Obra´zek 14: Uka´zka sta´hnutı´ seznamu souboru˚
7
POUZˇ´IVA´NI´ APLIKACE BANDER
30
Pro sta´hnutı´ konkre´tnı´ho souboru je potrˇeba zobrazit seznam souboru˚ prˇes volbu Na´stroje - Zobraz seznam sdı´leny´ch souboru˚. Otevrˇe se dialogove´ okno pro vy´beˇr souboru.
Obra´zek 15: Uka´zka vy´beˇru seznamu souboru˚
7
POUZˇ´IVA´NI´ APLIKACE BANDER
31
Ve chvı´li kdy je seznam otevrˇen, stacˇ´ı kliknout na oznacˇenou polozˇku pravy´m tlacˇ´ıtkem mysˇi a da´t volbu sta´hnout.
Obra´zek 16: Uka´zka sta´hnutı´ konkre´tnı´ polozˇky
8
8
ˇR ZA´VE
32
Za´veˇr
Za´veˇrem te´to pra´ce je zhodnotit vy´slednou aplikaci. Podarˇilo se vytvorˇit jednoduchou aplikaci Bander, ktera´ umozˇnˇuje sdı´let a vyhleda´vat soubory mezi jednotlivy´mi uzˇivateli na loka´lnı´ sı´ti. Aplikace funguje na principu Client - Server, cozˇ umozˇnˇuje oboustrannou komunikaci mezi uzˇivateli. Prˇi testech se uka´zalo, zˇe aplikace dosahuje prˇi prˇena´sˇenı´ souboru˚ velmi dobry´ch vy´sledku˚. Jednotlive´ prˇenosy probı´hajı´ na ru˚zny´ch portech, cozˇ umozˇnˇuje prˇena´sˇet vı´ce souboru˚ najednou. Prˇi vy´voji aplikace nastaly potı´zˇe ktere´ se bohuzˇel z cˇasovy´ch du˚vodu˚ nepodarˇilo vyrˇesˇit azˇ do konce. Jedna´ se o implementaci prˇenosu souboru˚ prˇes zabezpecˇenou vrstvu Secure Socket Layer. I prˇes dobre´ vy´sledky aplikace by bylo do budoucna dobre´ rozsˇ´ırˇit implementaci o podporu segmentove´ho stahova´nı´.