BitTorrent
A Wikipédiából, a szabad lexikonból.
Protokollok | |
---|---|
Alkalmazási | FTP, HTTP, IMAP, IRC, POP3, SIP, SMTP, SNMP, SSH, Telnet, Bittorrent, ... |
Szállítási | SCTP, TCP, RTP, UDP, IL, RUDP, ... |
Hálózati | IPv4, IPv6, ... |
Adatkapcsolati | Ethernet, Wi-Fi, Token ring, FDDI, PPP, ... |
Fizikai | RS-232, 100Base-TX, 1000Base-TX, 10Base2, 10Base-T, ... |
A BitTorrent egy informatikai protokoll, és az azt használó p2p alapú fájlcserélő szoftver neve. A szoftvert Bram Cohen írta Python nyelven, és a BitTorrent Open Source licenc alatt tette közzé.
A kliensek a fájlokat 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.
Tartalomjegyzék |
[szerkesztés] Fájl megosztása
Fájl megosztásához egy .torrent fájlt kell létrehozni, 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, 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éntek 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 kéne 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.
[szerkesztés] Terminológia
- 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
- torrent
- Jelentheti a meta-fájlt az adatokkal, vagy jelentheti azt a fájlt is, amire hivatkozik, a kö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 (mag, megosztó)
- A seed egy olyan peer, amely már rendelkezik az összes darabkával, de továbbra is megosztja a fájlt. Minél több seed van, annál nagyobb az esélye a sikeres letöltésnek.
- leech (leszívó, letöltő)
- A kifejezést azokra a peerekre használjuk, amelyeknek kifejezetten rossz a feltöltés/letöltés arányuk, vagy elhagyják a bolyt rögtön azután, miután befejezték a letöltést. Ez az általános BitTorrent etikettel ellenkezik. A téves é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.
[szerkesztés] Kliensek
- Azureus egy igen népszerű Java-s kliens, beépített RSS és DHT támogatással.
- BitComet az egyik legnépszerűbb kliens, amelyet C++-ban írtak, így jóval gyorsabb és kisebb processzorterhelést okoz, mint a legtöbb kliens. DHT megoldása kompatibilis az eredeti Bram Cohen által kifejlesztettel – ez az Azureusról nem mondható el. Csak Windowsos kliens.
- KTorrent a KDE grafikus felhasználói környezet saját kliense. Az Azureushoz hasonlóan támogatja a UPnP routerek konfigurációját a tűzfalon való porttovábbításhoz, és jópár torrentkeresőt ismer.
- uTorrent, kicsi és gyors. Kevés erőforrást igényel, maga a program kevesebb, mint 200 Kb, ráadásul telepítést sem igényel.
- FlashGet, A népszerű letöltésvezérlő az 1.82-es változat óta támogatja a BitTorrentet.
- 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ú, kis erőforrásigényű.
- Bitspirit, amely a BitComet fejlesztés egy leágazása.
- Opera, az első böngésző, ami 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.
[szerkesztés] Külső hivatkozások
- BitTorrent Specification A fejlesztők által írt specifikációk.
- Bittorrent Startlap Magyar bittorrent startlap