2008. április 04., 00:002008. április 04., 00:00
A hálózati eszközök kapcsolatában az ügyfél-kiszolgáló kapcsolat mellett egyre inkább teret nyernek az egyenrangú résztvevők együttműködésén alapuló, úgynevezett peer-to-peer hálózatok. Egy ilyen hálózatban a részt vevő csomópontok kölcsönösen egyenrangúnak tekintik egymást, és megosztják számítási kapacitásukat, adataikat vagy alkalmazásaikat a többi csomóponttal anélkül, hogy egy központilag menedzselt és ellenőrzött rendszer vezérelné a kapcsolattartást. A rendszer lényege, hogy a hálózat végpontjai közvetlenül egymással kommunikálnak, központi kitüntetett csomópont nélkül. A P2P rendszerek az aktuális feladattól függetlenül egy úgynevezett fölöttes hálózat (overlay network) létrehozásával működnek. Erre azért van szükség, mert ezek a rendszerek alapvetően szomszédsági alapon működnek, azaz minden csomópont néhány másik csomóponttal van kapcsolatban, hogy ne legyen szükség kitüntetett szerepű résztvevőkre. Az üzenetek továbbítása logikai pont-pont kapcsolatokon keresztül történik.
Újrahasznosított megoldások
Ez a működési mód igazából nem újdonság, hiszen az „ős-internet” pontosan ugyanígy működött, ahol minden csomópont útvonalválasztóként is működött, és az ügyfél-kiszolgáló szerepek sem különültek el. A mai internet már erősen specializált, ez a három szerep tipikusan elkülönülten valósul meg. Emiatt és azon tény miatt, hogy az internet közösségének jelentős része nem képezi részét egy adott P2P rendszernek, szükséges a saját logikai hálózat kialakítása saját üzenettovábbítási és -keresési mechanizmusokkal.
A rosszul megtervezett hálózat legfőbb tulajdonsága, hogy nem bővíthető kellőképpen, és ennek megfelelően rövid időn belül túlterheltté válik. Tehát egy hálózatnak nemcsak néhány számítógépre, de akár egy világméretű rendszerben is jól kell működnie, ami azt jelenti, hogy a hálózat skálázható kell hogy legyen. A P2P rendszerek legfontosabb előnyei más típusú architektúrákkal szemben, a közvetlen kapcsolatból eredő hibatűrő képesség és skálázhatóság. Hátránya a nehezebb adminisztráció és a megvalósíthatóság. A peer-to-peer hálózatok rohamos elterjedését a sávszélesség növekedésével, az internethozzáférők számának a megugrásával és a tömörítési algoritmusok javulásával berobbanó fájlcserélő alkalmazások idézték elő. A fájlcserélő rendszerek a P2P technológia legnépszerűbb és egyben legvitatottabb alkalmazási területe. A rendszer lényege: viszonylag nagyméretű fájlok megosztása a felhasználók között, úgy hogy a hálózat terheltsége minél kisebb legyen.
P2P-történelem
Első fájlcserélő klasszikusként a Napster jelent meg 1999-ben, és hihetetlen sebességgel tett szert több millió felhasználóra. Architektúráját tekintve még hibrid, központi szerverfarm kapcsolja össze a felhasználóktól jött fájl-kéréseket a fájlfelajánlásokkal, de maga az adatcsere a felhasználók között már a szervertől függetlenül zajlik. A Napster volt a világ első olyan szoftvere, amelynek segítségével a felhasználók egymás között cserélhették kedvenc zenéiket szerverek, központi kontroll és mindenféle szűrés nélkül. A legális tartalommegosztás mellett nagyon gyorsan terjedt a rendszerben a nem jogtiszta zene és videó megosztása, amely elsősorban a lemezkiadók és jogvédők nemtetszését váltotta ki. A nagy népszerűség mellett sok per is indult a rendszer ellen szerzői jog megsértése és kalózkodás vádjával, ami végül a Napster bezárását eredményezte.
A P2P rendszerek következő generációja a teljesen elosztott, homogén, „igazi peer-to-peer” rendszer. Legismertebb példája a Gnutella hálózat, amely 2000 végére készült el. Az ilyen rendszerben valóban minden csomópont egyforma: a csomópontok teljesen azonos szerepűek, ugyanazt a feladatot látják el. A dokumentumok attribútumait ténylegesen csak adott résztvevő ismeri, így a keresés már nem egy központi szerverre való adatküldésből áll. Az előbbi két fájlcserélő népszerűségének köszönhetően számos más fájlcserélő terjedt el a piacon, amelyek száma 2004-re már meghaladta az 50-et.
BitTorrent: elsöprő népszerűség, hatékonyság
Talán manapság a legnépszerűbb fájlcserélő technológia a BitTorrent, amely teljesen új alapokra helyezte a fájlcserét. Népszerűségének köszönhetően ma már az internet teljes adatforgalmának a 30 százalékát teszi ki. A BitTorrent kommunikációs protokoll kihasználja a letöltő ügyfelek feltöltési sávszélességét, ezáltal növelve az adatok terjesztésének hatékonyságát. Ez azt jelenti, hogy ha minél többen töltenek egy bizonyos fájlt, a letöltés egyre gyorsabb lesz. A kliensek a fájlokat darabokban töltik le, ahol minden csomópont megkeresi a hiányzó részhez a lehető leggyorsabb kapcsolatot, miközben ő is letöltésre kínálja fel a már letöltött fájldarabokat. A letöltésben részt vevő csomópontok úgynevezett bolyt (swarm) alkotnak, amelyek között közvetítő szerepet játszik a nyomkövető (tracker) szerver. A módszer nagyon jól bevált nagyméretű fájloknál, például videók és nagyobb szoftverek esetében. A fájlok darabolásából adódik, hogy a megszakadt letöltések könnyen folytathatók. A protokollnak az a hátránya, hogy ha egy kliens, aki befejezte a letöltést és kiszáll a rendszerből, megtörténhet, hogy a bent maradó kliensek számára nem lesznek elérhetők bizonyos fájldarabkák. Ezért a BitTorrent technológia hatékonyságához, mindenképpen szükség van a kapcsolódó kliensek együttműködésére, letöltés után is. Mára már sajnos a BitTorrent kissé összefonódott a kalózkodással. Szinte naponta lehet hallani olyan híreket, hogy torrentszervert vittek el, vagy valakit bepereltek kalózkodásért. Természetesen számos jogtiszta dokumentum letöltésére is lehet használni. Nagyon népszerűek a különböző Linux-disztribúciók, de ezenkívül lehet találni hangoskönyveket, filmeket, amelyeknek lejárt a szerzői jogvédelme, meg természetesen zene is található.
Új távlatok
A fájlcserélő technológiák mellett az elmúlt időszak másik nagy találmánya az internetes hang- és videószolgáltatás (Streaming media). A technológia lényege a folyamatos adatátvitel, az adatok kisebb csomagokban való folyamatos közvetítése és azonnali értelmezése. A felhasználónak nem kell az egész videót letölteni, hogy értelmezhesse, hanem a letöltéssel párhuzamosan történik a lejátszás is. A streaming media technológiára építve hamarosan megjelentek az internetes tévék (IPTV), amelynek egyik változata a peer-to-peer tévé (P2PTV). A hagyományos IPTV streaming technológiákkal ellentétben, ahol is egy szerver szolgál ki több klienst, a P2P TV technológiájánál a nézők egyszerre műsorszórók is, mivel a letöltött adatokat továbbítják a többi nézőnek. A tartalomszolgáltatással járó hálózati terheltség egy részét így a nézőkre hárítják. A módszer legismertebb alkalmazása a Joost internetes tv, amely publikusan elérhető a nagyközönség számára is. A peer-to-peer hálózatok másik jelentős alkalmazási területe a telefonprogramok. Ezek a peer-to-peer hálózatok által olcsón biztosított infrastruktúrát használják ki, hogy olcsón szolgáltassanak telefonos kapcsolatot. Az egyik legnépszerűbb és az on-line világban is legismertebb rendszer a Skype, amely díjmentesen kiváló hangminőséget biztosít. A program a VoIP (Voice over IP) kommunikációt peer-to-peer protokoll segítségével valósítja meg. A hálózat beszéd mellett szöveges üzenetek váltására, fájlok küldésére, valamint video-konferencia lebonyolítására is használható. A kommunikáció titkosítva van, és a program a tűzfalakkal is egyszerűen megbirkózik. A gyors fejlődésnek köszönhetően a Skype szolgáltatásait egyre inkább kiterjeszti mobiltelefonos környezetre is. A népszerű fájlcserélő alkalmazások mellett más alkalmazási területei is vannak a peer-to-peer rendszereknek, mint például az elosztott számítás. A világon a legnagyobb és legsikeresebb elosztott számítási projekt a Berkeley Egyetem SETI@home projektje. A SETI@home egy tudományos kísérlet, mely több százezer internetre kapcsolt számítógép kapacitását hasznosítja a Földönkívüli Intelligencia Kutatásában (SETI). Az elosztott számítás koncepciójának lényege, hogy egy hatalmas feladatot nem csillagászati összegekbe kerülő szuperszámítógépeken, hanem olcsó gépek ezrein, százezrein vagy akár millióin párhuzamosan végeztetjük el, amelyek a világhálón csüngenek és átlagos kihasználtságuk alacsony. A SETI@home egy elosztott feldolgozó kliens, ami az önkéntesek otthoni gépeire települ, és a felesleges feldolgozókapacitást kihasználva az űrből érkező rádiójelek elemzését végzi el. A feladat elvégzése után a szoftver visszatölti az eredményt a szerverekre, majd újabb csomagnak lát neki. A projekt népszerűségének köszönhetően több mint 5 millió regisztrált felhasználó csatlakozott, ami naponta több mint 40 GB adat elemzését tette lehetővé.
Kérdőjelek és megkérdőjelezhetetlen előnyök
A P2P hálózatoknak az előbbi alkalmazásoktól eltérően van egy kevésbé hasznos oldala. Ezek a rosszindulatú botnet hálózatok. A botnet szó a „roBOT NETwork” szavakból származik, olyan számítógépes hálózat, amelyben minden gép (robot) előre programozott feladatot hajt végre, például kéretlen reklámlevelet (spam) generálnak és továbbítanak, vírusokat terjesztenek vagy szolgáltatásmegtagadás (DoS – Denial-of-Service) támadásokat visznek véghez. Felépítésük alapján több csoportba sorolhatók, amelyek közül az egyik a peer-to-peer botnet. Ebben az esetben nincs központi vezérlő, a botnet elemei egymással kommunikálnak. A vezérlő a parancsot egy botnak adja ki, amely továbbítja ezt a többi bot felé. Ennek a megvalósítása nehézkes, hiszen a botok igencsak gyakran változnak, viszont felismerni is igen nehéz egy ilyen típusú rendszert. A világon számos ismert, és talán ennél még több ismeretlen botnet létezik. Napjainkban a növekvő internetfelhasználók kiszolgálása, a növekvő adatforgalom egyre inkább új technológiák bevezetését feltételezi. A peer-to-peer rendszerek mindezeknek az elvárásoknak eleget tesznek, és fontosságuk ma már megkérdőjelezhetetlen. A mai számítástechnikában nagyon nehéz előre jósolni, viszont egyes kutatók szerint ez a technológia jelentheti a világháló új korszakát.
Pál László
A szerző tanársegéd a Sapientia-EMTE Matematika-Informatika Tanszékén