BitTorrent
TCP/IP protokollhierarchia |
---|
Alkalmazási protokollok |
DHCP · DNS · FTP · HTTP · IMAP · IRC · POP3 · SIP · SMTP · SNMP · SSH · Telnet · BitTorrent |
Szállítási protokollok |
Hálózati protokollok |
Adatkapcsolati protokollok |
Ethernet · Wi-Fi · Token-Ring · FDDI · PPP |
Fizikai protokollok |
RS-232 · 100Base-TX · 1000Base-TX · 10Base2 · 10Base-T |
A BitTorrent, vagy sokszor csak Torrent informatikai protokoll, valamint e protokollt használó p2p alapú fájlcserélő rendszer. A szoftvert Bram Cohen írta Python nyelven, és a BitTorrent Open Source licenc alatt tette közzé.
A kliensek a fájlokat szeletekben (darabokban) töltik le. 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 módszer nagyon jól beválik nagyméretű fájloknál, például videók és nagyobb szoftverek esetében. Ennek az az oka, hogy az ilyen letöltéseknél a szűk keresztmetszetet általában a szerver sávszélessége jelenti. A BitTorrent esetében minél keresettebb egy fájl, annál többen vesznek részt az elosztásában, ezáltal az elosztása gyorsabban megtörténik, mintha mindenki egy központi helyről (szerverről) töltötte volna le. A fájlok darabolásából adódik, hogy a megszakadt letöltések könnyen folytathatóak.
Fájl megosztása
[szerkesztés]![](http://178.128.105.246/content-http-upload.wikimedia.org/wikipedia/commons/3/3d/Torrentcomp_small.gif)
Fájl megosztásához létre kell hozni egy torrent típusú (kiterjesztésű) fájlt, amely az alábbiakat tartalmazza:
- a letöltendő fájl(ok) neve, mérete, és minden egyes fájldarabka ellenőrzőösszege (ezzel lehet ellenőrizni, hogy nem sérült-e a fájldarab),
- a tracker-szerver címe (a trackerről lásd alább),
- néhány egyéb adat.
A .torrent fájl nagy előnye, hogy könnyű másokkal megosztani, mert kicsi a mérete (10-200 kB között), ezért könnyedén felhelyezhető egy honlapra, vagy elküldhető e-mail mellékleteként.
Miután a .torrent fájl generálása megtörtént, a seed fogadja a kéréseket, és kiszolgál más klienseket, amelyek a .torrent fájl alapján felkeresik, többnyire a tracker segítségével. Ez pontos információval rendelkezik arról, hogy mely fájldarabok kinél találhatók meg. A kliens ez alapján felméri, hogy mely darabka a legritkább, és megpróbálja azt letölteni, majd ha az megvan, a következő darabot keresi meg. Így a csomópontok rá vannak kényszerítve a megszerzett darabok cserélgetésére, ezzel tehermentesítik az eredeti forrást. Miután a kliens megszerzett egy darabot, az ellenőrzőösszeg alapján ellenőrzi integritását, ezzel elkerülhető, hogy hibás fájldarabok keringjenek a hálózaton. Ez bekövetkezhet véletlen hibával, de történnek szándékos mérgezések bizonyos zene- és filmkiadók, illetve szerzői jogvédő hivatalok részéről.[1] Ha a kliens teljesen letölti a fájl(oka)t, seeddé válik.
Hátránya a módszernek, hogy ha a seedek nem szolgáltatják tovább a torrentet, akkor az esetleg már nem elérhető a publikált .torrent fájlok ellenére. Esetleg csak fájldarabok keringenek a hálózaton, anélkül, hogy egésszé lehetne azokat összeállítani. Emiatt a BitTorrent inkább csak a népszerű fájlok megosztására alkalmas.
A letöltések optimalizációja érdekében azoknak kellene elsőként letöltési lehetőséget kapni, akik megelőzőleg sokat töltöttek fel. Ehhez minden felhasználóhoz számon kell tartani a letöltés/feltöltés arányt. A protokoll jelenleg ilyen szempontból még nem tökéletes, hiszen a tracker csak a klienstől tudja, hogy mennyit töltött fel, illetve le – a kliens pedig elvileg akár hamis adatokat is küldhet.
Terminológia
[szerkesztés]- availability (elérhetőség)
- A torrent teljes másolatainak száma a kliens számára. Minden seed 1-et ad ehhez a számhoz. Egy csatlakozott peer, amelynek csak töredékek állnak a rendelkezésére, csak egy tört számot ad az elérhetőséghez. Az elérhetőség nem egyszerűen összegzendő mennyiség, két 50% töredékkel rendelkező kliens nem feltétlenül képes a teljes 100% másolat feltöltésére, bár ez szélsőséges esetben elképzelhető. Nem ritka jelenség, hogy több peer is ugyanannál a töredékes állapotnál várakozik, mert a hálózatban nincs jelen olyan feltöltő, akinél a hiányzó darabok meglennének.
- torrent
- Jelentheti a meta-fájlt az adatokkal, vagy jelentheti azt a fájlt is, amire hivatkozik, a szövegkörnyezettől függően.
- peer (csomópont)
- A peer egy másik számítógépen futó kliens, főképp azokat a klienseket értjük ezen, amelyek még nem az egész fájlt, csak részeit birtokolják.
- seed (megosztó)
- A seed egy olyan peer, amely rendelkezik az összes darabkával, és azt megosztja, vissza-, illetve feltölti a fájlt. Minél több seed van, annál nagyobb az esélye a gyors letöltésnek.
- leech (letöltő)
- A kifejezést azokra a peerekre használják, amelyeknek kifejezetten rossz a feltöltés/letöltés arányuk, vagyis elhagyják a bolyt rögtön azután, miután befejezték a letöltést. Ez a viselkedés az általános BitTorrent etikettel és a józan ésszel is ellenkezik. Egy másik értelmezés szerint a leech egy olyan peer, amely még nem rendelkezik minden fájldarabkával.
- swarm (boly)
- Együttesen az összes peert, ami megosztja a .torrent fájlt, nevezzük bolynak. Négy peer és két seed hattagú bolyt jelent.
- tracker (nyomonkövető)
- A tracker egyfajta bróker feladatot lát el: közvetít a peerek között. A trackeren általában nincs meg a fájl, a tracker nem vesz részt az adatcserében.
Seed szerver
[szerkesztés]A seed szerver használata manapság egy lehetőség a torrentezők körében: ugyanolyan torrent kliens üzemel a szolgáltató szerverén (ezt nevezzük seed szervernek), mint amilyet a felhasználók otthoni gépeiken futtatnak, ugyanakkor számos előnye van.[forrás?]
A seed szerver gyenge feltöltési sebességű internetkapcsolat esetén hasznos.
Szolgáltatás két fő részből áll: tárhelyet és internet-sávszélességet biztosítanak, amit az alap internetböngészővel könnyen kezelhető, saját bejáratú távoli asztalt és torrent-klienst használhatunk. A böngészőből előre megadott felhasználónév és jelszó megadása után érhetjük el a lehetőségeket.
Ehhez jár korlátozott mennyiségű szabad fel-, illetve letöltési szál (ezt nevezzük "slot"-oknak). A tárhelyhez sebességkorlátozás nélküli FTP hozzáférést adnak, aminek segítségével a seed szerverre letöltött állományok mozgathatók, törölhetők vagy letölthetők a saját gépre (pl. Total Commanderrel). Ez előnyös a hálózat számára is, hiszen felgyorsul az adatforgalom, ebből kifolyólag több aktív torrentet tudnak kiszolgálni, amikhez több felhasználó csatlakozhat.
Kliensprogramok
[szerkesztés]- BitComet: C++-ban írt program, így gyors és kisebb processzorterhelést okoz, mint a legtöbb kliens. DHT megoldása kompatibilis az eredeti Bram Cohen által kifejlesztettel. Csak Windowson fut.
- Bitspirit: a BitComet fejlesztés egy leágazása.
- BitTornado: Pythonban íródott kliens, így mindenhol fut, ahol a Python fut. Létezik karakteres felülete is, így ideális lehet egy screenben futtatni. Minimalisztikus tudású, de a 3.0.18-as változat már tudja a titkosított átvitelt is. Erőforrást inkább csak a Python miatti használat emészt fel. A TorrentFlux alapértelmezett backendje.
- Deluge:A Deluge egy Pythonban írt, keresztplatformos BitTorrent kliens, amely a libtorrent-re - egy C++-ban írt - szoftverkönyvtárra épít, több platformra elérhető, támogat magnet linkeket is.
- FlashGet: letöltésvezérlő, az 1.82-es változat óta támogatja a BitTorrent protokollt.
- KTorrent: a KDE grafikus felhasználói környezet saját kliense. Támogatja a UPnP routerek konfigurációját a tűzfalon való porttovábbításhoz, és jó pár torrentkeresőt ismer.
- LimeWire: egy másik p2p rendszer, amelybe bele van építve a bittorrent támogatás is. Létezik ingyenes, de fizetős verziója is, ami elméletben gyorsabb kapcsolódást és könnyebb letöltést tesz lehetővé. Legújabb verziója az 5.5.14. 2010. október 26-án az USA bírósága kötelezte a gyártó céget a keresési és fájl fel- és letöltési funkciók letiltására, ezért azóta az 5.5.11 és újabb verziók nem működnek (a régebbiekbe nem volt beépítve a képesség, hogy a gyártó távolról módosítani tudja a működésüket).
- Opera: az első böngésző, ami közvetlenül támogatja a BitTorrent protokollt (a 9.0 verzió óta). (A BitTorrent letöltések ugyanúgy kezelhetők vele, mint a normál (http és ftp alapú) letöltések). Kevesebbet tud a többi kliensnél.
- qBittorrent: egy multiplatformos, libtorrent-rasterbar alapú, Qt4-ben írt torrentkliens. 2006 óta fejlesztik, de 2009 óta kezdett növekvő népszerűségre szert tenni. A fejlesztők célja, egy alacsony erőforrásigényű, nagy tudású kliensprogram készítése, amely felveszi a versenyt a µTorrent-tel.
- rTorrent: linuxos, kicsi, parancssoros torrent kliens. Hátránya, hogy az átlagos felhasználó számára nehezen konfigurálható és billentyűkombinációit meg kell tanulni. Előnye, hogy önmagában nem rendelkezik grafikus felülettel, emiatt nagyon alacsony az erőforrásigénye, valamint több különböző WebUI érhető el hozzá, így könnyen használható távoli gépeken akár egyszerű SSH kapcsolaton keresztül is.
- Tixati: zárt forráskódú kliens. Windows és Linux platformokra jelenik meg. Létezik telepíthető és portable változata is (a portable változat telepítés nélkül használható, akár pendrive-ról is fut).
- Transmission[1]: okos, kicsi és nyílt forrású kliens, multiplatformos.
- Vuze, eredetileg Azureus: Java-s kliens, beépített RSS és DHT támogatással. Torrent kliensből egy médiakezelő alkalmazássá nőtte ki magát megőrizve az eredeti funkciót is.
- µTorrent: kicsi és gyors; az eredeti BitTorrent klienst író cég fejleszti. Népszerűségét annak köszönheti, hogy kevés erőforrást igényel (nagyjából 270 kB a mérete), telepíteni nem szükséges, és támogatja a DHT-t is.
Ha a kliens router és/vagy tűzfal mögött fut, akkor egy szabad portot kell nyitni a program számára, hogy az megfelelően működhessen. A kliensprogramokban lehet korlátozni a leech/seed sebességet, ami egyébként teljes mértében az internetsebességtől függ. Otthoni p2p használathoz ezért ajánlott a széles sávú internetelérés.
Szerzői jogi kérdések
[szerkesztés]A BitTorrent protokollt széles körben használják szerzői jogok megsértésére, ami különböző jogi ügyekhez vezetett. Maga a technológia teljesen jogszerű, azonban ennek használata során szerzői joggal védett anyagokat vagy más törvénytelen anyagot lehet közzétenni. Ezt az állapotot egyesek, főleg szerzői jogvédelemmel foglalkozó szervek képviselői, illetve bizonyos közéleti személyiségek az internet korlátozásával, illetve a BitTorrentet előállítók és az azt használók kriminalizálásával vagy "nevelésével" vélik kivédhetőnek, de ezek a próbálkozások legtöbbször gúny vagy tiltakozás tárgyává válnak, mivel ez a legális internetfelhasználást is ellehetetlenítené, mert a BitTorrent, mint internetes szolgáltatás más internetes szolgáltatásokhoz hasonlóan az internet globális jelenléte miatt bárhonnan elérhető, ezért lokális korlátozással nem lehet megakadályozni a használatát, valamint az ilyen vélemények mögött többen pedig egyszerűen a jogvédelmi szervek megélhetési panaszát vélik kihallani, hisz így ők is elesnek a bevételeiktől – noha nincs közük az általuk kezelt szellemi termékek létrehozásához. Ezenkívül az internet virtuális világában sokszor nehéz meghatározni mi számít szerzői joggal védett műnek és mi nem. Mások (többség?) szerint a jogtulajdonosoknak alkalmazkodniuk kell a jelenkor állapotához, az internet nyújtotta technológiákhoz, elfogadni a BitTorrent létét; akik, ha szeretnének, más módon (is) tudnának bevételre szert tenni, például "becsületkassza" módjára a felhasználóra bízni, hogy az egyébként ingyen és legálisan rendelkezésre bocsátott tartalomért mennyit fizet. Erre néhány külföldi zenekar zenei anyagának ilyen kibocsátása adott példát.
Szabadalmi jogsértés
[szerkesztés]2011. júniusban a Tranz-Send Broadcasting Network pert indított egy amerikai kerületi bíróságon a BitTorrent Inc.ellen szabadalmi jogok 1999. áprilisi megsértése miatt.[2][3]
Jegyzetek
[szerkesztés]- ↑ HBO Attacking BitTorrent. [2007. április 17-i dátummal az eredetiből archiválva]. (Hozzáférés: 2007. január 18.)
- ↑ U.S. Patent 7301944
- ↑ Ernesto. "μTorrent/BitTorrent Sued For Patent Infringement". TorrentFreak, June 19, 2011. Accessed June 20, 2011.
További információk
[szerkesztés]- BitTorrent Specification – A fejlesztők által írt specifikációk
- bittorrent.lap.hu – Linkgyűjtemény
- Torrent segítség – Torrent információk, programok
- Magyar Bittorrent Közösség – Magyar bittorrent közösség
- Michal Czerniawski, Responsibility of BitTorrent Search Engines for Copyright Infringements, at SSRN (2009. december)