BitTorrent

**BitTorrent** – kompiuterinė programa ir protokolas, sukurtas failų perdavimams. Žinoma, jis yra P2P, nes vartotojai susijungia vieni su kitais, siunčia ir gauna failų dalis.

## Protokolas

BitTorrent protokolas yra P2P kilmės, kai vartotojai gali tiesiogiai jungtis vienas su kitu, bei siųsti vieni kitiems duomenis. BitTorrent tinklo veikimas paremtas centrine stotimi (angl. tracker), kuri stebi ir koordinuoja visų vartotojų veiksmus. Centrinė stotis tvarko tik susijungimus, bet neturi jokio ryšio su siunčiama tarp vartotojų informacija, tai leidžia efektyviau panaudoti interneto pralaidumo resursus ir naudotis centrine stotimi dideliam vartotojų kiekiui. Esminis BitTorrent principas yra toks, kad vartotojai tuo pačiu metu, kai gauna duomenis, jau turimus duomenis gali duoti kitiems vartotojams. BitTorrent sukoncentruotas taip, jog didžiausia sparta pasiekiama kai daug vartotojų siunčiasi tą pačią informaciją.

Dalinantis duomenimis BitTorrent tinkle, vartotojas turi sukurti failą .torrent plėtiniu, kuriame pateikiama informacija apie failų pavadinimus, dydžius, *hash* kodus kiekvienam failo segmentui, stebėtojo serverio adresas.
Torrent failai pasiekiami iš interneto svetainių arba el. paštu.

## Panaudojimas teisėtais tikslais
BitTorrent gali naudotis programų kūrėjai, siekiantys sumažinti savo serverių apkrovą. Jei programos kūrėjas siūlo atsisiųsti didelį programos failą, tai jo tinklo pralaidumas gali būti per menkas, kad failą galėtų atsisiųsti visi norintys.

Democracy Now, progresyvi žinių organizacija, šalia įprastinių transliacijos kanalų kabeliniais tinklais ir per palydovus, savo kasdienes televizijos ir radijo laidas platina naudodamiesi Bittorent technologija, kurią taip pat naudoja podcasting'ui. Kompanija Blizzard Entertainment naudoja BitTorrent protokolą platinti World of Warcraft žaidimo atnaujinimus. Keletas Anime kompanijų taip pat naudoja BitTorrent technologiją leisdami reklamines savo filmų ištraukas.

## Terminai
* **Leecher** – klientas, turintis tik dalį failo ar failų grupės, parsisiuntęs failą jis tampa *Seeder*.
* **Peer** – klientas, dalyvaujantis p2p duomenų mainų procese. Peer'sas paprastai neturi pilno failo, nes tada jis būtų vadinamas seeder'iu (dalintoju).
* **Seeder** – klientas, turintis pilną failo ar jų grupės kopiją ir leidžiantis kitiems ją iš jo siųstis.
* **Snubbed** – duomenis išsiunčiantis klientas yra pažymimas kaip *snubbed*, jei parsiunčiantis klientas negauna jokių duomenų per 60 sekundžių.
* **Swarm** – visi klientai, besidalijantys vieno *torrent* failo duomenimis.
* **Torrent** – gali reikšti `.torrent` failą su metaduomenimis apie dalinamus failus arba pačius *torrent* aprašomus failus. *Torrent faile* laikomi *tracker* adresai, failų pavadinimai, jų dydžiai ir *hash*.
* **Tracker** – serveris internete, veikiantis taip, kad kontroliuotų BitTorrent programų veiksmus, stebintis klientus ir jų tarpusavio ryšius.
* **Downloading** – failų gavimas iš kito kompiuterio (Siuntėjai).
* **Uploading** – failų siuntimas į kitą kompiuterį (Skleidėjai).
* **Hash** – apibūdina matematinį veiksmą kai duomenys paverčiami į skaitinę reikšmę, kuri po to gali būti panaudojama duomenų atitikimui patikrinti. Tai reiškia kad duomenys paverčiami į nedidelę įvairių simbolių eilutę. Vėliau panaudojant privatų raktą gautoji duomenų eilutė užkoduojama ir gaunamas parašas.

## Nuorodos
Klientai:
* BitTorrent – originalus BitTorrent tinklo klientas, dar vadinamas „Mainline“
* Azureus
* BitComet
* BitTornado 
* Deluge
* KTorrent
* Transmission
* µTorrent

BitTorrent tinklo specifikacijos:
* BitTorrent.org
* wiki.theory.org