iPon Cikkek

A torrent működése

Dátum | 2007. 02. 22.
Szerző | Freeman07
Csoport | HÁLÓZAT

Az utóbbi időben egyre többet fordul elő a torrent szó - általában jogi aggályokkal, valamint filmstúdiók terveivel kapcsolatban. Igaz, hogy a torrent lenyomozhatatlansága miatt népszerű illegális tartalmak fájlcserélésére, azonban ahogy a filmstúdiók is észrevették, az egyik legjobb, legolcsóbb módszere internetes tartalmak terjesztésére. Ebben a cikkben a torrent protokoll működése és különböző torrent-kliensek lesznek bemutatva.

A torrent kifejlesztése Bram Cohen nevéhez fűződik. Sikerült egy olyan fájltovábbítási módszert találni, aminek segítségével csökkenthető a szerverek terhelése, ezáltal a költség csökkentése úgy, hogy nemcsak a szerver, hanem a kliensek között is folyik adattovábbítás. Az első klienst, a BitTorrentet Python nyelven írta. Később a protokoll nyílt forráskódja miatt rengeteg egyéb kliensprogram jelent meg különböző platformokra, különböző programozási nyelvekre.

Például:

Ezek közül a cikk keretében az Azureus-t valamint a µTorrent programokat fogjuk összehasonlítani.


A torrent protokoll működését a legjobban az alábbi ábra szemlélteti:


Minden egyes színes pont a küldendő fájl egy részét jelenti. Miután mindegyik számítógép letöltött a szerverről egy részt, azt a részt a többi számítógépnek továbbadja, és ő is a többi számítógéptől kapja a fájldarabokat. Ha hagyományosan töltené le mindegyik számítógép a fájlt, akkor az a szerveren 7-szer nagyobb terhelés lenne. Torrent protokoll használata esetén ez hetedrészére csökkent.

Mire van szükség torrent fájlok továbbítására, illetve fogadására?

Szerver oldalról szükség van egy trackerre. Ez a tracker az, amin keresztül a felhasználók, a peerek találják meg egymást.
Szükség van az adott fájl torrentjére, ami tartalmazza a tracker címét, a fájlok méretét, a fájldarabok számát, és az SHA-1 ellenőrző összegüket. Az adattovábbítás lehet tracker nélküli (DHT) is, de tracker használatával sokkal gyorsabban meg lehet találni a peereket.
Végül szükség van a kliensre, ami a torrent fájlban található információk alapján meg tudja kezdeni a feltöltőktől a leöltést.

Hogyan készítsek, és publikáljak egy torrentet?

Torrent készítésekor először ki kell választanunk azt fájlt, vagy fájlokat, amelyeket terjeszteni szeretnénk. Ez után a program az egészet 64 KB és 1 MB közötti darabokra vágja fel, és kiszámolja minden egyes fájldarab ellenőrző összegét és eltárolja a torrent-ben. Az ellenőrző összeg garantálja, hogy az adatok hibátlanul érkezzenek meg a felhasználóhoz. Ha mindez kész van, akkor egy trackert kell keresnünk, ahol beregisztráljuk a torrentet, és ezután a tracker címét kell a torrentbe beírni. Legvégül pedig a torrent fájlt kell terjeszteni, ami pedig már egyszerű lépés. Fontos megjegyezni, hogy a torrent fájl készítése kliensenként eltérhet.

Hogyan töltsek le egy torrentet?

Ha internetezés közben találkozunk egy érdekes torrent fájllal, aminek tartalmát szeretnénk letölteni, akkor először a .torrent-kiterjesztésű fájlt kell letölteni. Ezután a kedvenc torrent-kliensünkben egyszerűen meg kell nyitni a torrentet, és a program automatikusan elkezdi letölteni a tartalmát.

Összehasonlítás a hagyományos fájlátvitellel (HTTP)

