Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva Zavod za telekomunikacije Seminar: Peer to peer aplikacije Kolegij: Organizacija telekomunikacijske mreže Vladimir Šimović Darko Herak
Sadržaj 1. Uvod... 3 1.1 Peer to peer koncept... 3 1.2 Popularnost... 4 2. Peer-to-peer aplikacije... 5 2.1 Peer-to-peer aplikacije za razmjenu datoteka... 5 2.1.1 ÄTorrent... 5 2.1.2 LimeWire... 6 2.1.3 Napster... 7 2.2 Peer-to-peer aplikacije za IM i online chat... 8 2.2.1 Windows Live Messenger... 8 2.2.2 ICQ... 8 2.2.3 Tencent QQ... 9 2.3 Peer-to-peer aplikacije za VoIP... 10 2.3.1 Skype... 10 2.4 Peer to peer aplikacije za distribucija i publikacija multimedije i softvera... 11 2.5 Peer-to-peer aplikacije za streaming multimedijskog sadržaja... 12 2.6 Peer-to-peer aplikacije za kolaboraciju i grupe za diskusiju... 13 2.6.1 Microsoft Groove... 13 3. Zaključak... 14 4. Popis Literature... 15 2
1. Uvod 1.1 Peer to peer koncept Peer to peer (P2P) koncept podrazumijeva umrežavanje i komunikaciju računala bez posredstva i prisutnosti poslužitelja gdje je svako računalo inteligentna i ravnopravna stanica u mreži sposobna pronaći druga računala i izravno s njima komunicirati, bez potrebe autorizacije na nekom centralnom poslužitelju. Ovaj model mreže razlikuje se od klijent - server modela, kod kojeg cijelokupna komunikacija teče preko centralnog poslužitelja. Slika 1.1: p2p model Slika 1.2: klijent server model Razlikujemo četiri generacije razvoja peer to peer razmjene podataka. Karakteristično za prvu generaciju peer to peer razmjene podataka jest oslanjanje na centralizirani poslužiteljski sustav koji je kontrolirao promet između korisnika. Druga generacija peer to peer modela je donijela potpunu decentralizaciju prometa. Svi klijenti su postali međusobno ravnopravni i izravno pretraživali i razmjenjivali datoteke, bez posredovanja poslužitelja. Anonimnost i kriptiranje podataka je uvedeno u trećoj generaciji, ali nije bitno pomogla u dodatnoj popularizaciji peer to peer razmjne podataka. Četvrtu generaciju karakteriziraju dodatne usluge u vidu streamanja podataka poput slušanja radia i gledanje televizije bez uključivanja poslužitelja. 3
1.2 Popularnost P2P komunikacija danas predstavlja najrašireniji tip komunikacije na Internetu s obzirom na razmjenjenu količinu podatka. Ovisno o regiji, udio P2P prometa u ukupnom prometu varira od 49 % na Bliskom Istoku do 83 % u Istočnoj Europi. Slika 1.3: distribucija protokola po tipu Slika 1.4: distribucija p2p protokola Iako je peer-to-peer promet nedodirljiv na vodećoj poziciji, rastom popularnosti YouTubea i sličnih servisa (Veoh, Hulu, BBC iplayer), Internet Service Provideri bilježe veliki rast razmjene podataka streamanjem paralelno s padom peer to peer prometa. Konkretno, Britanski ISP PlusNet bilježi rast od 168.9 % streamanog prometa paralelno s padom P2P prometa od 9 %. Slične statistike bilježe i ISPovi u Japanu. Što se tiče popularnosti peer-to-peer protokola, vodeći na tom polju jest BitTorent. Naravno, njegov udio u prometu, a i pozicija varira i ovisan je o regiji (npr. u južnoj Europi i dalje vodi edonkey sa udjelom od 57 %). U Njemačkoj i Australiji je BitTorent prvi protokol s udjelima od 66,7 i 73 % dok edonkey slijedi sa 28,6 i 14 %. Gnutella drži treće mjesto s 3,7 i 9 %. 4
2. Peer-to-peer aplikacije Peer-to-peer aplikacije smo odlučili podijeliti u kategorije po namjeni. Uz takvu podjelu, moguća su preklapanja, tj. da jedna aplikacija (ili protokol koji koristi) spada u dvije kategorije. Kategorizacija P2P aplikacija po namjeni: razmjena datoteka (file-shareing applications) IM i online chat VoIP distribucija i publikacija multimedije distribucija i publikacija softvera streaming multimedijskog sadržaja kolaboracija i grupe za diskusiju 2.1 Peer-to-peer aplikacije za razmjenu datoteka Kao što im ime implicira, dotične P2P aplikacije služe za razmjenu datoteka (file sharing). Dodatno ih kategoriziramo po protokolu koji koriste: BitTorent: àtorrent, Vuze (Azureus), Bitcomet, rtorrent Gnutella: BearShare, Limewire, Frostwire, Shareaza Napster: Napster edonkey: amule, emule, Morpheus, Shareaza 2.1.1 ÅTorrent àtorrent je freeware BitTorrent klijent u vlasništvu BitTorent Inc. Postoje dvije verzije, jedna za Microsoftove Windowse te jedna za Mac OS X. Obje verzije su napisane u C++u. Prefik "mikro" u nazivu je dobio zbog načina dizajna kojem je cilj bilo što manje zauzimanje računalnih resursa od strane 5
aplikacije, a da pri tome nudi funkcionalnost koja bi parirala velikim BitTorrent klijentima poput Vuzea i BitCometa. àtorrent klijent se s vremenom pokazao izvrsnom aplikacijom što svjedoče konstanti dobri reviewovi i druga pozicija na listi najpopularnijih peer to peer klijenata, odmah iza LimeWirea. Također, àtorrent je preferirani torrent klijent na privatnim trackerima. Trenutna službena radna verzija je 1.8.2. Slika 2.1: screen shot àtorrent radnog okruženja u Windows Visti 2.1.2 LimeWire LimeWire je peer to peer aplikacija za razmjenu datoteka koja koristi Gnutella protokol. Također, ima limitiranu podršku za BitTorrent protokol. Postoji besplatna verzija, ali i komercijalna, "Pro" verzija. Kako je LimeWire pisan u Javi, moguće ga je pokrenuti na svakom računalu sa Java Virtual Machine podrškom. Konkretno, LimeWire podržava Microsoftove Windose, Mac OS X i Linux. Iako redovito trpi mnoge kritke, LimeWire je već duže vrijeme najpopularniji peer to peer klijent. Trenutna službena radna verzija je 4.18.8, dok je u pogonu također i LimeWire 5 RC1. 6
Slika 2.2: screen shot LimeWire radnog okruženja u Windows Visti 2.1.3 Napster Iako Napster (2.0) više nije peer-to-peer aplikacija, zaslužuje da ga se spomene. Napster je bio aplikacija za razmjenu glazbe koju je napravio Shawn Fanning za vrijeme studija u Bostonu. Napster je bio "online" od lipnja 1999. do srpnja 2001. Najveću popularnost je imao u veljači 2001. Napster je bio prvi zbilja popularni klijent koji je dopuštao ljudima razmjenu glazbe što je dovelo do velikih gubitaka u glazbenoj industriji te tužbi za povredu autorskih prava protiv Napstera. Iako je zbog tih tužbi Napster na kraju i ugašen, uvijek će biti pamćen kao pionir na polju P2P razmjene podataka. Nakon gašenja, Napsterov "brend" i logo su kupljeni te su na kraju završili u rukama Roxio Inc.-a koji ih je iskoristio za osnivanje komercijalnog Napster 2.0 servisa. 7
2.2 Peer-to-peer aplikacije za IM i online chat Ove peer-to-peer aplikacije služe za IM (instant messaging) i online chat. Po globalnoj popularnosti, navodimo tri najpopularnije: Windows Live Messenger Yahoo! Messenger Tencent QQ (Kina) 2.2.1 Windows Live Messenger Windows Live Messenger je IM klijent koji je prvi put ušao u korištenje 1999. godine kao MSN Messenger, a preimenovan u sadašnje ime 2005. Klijent je u vlasništvu Microsofta te je dio Microsoftovog Windows Live seta online servisa od 2005. Windows Live Messenger radi na gotovo svim Microsoftovim platformama: Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008 i Windows Mobile. Osim standardnih funkcija za jednu IM aplikaciju Windows Live Messenger još pruža usluge shareanja foldera među korisnicima, Windows Live Call (PC-to-phone uslugu) te interoperatibilnost sa Yahoo! Messengerom (u budućnosti i sa Google Talkom, ICQom, Jabberom itd...). 2.2.2 ICQ ICQ je jedan od prvih IM klijenata ikad, pušten u rad za IM pojmove, davne 1996. godine. Tvrtka koja ga je pustila u rad, Mirabilis iz Izraela, je danas podružnica Time Warnerovog AOLa. Dotična akvizicija se dogodila 1998. i to za 407 milijuna dolara. Ime ICQ potječe od engleske fraze "I seek you". Danas ICQ ima preko 31 milijuna korisnika diljem svijeta. Osim standarnih IM funkcija, ICQ nudi korisnicima multiplayer igre, transfere datoteka, SMS-to-Mobile phone uslugu te audio i video komunikaciju. Također, treba spomenuti ICQ2Go, web baziranu opciju standardnog ICQ klijenta za korisnike koji zbog nekog razloga (npr. firewall) ne mogu koristiti standardni ICQ. 8
2.2.3 Tencent QQ Tencent QQ, još zvan jednostavno QQ, je najpopularniji kineski IM klijent, te treći najpopularniji IM klijent u svijetu. Osim IM dijela, QQ nudi usluge poput multiplayer igara, online ljubimaca (online Tamagochi), servis za download melodija za mobitel itd...qq pruža odličnu podršku, te je kompatibilan sa Microsoftovim Windowsima, Mac OS X, Linuxom te ga je odnedavno moguće pokrenuti (u beta verziji) na mobitelima sa trećim izdanjem Symbian S60 platforme. QQ je ujedno zanimljiv zbog fenomena koji ga okružuje. Naime, QQ je iznimno popularan u Kini, čak do te mjere da je s QQ Coin-ovima (virtualna valuta unutar QQ) moguće kupovati u raznim kineskim online shopovima zbog čega je u tijeku istraga Centralne Narodne Banke Kine zbog korištenja QQ Coin-ova kao regularne valute. Slika 2.3: QQ, ICQ i MSN korisnička sučelja jedan do drugog 9
2.3 Peer-to-peer aplikacije za VoIP VoIP (Voice over Internet Protocol) je ime za skup komunikacijskih tehnologija za prijenos zvučne komunikacije preko IP mreža. VoIP je postao popularan paralelno s razvojem dostupnosti širokopojasnog pristupa Internetu, jer u većini slučajeva omogućava besplatno telefoniranje s računala na računalo te jeftinije telefoniranje s računala na mobitele i fiksnu liniju. Neke (već spomenute) od peer-to-peer aplikacija koje podržavaju VoIP su Skype, ICQ te Windows Live Messenger. 2.3.1 Skype Skype je glavni i najpopularniji predstavnik aplikacija za VoIP. Skype kao i sve VoIP sposobne aplikacije dopušta korisniku "telefoniranje" preko Interneta. Dodatne usluge koje nudi su IM, prijenost datoteka, video telefoniju te video konferencije. Kreatori Skypea su Niklas Zennstrâm, Janus Friis i tim programera s bazom u Tallinnu, u Estoniji. Skype danas ima preko 310 milijuna korisnika te i dalje, kao i na početku svog postojanja bilježi rapidan rast u popularnosti koji je rezultirao kupnjom Skypea 2005. od strane ebaya za 2.6 milijarde dolara. Skype je dostupan u verzijama za Linux, Mac OS X, Microsoft Windows sustave (2000, XP, Vista, Windows Mobile), pa čak i za Sonyev PSP. Slika 2.4: Skype Windows korisničko okruženje 10
2.4 Peer to peer aplikacije za distribucija i publikacija multimedije i softvera Iako se peer to peer aplikacije za razmjenu datoteka često povezuju sa ilegalnom razmjenom datoteka te povredom autorskih prava, programi za razmjenu datoteka mogu se koristiti i za legalnu distribuciju softvera i multimedije. Npr. nezavisni umjetnici mogu svoje uratke te software nuditi preko nekih od P2P mreža. Jedan od primjera je Američka vlada, koja je razvila igricu America's Army i za jedan od načina distribucije koristila Bittorrent. Također, popularni Blizzard Downloader, koji služi za preuzimanje raznih datoteka (updateovi igara, video isječci i najave budućih projekata itd...), koristi Bittorent protokol. Prilikom aktualiziranja World of Warcrafta s novim patchem, Blizzard Downloader biva skinut u WoW direktorij te koristi TCP portove 3724 i 6881. Blizzard također pruža i individualan klijent za svaki download umjesto samo torrent datoteke. Dok Downloader radi, osim skidanja željenje datoteke on ju ujedno i distribuira (tj. njezine dijelove) korisnicima koji je trebaju. Slika 2.5: Blizzard Downloader u akciji 11
2.5 Peer-to-peer aplikacije za streaming multimedijskog sadržaja Peer to peer streaming (peercasting) se koristi u razne svrhe od kojih su najpopularnije streamanje TV i radio programa. Uobičajan način rada aplikacija za streaming multimedijskog sadržaja je da aplikacija automatski usmjeruje stream koji korisnik prima drugim korisnicima (peer-ovima), dok sama peer to peer mreža traži dotične korisnike. Ova metoda, zbog svoje prirode uključuje lošiju kvalitetu usluge za vrijeme isključivanja korisnika iz mreže. Neke od aplikacija s dotičnom primjenom su: TVUPlayer, Joost, CoolStreaming, Cybersky-TV, TVants, PPLive, LiveStation, PeerCast. Slika 2.6: izgled Josst aplikacije Slika 2.7: Izgled TVUPlayer aplikacije 12
2.6 Peer-to-peer aplikacije za kolaboraciju i grupe za diskusiju U ovu kategoriju spadaju aplikacije koje su namjenjene lakšoj suradnji i komunikaciji među ljudima koji rade na istom projektu i pomaže im u postizanju zajedničkog cilja olakšavajući im međusobnu komunikaciju i dajući im pregled nad radom i napretkom ostalih članova tima. Zapravo je logično da se peer to peer arhitektura koristi za olakšavanje ljudske komunikacije jer je ljudska komunikacija po prirodi bez posrednika. Glavni predstavnik ove grupe aplikacija je Microsoft Groove. 2.6.1 Microsoft Groove Microsoft Office Groove je aplikacija dizajnirana da olakša kolaboraciju između pripadnika jednog tima koji rade na projektima zajedno te su često nedostupni (offline). Groove je inicijalno dizajnirao i napravio Ray Ozzie, još poznat kao tvorac Lotus Notesa te dalje razvijan od strane Groove Networks sve do akvizicije dotične kompanije 2005. od strane Microsofta u čijem je vlasništvu i danas. Najnovija radna verzija je poznata pod imenom Groove 2007 te se može kupiti samostalno ili kao dio Office paketa. Sam Groove je baziran na konceptu "radnih okruženja" (workspaces). Korisnici ih sami mogu kreirati te pozivati nove korisnike. Također, postoji prostor za datoteke u okruženju koji se u slučaju promjena ažurira uz pomoć peer to peer tehnologije. Kada su neki od korisnika nedostupni u trenutku promjena, Groove promjene sprema na Office Groove server te ih stavlja u red (que) koji se puni dok dotični korisnici ne postanu dostupni kad se promjene u radnom okruženju primjene. Osim toga postoji i prostor za diskusiju te IM usluga. 13
slika 2.8: Izgled Microsoft Groove radnog okruženja 3. Zaključak Peer-to-peer kompjutorska mreža koristi kumulativnu pojasnu širinu sudionika mreže radije nego konvencionalne centralne izvore što je danas čini primamljivim načinom za prijenos podatka. Shodno tome peer to peer promet je i dalje dominantan način razmjene podataka čija popularnost i dalje raste usprkos pojavi alternativa (npr. streaming). S rastom udjela peer to peer prometa, razumno je očekivati rast broja novih peer to peer protokola i aplikacija te načina za njihovu primjenu (mobilna tehnologija, bioinformatika, edukacija itd...). 14
4. Popis Literature http://wiki.theory.org http://en.wikipedia.org www.bittorent.org www.google.com www.utorrent.com http://www.dtc.umn.edu/mints/ http://www.ipoque.com/ Osnovne arhitekture mreža, Zagreb, 2004. 15