Biztonságosabb átvitelt valósít meg azzal, hogy a fájldarabokat nem folytonosan, hanem véletlenszerűen tölti le. Ráadásul mindig a legritkábban megtalálható darabot próbálja meg letölteni. Ha a fenti példa esetén miután a hét darabot feltöltötte a szerver és mondjuk leáll, attól a még a kliensek egymástól le tudják tölteni a hiányzó darabokat.
Biztosítja a letöltött adat hibátlanságát azzal, hogy minden egyes darab épségét leellenőrzi. Ha nem egyezik a torrent-fájlban található ellenőrző-értékkel, akkor eldobja a darabot, és elkezdi újra letölteni.
Előny tehát a biztonságosság, alacsonyabb költség és ellenállás a hibás adatok ellen.
Ezeknek azonban ára is van, mégpedig némileg alacsonyabb letöltési sebesség a maximálisan elérhetőnél, illetve azonnal nem tölt a leggyorsabb sebességgel a kliens, mert idő kell a peerekhez csatlakozáshoz.
Az Azureus torrent-klienst Java nyelven írták, így minden olyan gépen használható, ahol megtalálható Java futtatási környezet. Emiatt telepítése előtt meg kell győződni, hogy számítógépünkön fel van-e telepítve a SUN Java futási környezet. Ha nem, akkor ezt innen kell letölteni, és feltelepíteni. Ha ez megvan, akkor jöhet az Azureus feltelepítése, amelynek a cikk írásakor a legfrisebb verziója a 2.5.0.4 volt. A program letölthető innen, valamint itt lehet értesülni a frissítésekről is. A letöltött telepítő tartalmazza a magyar nyelvi fájlokat is.


Feltelepítés után rögtön ez az ablak fogad minket, itt be kell állítani az Azureus portját és a le- feltöltési sebességeket. Ez azért fontos, mert ez alapján határozza meg az Azureus, hogy mennyi egyidejű TCP-kapcsolat működjön.


Miután beállítottuk a beállítanivalókat, elindul a program, de még nem folyik semmilyen adatcsere sem, mivel nem töltünk le/fel semmilyen torrentet se. A bal felső sarokban a menüpont alatt sorrendben a két legfontosabb gomb a torrent megnyitása és a torrent készítése.

Torrent hozzáadása


Tracker címe, illetve kommentek beállítása, ez itt a legfontosabb.


Fájl kitallózása.


Egyértelműek a menüpontok, itt a legfontosabb a szeletek mérete illetve a torrent neve.


Végül jön a szeletek egyenkénti ellenőrző értékének kiszámítása.

A torrent készítési folyamat lépései a legtöbb programnál hasonlóak, mindig ugyanazokra a beállításokra kell odafigyelni (tracker címe, torrent címe, szeletek mérete).

Torrent letöltése

A prezentáláshoz egy ingyenes SUSE Linux disztribúciót izzítottam be.

Legelőször meg kell nyitni a torrentet. Ki kell választani a letöltési helyet, valamint lehetőség van arra, hogy egyes fájlokat magasabb prioritással kezeljen, illetve másokat pedig kihagyjon.


Látható hogy elindult a torrent, az oszlopokból tájékozódhatunk a sebességről, a seederekről és a leecherekről.


Ha kétszer rákattintunk a programban a letöltés alatt álló fájlra, akkor érdekes információkat találhatunk. Az általános fül alatt többek között az eltelt időt, átlagsebességet, pillanatnyi sebességet és még rengeteg hasznos információt találhatunk meg. Azonban ez még nem minden, ennél többet is tud mutatni az Azureus egy másik fülön.


A következő fül a részletek, itt a hozzánk csatlakozott peerekről tudunk információ megszerezni, milyen szeleteik vannak, melyikről töltünk le a leggyorsabban, illetve kinek töltjük fel az adatokat.


A boly elnevezetű fül ugyanazt mutatja mint a részletek fül, csak grafikusan ábrázolja. A vonalakon száguldozó csomagok sebessége és iránya az átvitel irányát és sebességét reprezentálja, a körök teljessége pedig a letöltés állapotát.


A szelet fülön az éppen töltődő szeletekről tudunk információt szerezni, például a torrent hanyadik szeletét töltjük és azt milyen sebességgel.


Haladóbbak számára az információ fül nagyon értékes adatokat nyújt, a titkosítástól kezdve az ügyfélforrásokig szinte mindent.

Érdemes még megnézni letöltés közben a processzor és memóriahasználatot, ezt majd az uTorrent-ével ajánlatos lesz összehasonlítani.



Előny
Hátrány
A µTorrent torrent-kliensprogram helyes ejtése mikrotorrent. Ha interneten keresünk rá, akkor nem lehet µ-t használni, ezért jött a hasonló u betű. µTorrent kliens mindössze 170 KB helyet foglal, és működés közben is csak pár megabájt memóriát fogyaszt. Ez tette nagyon népszerűvé, és széleskörűen elterjedtté ezt a klienst. Külföldi oldala a www.utorrent.com, létezik egy magyar oldala is, bár ez most ideiglenesen nem él, a www.utorrent.hu. Nem véletlenül lett a neve mikrotorrent. Mint mondtam a telepítés nélküli kliens 170 KB méretű, a telepítős pedig 646 KB. Sajnos csak Windows operációs rendszerekre telepíthető.

A telepítés vagy a programindítás után egy üres kép fogad minket, ezért beizzítottam az Azureusnál is használt torrentet.


A le/feltöltésről, a peerekről, a fájlokról információkat az alsó téglalapon található fülek kiválasztásával tudunk elérni. A legelső fül a General, itt főként a hátralévő időről, sebességről, a hozzánk csatlakozó peerekről, illetve a letöltés állapotáról tudhatunk meg információkat.


A Peers fül a hozzánk csatlakozott peerekről ad további részleteket. IP-cím alapján beazonosítja az országot, illetve megmutatja, hogy kiről töltünk le, és kinek töltünk fel főként.


A Pieces fül nagyon hasonlít az Azureus szeletek füléhez, itt is az éppen töltődő fájlszeletekről tudhatunk meg információkat.


A Files fül alatt beállíthatjuk a fájlok prioritását, illetve hogy ha nincs szükségünk néhányra, akkor azok letöltését le is tilthatjuk. Ezt követi a Speed fül, ami grafikusan ábrázolja visszamenőleg is a le- és feltöltési sebességünket.

Mint említettem, a µTorrent számítási- és memóriaszükséglete nagyon alacsony, amit a következő ábra minden kétséget kizáróan bizonyít is.


Ezért a µTorrent elsősroban kétféle felhasználóknak ajánlott, azoknak akiknek régebbi számítógépük van alacsonyabb számítási kapacitásssal, illetve kevesebb memóriával, illetve azoknak, akiknek a tudás helyett fontosabb az egyszerűség, gyorsaság.

Előny
Hátrány
Sokféle kifejezéssel lehet találkozni torrentezés közben, úgyhogy itt található egy kis segítség, ha nem tudjuk mit takar az idegen szó.

DHT (Distributed Hash Table): Lehetővé teszi, hogy a peerek tracker nélkül találják meg egymást. Minden peer tulajdonképpen egy trackerként viselkedik.

Leecher: Azok a kliensek, amik az adott torrentet még lefele töltik, azaz nincs még nekik teljesen letöltve.

Peer: A seederek meg a leecherek együtt.

Seeder: Azok a kliensek, amik az adott torrentet már csak felfele töltik, azaz már teljesen le van nekik töltve.

Swarm: Magyarul boly, a klienshez csatlakozó peerek.

Tracker: Az a szervergép, amin keresztül az ugyanazt a torrentet letöltők "megtalálják" egymást.
Új hozzászólás írásához előbb jelentkezz be!